65 lines
2.2 KiB
Python
65 lines
2.2 KiB
Python
import logging
|
|
import sys
|
|
from comfy_api.latest import ComfyExtension
|
|
|
|
# Setup logging for the entire package
|
|
log = logging.getLogger("ComfyUI-Text-Driven-Workflows")
|
|
if not log.handlers:
|
|
h = logging.StreamHandler(sys.stdout)
|
|
h.setFormatter(logging.Formatter("[TextDrivenWorkflows] %(levelname)s: %(message)s"))
|
|
log.addHandler(h)
|
|
log.setLevel(logging.INFO)
|
|
|
|
_NODES = []
|
|
WEB_DIRECTORY = "web"
|
|
# Import individual node modules (Snake Case naming convention)
|
|
try:
|
|
# Import Join Strings node
|
|
from .nodes import text_nodes_join_strings
|
|
_NODES.append(text_nodes_join_strings.JoinStrings)
|
|
|
|
# Import Math (Int) node
|
|
from .nodes import math_nodes_int
|
|
_NODES.append(math_nodes_int.MathInt)
|
|
|
|
# Import Multi Prompts node
|
|
from .nodes import text_nodes_multi_prompts
|
|
_NODES.append(text_nodes_multi_prompts.MultiPromptsTextDriven)
|
|
|
|
# Import Prompt Line node
|
|
from .nodes import text_nodes_prompt_line
|
|
_NODES.append(text_nodes_prompt_line.PromptLine)
|
|
|
|
# Import Prompt Token Counter node
|
|
from .nodes import text_nodes_token_counter
|
|
_NODES.append(text_nodes_token_counter.PromptTokenCounterTextDriven)
|
|
|
|
# Import Resolution Selector node
|
|
from .nodes import text_nodes_resolution_selector
|
|
_NODES.append(text_nodes_resolution_selector.ResolutionSelector)
|
|
|
|
# Import Single Prompt node
|
|
from .nodes import text_nodes_single_prompt
|
|
_NODES.append(text_nodes_single_prompt.SinglePrompt)
|
|
|
|
# Import Text Line Prompt node
|
|
from .nodes import text_nodes_text_line_prompt
|
|
_NODES.append(text_nodes_text_line_prompt.TextLinePromptTextDriven)
|
|
|
|
# Import Text Line Selector node
|
|
from .nodes import text_nodes_text_line_selector
|
|
_NODES.append(text_nodes_text_line_selector.TextLineSelector)
|
|
|
|
log.info(f"Successfully loaded {len(_NODES)} nodes.")
|
|
except Exception as e:
|
|
log.error(f"Failed to load nodes: {e}")
|
|
|
|
class TextDrivenWorkflowsExtension(ComfyExtension):
|
|
"""
|
|
Unified extension class for ComfyUI Text-Driven Workflows.
|
|
"""
|
|
async def get_node_list(self) -> list:
|
|
return _NODES
|
|
|
|
async def comfy_entrypoint():
|
|
return TextDrivenWorkflowsExtension() |