From 4102ff195180acd0bcaf7769de71f933345f1e14 Mon Sep 17 00:00:00 2001 From: Elias Hogstvedt Date: Thu, 25 Jan 2024 08:21:33 +0700 Subject: [PATCH 1/2] Add support for DISPLAY_NAME in custom nodes as an alternative to NODE_DISPLAY_NAME_MAPPINGS --- server.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server.py b/server.py index 1135fff88..318009c67 100644 --- a/server.py +++ b/server.py @@ -400,7 +400,7 @@ class PromptServer(): info['output_is_list'] = obj_class.OUTPUT_IS_LIST if hasattr(obj_class, 'OUTPUT_IS_LIST') else [False] * len(obj_class.RETURN_TYPES) info['output_name'] = obj_class.RETURN_NAMES if hasattr(obj_class, 'RETURN_NAMES') else info['output'] info['name'] = node_class - info['display_name'] = nodes.NODE_DISPLAY_NAME_MAPPINGS[node_class] if node_class in nodes.NODE_DISPLAY_NAME_MAPPINGS.keys() else node_class + info['display_name'] = obj_class.DISPLAY_NAME if hasattr(obj_class,'DISPLAY_NAME') else nodes.NODE_DISPLAY_NAME_MAPPINGS[node_class] if node_class in nodes.NODE_DISPLAY_NAME_MAPPINGS.keys() else node_class info['description'] = obj_class.DESCRIPTION if hasattr(obj_class,'DESCRIPTION') else '' info['category'] = 'sd' if hasattr(obj_class, 'OUTPUT_NODE') and obj_class.OUTPUT_NODE == True: From e568474e29c58696dc144429722cad8e99187812 Mon Sep 17 00:00:00 2001 From: Elias Hogstvedt Date: Thu, 25 Jan 2024 08:27:30 +0700 Subject: [PATCH 2/2] Update example node --- custom_nodes/example_node.py.example | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/custom_nodes/example_node.py.example b/custom_nodes/example_node.py.example index 733014f3c..88834321b 100644 --- a/custom_nodes/example_node.py.example +++ b/custom_nodes/example_node.py.example @@ -19,6 +19,8 @@ class Example: If this node is an output node that outputs a result/image from the graph. The SaveImage node is an example. The backend iterates on these output nodes and tries to execute all their parents if their parent graph is properly connected. Assumed to be False if not present. + DISPLAY_NAME (`str`): + A friendly/humanly readable title for the node. CATEGORY (`str`): The category the node should appear in the UI. execute(s) -> tuple || None: @@ -76,6 +78,7 @@ class Example: #OUTPUT_NODE = False + DISPLAY_NAME = "Example Node" CATEGORY = "Example" def test(self, image, string_field, int_field, float_field, print_to_screen): @@ -97,6 +100,7 @@ NODE_CLASS_MAPPINGS = { } # A dictionary that contains the friendly/humanly readable titles for the nodes +# NOTE: This is the same as using the DISPLAY_NAME property NODE_DISPLAY_NAME_MAPPINGS = { "Example": "Example Node" }