mirror of
https://github.com/comfyanonymous/ComfyUI.git
synced 2025-07-27 16:26:39 +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):
|
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):
|
is_output_list=False):
|
||||||
self.id = id
|
self.id = id
|
||||||
self.display_name = display_name
|
self.display_name = display_name
|
||||||
@ -790,6 +790,10 @@ class DynamicOutput(OutputV3, ABC):
|
|||||||
'''
|
'''
|
||||||
Abstract class for dynamic output registration.
|
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
|
@abstractmethod
|
||||||
def get_dynamic(self) -> list[OutputV3]:
|
def get_dynamic(self) -> list[OutputV3]:
|
||||||
...
|
...
|
||||||
@ -991,7 +995,7 @@ class SchemaV3:
|
|||||||
raise ValueError("\n".join(issues))
|
raise ValueError("\n".join(issues))
|
||||||
|
|
||||||
def finalize(self):
|
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 is an api_node, will need key-related hidden
|
||||||
if self.is_api_node:
|
if self.is_api_node:
|
||||||
if self.hidden is None:
|
if self.hidden is None:
|
||||||
@ -1008,6 +1012,11 @@ class SchemaV3:
|
|||||||
self.hidden.append(Hidden.prompt)
|
self.hidden.append(Hidden.prompt)
|
||||||
if Hidden.extra_pnginfo not in self.hidden:
|
if Hidden.extra_pnginfo not in self.hidden:
|
||||||
self.hidden.append(Hidden.extra_pnginfo)
|
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:
|
class Serializer:
|
||||||
|
@ -62,8 +62,8 @@ class V3TestNode(io.ComfyNodeV3):
|
|||||||
# ]]
|
# ]]
|
||||||
],
|
],
|
||||||
outputs=[
|
outputs=[
|
||||||
io.Int.Output("int_output"),
|
io.Int.Output(),
|
||||||
io.Image.Output("img_output", display_name="img🖼️", tooltip="This is an image"),
|
io.Image.Output(display_name="img🖼️", tooltip="This is an image"),
|
||||||
],
|
],
|
||||||
hidden=[
|
hidden=[
|
||||||
io.Hidden.prompt,
|
io.Hidden.prompt,
|
||||||
@ -142,8 +142,8 @@ class V3LoraLoader(io.ComfyNodeV3):
|
|||||||
),
|
),
|
||||||
],
|
],
|
||||||
outputs=[
|
outputs=[
|
||||||
io.Model.Output("model_out"),
|
io.Model.Output(),
|
||||||
io.Clip.Output("clip_out"),
|
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),
|
io.AutogrowDynamic.Input("nmock2", template_input=io.Int.Input("int"), optional=True, min=1, max=4),
|
||||||
],
|
],
|
||||||
outputs=[
|
outputs=[
|
||||||
io.Image.Output("image_out"),
|
io.Image.Output(),
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -87,7 +87,7 @@ class PreviewImage_V3(io.ComfyNodeV3):
|
|||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def execute(cls, images):
|
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):
|
class LoadImage_V3(io.ComfyNodeV3):
|
||||||
@ -107,12 +107,8 @@ class LoadImage_V3(io.ComfyNodeV3):
|
|||||||
),
|
),
|
||||||
],
|
],
|
||||||
outputs=[
|
outputs=[
|
||||||
io.Image.Output(
|
io.Image.Output(),
|
||||||
"IMAGE",
|
io.Mask.Output(),
|
||||||
),
|
|
||||||
io.Mask.Output(
|
|
||||||
"MASK",
|
|
||||||
),
|
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -207,12 +203,8 @@ class LoadImageOutput_V3(io.ComfyNodeV3):
|
|||||||
),
|
),
|
||||||
],
|
],
|
||||||
outputs=[
|
outputs=[
|
||||||
io.Image.Output(
|
io.Image.Output(),
|
||||||
"IMAGE",
|
io.Mask.Output(),
|
||||||
),
|
|
||||||
io.Mask.Output(
|
|
||||||
"MASK",
|
|
||||||
),
|
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -39,7 +39,7 @@ class WebcamCapture_V3(io.ComfyNodeV3):
|
|||||||
io.Boolean.Input("capture_on_queue", default=True),
|
io.Boolean.Input("capture_on_queue", default=True),
|
||||||
],
|
],
|
||||||
outputs=[
|
outputs=[
|
||||||
io.Image.Output("IMAGE"),
|
io.Image.Output(),
|
||||||
],
|
],
|
||||||
)
|
)
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user