mirror of
https://github.com/comfyanonymous/ComfyUI.git
synced 2025-07-27 08:16:44 +00:00
Made id on static Outputs optional, still required on DynamicOutput
This commit is contained in:
parent
fe2cadeaa0
commit
5423a4f262
@ -211,7 +211,7 @@ class WidgetInputV3(InputV3):
|
||||
|
||||
|
||||
class OutputV3(IO_V3):
|
||||
def __init__(self, id: str, display_name: str=None, tooltip: str=None,
|
||||
def __init__(self, id: str=None, display_name: str=None, tooltip: str=None,
|
||||
is_output_list=False):
|
||||
self.id = id
|
||||
self.display_name = display_name
|
||||
@ -790,6 +790,10 @@ class DynamicOutput(OutputV3, ABC):
|
||||
'''
|
||||
Abstract class for dynamic output registration.
|
||||
'''
|
||||
def __init__(self, id: str, display_name: str=None, tooltip: str=None,
|
||||
is_output_list=False):
|
||||
super().__init__(id, display_name, tooltip, is_output_list)
|
||||
|
||||
@abstractmethod
|
||||
def get_dynamic(self) -> list[OutputV3]:
|
||||
...
|
||||
@ -991,7 +995,7 @@ class SchemaV3:
|
||||
raise ValueError("\n".join(issues))
|
||||
|
||||
def finalize(self):
|
||||
"""Add hidden based on selected schema options."""
|
||||
"""Add hidden based on selected schema options, and give outputs without ids default ids."""
|
||||
# if is an api_node, will need key-related hidden
|
||||
if self.is_api_node:
|
||||
if self.hidden is None:
|
||||
@ -1008,6 +1012,11 @@ class SchemaV3:
|
||||
self.hidden.append(Hidden.prompt)
|
||||
if Hidden.extra_pnginfo not in self.hidden:
|
||||
self.hidden.append(Hidden.extra_pnginfo)
|
||||
# give outputs without ids default ids
|
||||
if self.outputs is not None:
|
||||
for i, output in enumerate(self.outputs):
|
||||
if output.id is None:
|
||||
output.id = f"_{i}_{output.io_type}_"
|
||||
|
||||
|
||||
class Serializer:
|
||||
|
@ -62,8 +62,8 @@ class V3TestNode(io.ComfyNodeV3):
|
||||
# ]]
|
||||
],
|
||||
outputs=[
|
||||
io.Int.Output("int_output"),
|
||||
io.Image.Output("img_output", display_name="img🖼️", tooltip="This is an image"),
|
||||
io.Int.Output(),
|
||||
io.Image.Output(display_name="img🖼️", tooltip="This is an image"),
|
||||
],
|
||||
hidden=[
|
||||
io.Hidden.prompt,
|
||||
@ -142,8 +142,8 @@ class V3LoraLoader(io.ComfyNodeV3):
|
||||
),
|
||||
],
|
||||
outputs=[
|
||||
io.Model.Output("model_out"),
|
||||
io.Clip.Output("clip_out"),
|
||||
io.Model.Output(),
|
||||
io.Clip.Output(),
|
||||
],
|
||||
)
|
||||
|
||||
@ -169,7 +169,7 @@ class NInputsTest(io.ComfyNodeV3):
|
||||
io.AutogrowDynamic.Input("nmock2", template_input=io.Int.Input("int"), optional=True, min=1, max=4),
|
||||
],
|
||||
outputs=[
|
||||
io.Image.Output("image_out"),
|
||||
io.Image.Output(),
|
||||
],
|
||||
)
|
||||
|
||||
|
@ -87,7 +87,7 @@ class PreviewImage_V3(io.ComfyNodeV3):
|
||||
|
||||
@classmethod
|
||||
def execute(cls, images):
|
||||
return io.NodeOutput(ui=ui.PreviewImage(images))
|
||||
return io.NodeOutput(ui=ui.PreviewImage(images, cls=cls))
|
||||
|
||||
|
||||
class LoadImage_V3(io.ComfyNodeV3):
|
||||
@ -107,12 +107,8 @@ class LoadImage_V3(io.ComfyNodeV3):
|
||||
),
|
||||
],
|
||||
outputs=[
|
||||
io.Image.Output(
|
||||
"IMAGE",
|
||||
),
|
||||
io.Mask.Output(
|
||||
"MASK",
|
||||
),
|
||||
io.Image.Output(),
|
||||
io.Mask.Output(),
|
||||
],
|
||||
)
|
||||
|
||||
@ -207,12 +203,8 @@ class LoadImageOutput_V3(io.ComfyNodeV3):
|
||||
),
|
||||
],
|
||||
outputs=[
|
||||
io.Image.Output(
|
||||
"IMAGE",
|
||||
),
|
||||
io.Mask.Output(
|
||||
"MASK",
|
||||
),
|
||||
io.Image.Output(),
|
||||
io.Mask.Output(),
|
||||
],
|
||||
)
|
||||
|
||||
|
@ -39,7 +39,7 @@ class WebcamCapture_V3(io.ComfyNodeV3):
|
||||
io.Boolean.Input("capture_on_queue", default=True),
|
||||
],
|
||||
outputs=[
|
||||
io.Image.Output("IMAGE"),
|
||||
io.Image.Output(),
|
||||
],
|
||||
)
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user