48 lines
1.4 KiB
Python
48 lines
1.4 KiB
Python
import logging
|
|
|
|
from .debug_utils import configure_logger, DEBUG_ENABLED
|
|
|
|
log = configure_logger("ComfyUI-Subworkflow")
|
|
log.info("[Subworkflow] module load started")
|
|
|
|
from comfy_api.latest import ComfyExtension, io
|
|
|
|
from .nodes import SubworkflowInput, SubworkflowOutput, SubworkflowModifier
|
|
from .workflow_node import (
|
|
Subworkflow,
|
|
SubworkflowFromURL,
|
|
SubworkflowModifierSource,
|
|
SubworkflowModifierSourceFromURL,
|
|
)
|
|
from . import server_routes
|
|
|
|
WEB_DIRECTORY = "./js"
|
|
|
|
log.debug("[Subworkflow] all imports OK")
|
|
log.info("[Subworkflow] debug logging %s", "enabled" if DEBUG_ENABLED else "disabled")
|
|
|
|
|
|
class SubworkflowExtension(ComfyExtension):
|
|
async def get_node_list(self) -> list[type[io.ComfyNode]]:
|
|
nodes = [
|
|
Subworkflow,
|
|
SubworkflowFromURL,
|
|
SubworkflowModifierSource,
|
|
SubworkflowModifierSourceFromURL,
|
|
SubworkflowInput,
|
|
SubworkflowOutput,
|
|
SubworkflowModifier,
|
|
]
|
|
log.debug("[Subworkflow] registering V3 nodes: %s",
|
|
[n.__name__ for n in nodes])
|
|
return nodes
|
|
|
|
async def on_load(self):
|
|
server_routes.setup_routes()
|
|
log.debug("[Subworkflow] server routes registered")
|
|
|
|
|
|
async def comfy_entrypoint() -> SubworkflowExtension:
|
|
log.debug("[Subworkflow] comfy_entrypoint called")
|
|
return SubworkflowExtension()
|