Files

50 lines
1.6 KiB
Python

"""The ComfyUI-KEEP custom node package (V3 entry point - P4.4).
The package registers itself as a **V3 extension**: the module level
``comfy_entrypoint`` returns a ``ComfyExtension`` that lists the three node
classes. The V1 mappings are **gone** on purpose: ComfyUI checks the V1
mappings first (``nodes.py:2305``) and would silently skip the V3 extension
of a package that exports both.
The node ids, the display names and the category stay the same either way -
the V3 schema of the nodes carries them.
"""
from comfy_api.latest import ComfyExtension, io
from .src.keep_logger import logger
from .src import keep_paths
from .nodes import (
KEEP_FaceUpscaleImageNode,
KEEP_ModelLoaderNode,
KEEP_ProcessImageSequenceNode,
)
# P3.5: the model folders of the pack (``keep_models``, ``facedetection`` and
# ``gmflow``) are registered with ComfyUI's ``folder_paths``, so every weight
# path is resolved by the host.
keep_paths.register_model_folders()
class KEEPExtension(ComfyExtension):
"""The V3 extension of the KEEP pack."""
async def on_load(self) -> None:
"""Nothing to do - the model folders are registered at import time."""
async def get_node_list(self) -> list[type[io.ComfyNode]]:
"""The three node classes of the pack."""
return [
KEEP_ModelLoaderNode,
KEEP_FaceUpscaleImageNode,
KEEP_ProcessImageSequenceNode,
]
async def comfy_entrypoint() -> KEEPExtension:
"""The entry point ComfyUI calls (the V3 way)."""
return KEEPExtension()
__all__ = ["KEEPExtension", "comfy_entrypoint", "logger"]