136 lines
5.6 KiB
Python
136 lines
5.6 KiB
Python
import os
|
|
from .utils import comfy_dir
|
|
from .utils import here
|
|
|
|
from .Nodes import Dashboard
|
|
from .Nodes import Inputs
|
|
from .Nodes import Styles
|
|
from .Nodes import Outputs
|
|
from .Nodes import Visuals
|
|
from .Nodes import Networks
|
|
|
|
__version__ = "0.1.2"
|
|
|
|
comfy_frontend = comfy_dir/"web"/"extensions"
|
|
frontend_target = comfy_frontend/"Primere"
|
|
|
|
if frontend_target.exists() == False:
|
|
# print(f"Primere front-end folder found at {frontend_target}")
|
|
# if not os.path.islink(frontend_target.as_posix()):
|
|
# print(f"Primere front-end folder at {frontend_target} is not a symlink, if updating please delete it before")
|
|
|
|
# elif comfy_frontend.exists():
|
|
frontend_source = here/"front_end"
|
|
src = frontend_source.as_posix()
|
|
dst = frontend_target.as_posix()
|
|
|
|
try:
|
|
if os.name == "nt":
|
|
import _winapi
|
|
_winapi.CreateJunction(src, dst)
|
|
else:
|
|
os.symlink(frontend_source.as_posix(), frontend_target.as_posix())
|
|
print(f"Primere front-end folder symlinked to {frontend_target}")
|
|
|
|
except OSError:
|
|
print(f"Failed to create frint-end symlink to {frontend_target}, trying to copy it")
|
|
try:
|
|
import shutil
|
|
shutil.copytree(frontend_source, frontend_target)
|
|
print(f"Successfully copied {frontend_source} to {frontend_target}")
|
|
except Exception as e:
|
|
print(f"Failed to symlink and copy {frontend_source} to {frontend_target}. Please copy the folder manually.")
|
|
except Exception as e:
|
|
print(f"Failed to create symlink to {frontend_target}. Please copy the folder manually.")
|
|
# else:
|
|
# print(f"Comfy root probably not found automatically, please copy the folder {frontend_target} manually in the web/extensions folder of ComfyUI")
|
|
|
|
NODE_CLASS_MAPPINGS = {
|
|
"PrimereSamplers": Dashboard.PrimereSamplers,
|
|
"PrimereVAE": Dashboard.PrimereVAE,
|
|
"PrimereCKPT": Dashboard.PrimereCKPT,
|
|
"PrimereVAELoader": Dashboard.PrimereVAELoader,
|
|
"PrimereCKPTLoader": Dashboard.PrimereCKPTLoader,
|
|
"PrimerePromptSwitch": Dashboard.PrimerePromptSwitch,
|
|
"PrimereSeed": Dashboard.PrimereSeed,
|
|
"PrimereLatentNoise": Dashboard.PrimereFractalLatent,
|
|
"PrimereCLIPEncoder": Dashboard.PrimereCLIP,
|
|
"PrimereResolution": Dashboard.PrimereResolution,
|
|
"PrimereStepsCfg": Dashboard.PrimereStepsCfg,
|
|
"PrimereClearPrompt": Dashboard.PrimereClearPrompt,
|
|
"PrimereLCMSelector": Dashboard.PrimereLCMSelector,
|
|
"PrimereResolutionMultiplier": Dashboard.PrimereResolutionMultiplier,
|
|
"PrimereNetworkTagLoader": Dashboard.PrimereNetworkTagLoader,
|
|
"PrimereModelKeyword": Dashboard.PrimereModelKeyword,
|
|
|
|
"PrimerePrompt": Inputs.PrimereDoublePrompt,
|
|
"PrimereStyleLoader": Inputs.PrimereStyleLoader,
|
|
"PrimereDynamicParser": Inputs.PrimereDynParser,
|
|
"PrimereVAESelector": Inputs.PrimereVAESelector,
|
|
"PrimereMetaRead": Inputs.PrimereMetaRead,
|
|
"PrimereEmbeddingHandler": Inputs.PrimereEmbeddingHandler,
|
|
"PrimereLoraStackMerger": Inputs.PrimereLoraStackMerger,
|
|
"PrimereLoraKeywordMerger": Inputs.PrimereLoraKeywordMerger,
|
|
"PrimereEmbeddingKeywordMerger": Inputs.PrimereEmbeddingKeywordMerger,
|
|
|
|
"PrimereMetaSave": Outputs.PrimereMetaSave,
|
|
"PrimereAnyOutput": Outputs.PrimereAnyOutput,
|
|
"PrimereTextOutput": Outputs.PrimereTextOutput,
|
|
|
|
"PrimereStylePile": Styles.PrimereStylePile,
|
|
|
|
"PrimereVisualCKPT": Visuals.PrimereVisualCKPT,
|
|
"PrimereVisualLORA": Visuals.PrimereVisualLORA,
|
|
"PrimereVisualEmbedding": Visuals.PrimereVisualEmbedding,
|
|
"PrimereVisualHypernetwork": Visuals.PrimereVisualHypernetwork,
|
|
"PrimereVisualStyle": Visuals.PrimereVisualStyle,
|
|
|
|
"PrimereLORA": Networks.PrimereLORA,
|
|
"PrimereEmbedding": Networks.PrimereEmbedding,
|
|
"PrimereHypernetwork": Networks.PrimereHypernetwork,
|
|
}
|
|
|
|
NODE_DISPLAY_NAME_MAPPINGS = {
|
|
"PrimereSamplers": "Primere Sampler Selector",
|
|
"PrimereVAE": "Primere VAE Selector",
|
|
"PrimereCKPT": "Primere CKPT Selector",
|
|
"PrimereVAELoader": "Primere VAE Loader",
|
|
"PrimereCKPTLoader": "Primere CKPT Loader",
|
|
"PrimerePromptSwitch": "Primere Prompt Switch",
|
|
"PrimereSeed": 'Primere Seed',
|
|
"PrimereLatentNoise": "Primere Noise Latent",
|
|
"PrimereCLIPEncoder": "Primere Prompt Encoder",
|
|
"PrimereResolution": "Primere Resolution",
|
|
"PrimereStepsCfg": "Primere Steps & Cfg",
|
|
"PrimereClearPrompt": "Primere Prompt Cleaner",
|
|
"PrimereLCMSelector": "Primere LCM selector",
|
|
"PrimereResolutionMultiplier": "Primere Resolution Multiplier",
|
|
"PrimereNetworkTagLoader": 'Primere Network Tag Loader',
|
|
"PrimereModelKeyword": "Primere Model Keyword",
|
|
|
|
"PrimerePrompt": "Primere Prompt",
|
|
"PrimereStyleLoader": "Primere Styles",
|
|
"PrimereDynamicParser": "Primere Dynamic",
|
|
"PrimereVAESelector": "Primere VAE Selector",
|
|
"PrimereMetaRead": "Primere Exif Reader",
|
|
"PrimereEmbeddingHandler": "Primere Embedding Handler",
|
|
"PrimereLoraStackMerger": "Primere Lora Stack Merger",
|
|
"PrimereLoraKeywordMerger": 'Primere Lora Keyword Merger',
|
|
"PrimereEmbeddingKeywordMerger": "Primere Embedding Keyword Merger",
|
|
|
|
"PrimereMetaSave": "Primere Image Meta Saver",
|
|
"PrimereAnyOutput": "Primere Any Debug",
|
|
"PrimereTextOutput": "Primere Text Ouput",
|
|
|
|
"PrimereStylePile": "Primere Style Pile",
|
|
|
|
"PrimereVisualCKPT": "Primere Visual CKPT Selector",
|
|
"PrimereVisualLORA": "Primere Visual LORA Selector",
|
|
"PrimereVisualEmbedding": 'Primere Visual Embedding Selector',
|
|
"PrimereVisualHypernetwork": 'Primere Visual Hypernetwork Selector',
|
|
"PrimereVisualStyle": 'Primere Visual Style Selector',
|
|
|
|
"PrimereLORA": 'Primere LORA',
|
|
"PrimereEmbedding": 'Primere Embedding',
|
|
"PrimereHypernetwork": 'Primere Hypernetwork',
|
|
} |