Files
CosmicLaca-ComfyUI_Primere_…/__init__.py
T

266 lines
12 KiB
Python

import os
from pathlib import Path
from .components import primereserver
from .utils import comfy_dir
from .utils import here
from .Nodes import Dashboard
from .Nodes import Rasterix
from .Nodes import Inputs
from .Nodes import Styles
from .Nodes import Outputs
from .Nodes import Visuals
from .Nodes import Networks
from .Nodes import Segments
from .Nodes import Uniapi
import shutil
__version__ = "2.0.0"
comfy_frontend = os.path.join(comfy_dir, 'web', 'extensions')
frontend_target = os.path.join(comfy_frontend, 'Primere')
frontend_preview_target = os.path.join(comfy_frontend, 'PrimerePreviews', 'images')
frontend_source = os.path.join(here, 'front_end')
is_frontend_symlinked = False
WEB_DIRECTORY = "./front_end"
__all__ = ['NODE_CLASS_MAPPINGS', 'WEB_DIRECTORY']
nodes = []
IGNORE_FRONTEND = ['fonts', 'keywords', 'jquery', 'vendor']
mainDirs = list(os.walk(frontend_source))[0][1]
valid_FElist = [s for s in mainDirs if s not in IGNORE_FRONTEND] + [frontend_source]
for subdirs in valid_FElist:
scanPath = os.path.join(frontend_source, subdirs)
scanFiles = list(Path(scanPath).glob('*.js')) + list(Path(scanPath).glob('api_schemas.json')) + list(Path(scanPath).glob('*.map')) + list(Path(scanPath).glob('*.css')) + list(Path(scanPath).glob('*.jpg'))
for regFile in scanFiles:
nodes.append(regFile)
NODE_CLASS_MAPPINGS = {
"PrimereSamplersSteps": Dashboard.PrimereSamplersSteps,
"PrimereModelControl": Dashboard.PrimereModelControl,
"PrimereVAE": Dashboard.PrimereVAE,
"PrimereCKPT": Dashboard.PrimereCKPT,
"PrimereVAELoader": Dashboard.PrimereVAELoader,
"PrimereCKPTLoader": Dashboard.PrimereCKPTLoader,
"PrimerePromptSwitch": Dashboard.PrimerePromptSwitch,
"PrimereSeed": Dashboard.PrimereSeed,
"PrimereFastSeed": Dashboard.PrimereFastSeed,
"PrimereLatentNoise": Dashboard.PrimereFractalLatent,
"PrimereCLIPEncoder": Dashboard.PrimereCLIP,
"PrimereResolution": Dashboard.PrimereResolution,
"PrimereClearNetworkTagsPrompt": Dashboard.PrimereClearNetworkTagsPrompt,
"PrimereDiTPurifyPrompt": Dashboard.PrimereDiTPurifyPrompt,
"PrimereModelConceptSelector": Dashboard.PrimereModelConceptSelector,
"PrimereConceptDataTuple": Dashboard.PrimereConceptDataTuple,
"PrimereResolutionMultiplierMPX": Dashboard.PrimereResolutionMultiplierMPX,
"PrimereResolutionCoordinatorMPX": Dashboard.PrimereResolutionCoordinatorMPX,
"PrimereNetworkTagLoader": Dashboard.PrimereNetworkTagLoader,
"PrimereModelKeyword": Dashboard.PrimereModelKeyword,
"PrimereUpscaleModel": Dashboard.PrimereUpscaleModel,
"PrimereRasterix": Rasterix.PrimereRasterix,
"PrimereAutoNormalize": Rasterix.PrimereAutoNormalize,
"PrimereWhiteBalance": Rasterix.PrimereWhiteBalance,
"PrimereSmartLighting": Rasterix.PrimereSmartLighting,
"PrimereBlur": Rasterix.PrimereBlur,
"PrimereBrightnessContrast": Rasterix.PrimereBrightnessContrast,
"PrimereFilmRendering": Rasterix.PrimereFilmRendering,
"PrimereSelectiveTone": Rasterix.PrimereSelectiveTone,
"PrimereColorBalance": Rasterix.PrimereColorBalance,
"PrimereHSL": Rasterix.PrimereHSL,
"PrimereShadeDetailer": Rasterix.PrimereShadeDetailer,
"PrimereLevelEndpoints": Rasterix.PrimereLevelEndpoints,
"PrimerePosterize": Rasterix.PrimerePosterize,
"PrimereDithering": Rasterix.PrimereDithering,
"PrimereAIDetectionBypasser": Rasterix.PrimereAIDetectionBypasser,
"PrimereRasterixGrain": Rasterix.PrimereRasterixGrain,
"PrimereRasterixLens": Rasterix.PrimereRasterixLens,
"PrimereSolarizationBW": Rasterix.PrimereSolarizationBW,
"PrimereClarity": Rasterix.PrimereClarity,
"PrimereHistogram": Rasterix.PrimereHistogram,
"PrimereDehaze": Rasterix.PrimereDehaze,
"PrimereLocalLaplacian": Rasterix.PrimereLocalLaplacian,
"PrimereFrequencySeparation": Rasterix.PrimereFrequencySeparation,
"PrimereFilmicCurve": Rasterix.PrimereFilmicCurve,
"PrimereLUT3D": Rasterix.PrimereLUT3D,
"PrimereEdgeJitter": Rasterix.PrimereEdgeJitter,
"PrimereDepthBlur": Rasterix.PrimereDepthBlur,
"PrimerePrompt": Inputs.PrimereDoublePrompt,
"PrimereStyleLoader": Inputs.PrimereStyleLoader,
"PrimereDynamicParser": Inputs.PrimereDynParser,
"PrimereEmbeddingHandler": Inputs.PrimereEmbeddingHandler,
"PrimereLoraStackMerger": Inputs.PrimereLoraStackMerger,
"PrimereLoraKeywordMerger": Inputs.PrimereLoraKeywordMerger,
"PrimereEmbeddingKeywordMerger": Inputs.PrimereEmbeddingKeywordMerger,
"PrimereLycorisStackMerger": Inputs.PrimereLycorisStackMerger,
"PrimereLycorisKeywordMerger": Inputs.PrimereLycorisKeywordMerger,
"PrimereRefinerPrompt": Inputs.PrimereRefinerPrompt,
"PrimerePromptOrganizer": Inputs.PrimerePromptOrganizer,
"PrimerePromptOrganizerCSV": Inputs.PrimerePromptOrganizerCSV,
"PrimereMetaHandler": Inputs.PrimereMetaHandler,
"PrimereMetaDistributor": Inputs.PrimereMetaDistributor,
"PrimereMetaDistributorStage2": Inputs.PrimereMetaDistributorStage2,
"PrimereNetworkDataCollector": Inputs.PrimereNetworkDataCollector,
"PrimereMetaTupleCollector": Inputs.PrimereMetaTupleCollector,
"PrimereLLMEnhancer": Inputs.PrimereLLMEnhancer,
"PrimereLLMEnhancerOptions": Inputs.PrimereLLMEnhancerOptions,
"PrimereImgToPrompt": Inputs.PrimereImgToPrompt,
"PrimereMultiImage": Inputs.PrimereMultiImage,
"PrimereMetaSave": Outputs.PrimereMetaSave,
"PrimereAnyOutput": Outputs.PrimereAnyOutput,
"PrimereTextOutput": Outputs.PrimereTextOutput,
"PrimereMetaCollector": Outputs.PrimereMetaCollector,
"PrimereKSampler": Outputs.PrimereKSampler,
"PrimerePreviewImage": Outputs.PrimerePreviewImage,
"PrimereAestheticCKPTScorer": Outputs.PrimereAestheticCKPTScorer,
"DebugToFile": Outputs.DebugToFile,
"PrimereStylePile": Styles.PrimereStylePile,
"PrimereMidjourneyStyles": Styles.PrimereMidjourneyStyles,
"PrimereEmotionsStyles": Styles.PrimereEmotionsStyles,
"PrimereLensStyles": Styles.PrimereLensStyles,
"PrimereVisualCKPT": Visuals.PrimereVisualCKPT,
"PrimereVisualLORA": Visuals.PrimereVisualLORA,
"PrimereVisualEmbedding": Visuals.PrimereVisualEmbedding,
"PrimereVisualHypernetwork": Visuals.PrimereVisualHypernetwork,
"PrimereVisualStyle": Visuals.PrimereVisualStyle,
"PrimereVisualLYCORIS": Visuals.PrimereVisualLYCORIS,
"PrimereVisualPromptOrganizerCSV": Visuals.PrimereVisualPromptOrganizerCSV,
"PrimereLORA": Networks.PrimereLORA,
"PrimereEmbedding": Networks.PrimereEmbedding,
"PrimereHypernetwork": Networks.PrimereHypernetwork,
"PrimereLYCORIS": Networks.PrimereLYCORIS,
"PrimereImageSegments": Segments.PrimereImageSegments,
"PrimereAnyDetailer": Segments.PrimereAnyDetailer,
"PrimereFaceAnalyzer": Segments.PrimereFaceAnalyzer,
"PrimereApiProcessor": Uniapi.PrimereApiProcessor
}
NODE_DISPLAY_NAME_MAPPINGS = {
"PrimereSamplersSteps": "Primere Samplers & Steps & Cfg",
"PrimereModelControl": "Primere Primere ModelControl",
"PrimereVAE": "Primere VAE Selector",
"PrimereCKPT": "Primere CKPT Selector",
"PrimereVAELoader": "Primere VAE Loader",
"PrimereCKPTLoader": "Primere CKPT Loader",
"PrimerePromptSwitch": "Primere Prompt Switch",
"PrimereSeed": 'Primere Seed',
"PrimereFastSeed": "Primere Fast Seed",
"PrimereLatentNoise": "Primere Noise Latent",
"PrimereCLIPEncoder": "Primere Prompt Encoder",
"PrimereResolution": "Primere Resolution",
"PrimereClearNetworkTagsPrompt": "Primere Network Tag Cleaner",
"PrimereDiTPurifyPrompt": "Primere DiT Purify Prompt",
"PrimereModelConceptSelector": "Primere Model Concept Selector",
"PrimereResolutionMultiplierMPX": "Primere Resolution MPX",
"PrimereResolutionCoordinatorMPX": "Primere Resolution Coordinator",
"PrimereNetworkTagLoader": 'Primere Network Tag Loader',
"PrimereModelKeyword": "Primere Model Keyword",
"PrimereConceptDataTuple": "Primere Concept Tuple",
"PrimereUpscaleModel": "Primere Upscale Models",
"PrimereRasterix": "Primere Rasterix (The ToneLab)",
"PrimereAutoNormalize": "Primere Rasterix (Auto Normalize)",
"PrimereWhiteBalance": "Primere Rasterix (White Balance)",
"PrimereSmartLighting": "Primere Rasterix (Smart Lighting)",
"PrimereBlur": "Primere Rasterix (Blur)",
"PrimereBrightnessContrast": "Primere Rasterix (Brightness Contrast)",
"PrimereFilmRendering": "Primere Rasterix (Film Rendering)",
"PrimereSelectiveTone": "Primere Rasterix (Selective Tone)",
"PrimereColorBalance": "Primere Rasterix (Color Balance)",
"PrimereHSL": "Primere Rasterix (HSL)",
"PrimereShadeDetailer": "Primere Rasterix (Shade Detailer)",
"PrimereLevelEndpoints": "Primere Rasterix (Level Endpoints)",
"PrimerePosterize": "Primere Rasterix (Posterize)",
"PrimereDithering": "Primere Rasterix (Dithering)",
"PrimereAIDetectionBypasser": "Primere Rasterix (AI Detection Bypasser)",
"PrimereRasterixGrain": "Primere Rasterix (Grain)",
"PrimereRasterixLens": "Primere Rasterix (Lens)",
"PrimereSolarizationBW": "Primere Rasterix (Solarization)",
"PrimereClarity": "Primere Rasterix (Clarity)",
"PrimereHistogram": "Primere Rasterix (Histogram)",
"PrimereDehaze": "Primere Rasterix (Dehaze)",
"PrimereLocalLaplacian": "Primere Rasterix (Local Laplacian)",
"PrimereFrequencySeparation": "Primere Rasterix (Frequency Separation)",
"PrimereFilmicCurve": "Primere Rasterix (Filmic Curve)",
"PrimereLUT3D": "Primere Rasterix (LUT 3D)",
"PrimereEdgeJitter": "Primere Rasterix (Edge Jitter)",
"PrimereDepthBlur": "Primere Rasterix (Depth Blur)",
"PrimerePrompt": "Primere Prompt",
"PrimereStyleLoader": "Primere Styles",
"PrimereDynamicParser": "Primere Dynamic",
"PrimereEmbeddingHandler": "Primere Embedding Handler",
"PrimereLoraStackMerger": "Primere Lora Stack Merger",
"PrimereLoraKeywordMerger": 'Primere Lora Keyword Merger',
"PrimereEmbeddingKeywordMerger": "Primere Embedding Keyword Merger",
"PrimereLycorisStackMerger": 'Primere Lycoris Stack Merger',
"PrimereLycorisKeywordMerger": 'Primere Lycoris Keyword Merger',
"PrimereRefinerPrompt": "Primere Refiner Prompt",
"PrimerePromptOrganizer": "Primere Prompt Organizer - TOML",
"PrimerePromptOrganizerCSV": "Primere Prompt Organizer - CSV",
"PrimereMetaHandler": "Primere Image Recycler",
"PrimereMetaDistributor": "Primere Meta Distributor",
"PrimereMetaDistributorStage2": "Primere Meta Distributor Stage 2",
"PrimereNetworkDataCollector": "Primere Network Data Collector",
"PrimereMetaTupleCollector": "Primere Meta Tuple Collector",
"PrimereLLMEnhancer": "Primere LLM Enhancer",
"PrimereLLMEnhancerOptions": "Primere LLM Options",
"PrimereImgToPrompt": "Primere Img2Prompt",
"PrimereMultiImage": "Primere Multi Image",
"PrimereMetaSave": "Primere Image Meta Saver",
"PrimereAnyOutput": "Primere Any Debug",
"PrimereTextOutput": "Primere Text Ouput",
"PrimereMetaCollector": "Primere Meta Collector",
"PrimereKSampler": "Primere KSampler",
"PrimerePreviewImage": "Primere Image Preview and Save as...",
"PrimereAestheticCKPTScorer": "Primere Aesthetic Scorer",
"DebugToFile": "Primere Debug To File",
"PrimereStylePile": "Primere Style Pile",
"PrimereMidjourneyStyles": "Primere Midjourney Styles",
"PrimereEmotionsStyles": "Primere Emotions Styles",
"PrimereLensStyles": "Primere Lens Styles",
"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',
"PrimereVisualLYCORIS": 'Primere Visual LYCORIS Selector',
"PrimereVisualPromptOrganizerCSV": 'Primere Visual Prompt CSV',
"PrimereLORA": 'Primere LORA',
"PrimereEmbedding": 'Primere Embedding',
"PrimereHypernetwork": 'Primere Hypernetwork',
"PrimereLYCORIS": 'Primere LYCORIS',
"PrimereImageSegments": 'Primere Image Segments',
"PrimereAnyDetailer": 'Primere Any Detailer',
"PrimereFaceAnalyzer": "Primere Face Analyzer",
"PrimereApiProcessor": "Primere Api Processor"
}
def init_sentry():
sentry_dsn = os.environ.get("SENTRY_DSN")
app_env = os.environ.get("APP_ENV", "local")
if sentry_dsn and app_env:
import sentry_sdk
sentry_sdk.init(
sentry_dsn,
environment=app_env,
send_default_pii=True,
)
init_sentry()