This commit is contained in:
meimeilook 2025-04-11 13:28:24 +02:00 committed by GitHub
commit 3e793ab22b
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -554,32 +554,27 @@ class PromptServer():
def node_info(node_class):
obj_class = nodes.NODE_CLASS_MAPPINGS[node_class]
info = {}
info['input'] = obj_class.INPUT_TYPES()
info['input_order'] = {key: list(value.keys()) for (key, value) in obj_class.INPUT_TYPES().items()}
info['output'] = obj_class.RETURN_TYPES
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['description'] = obj_class.DESCRIPTION if hasattr(obj_class,'DESCRIPTION') else ''
info['python_module'] = getattr(obj_class, "RELATIVE_PYTHON_MODULE", "nodes")
info['category'] = 'sd'
if hasattr(obj_class, 'OUTPUT_NODE') and obj_class.OUTPUT_NODE == True:
info['output_node'] = True
else:
info['output_node'] = False
input_types = obj_class.INPUT_TYPES()
if hasattr(obj_class, 'CATEGORY'):
info['category'] = obj_class.CATEGORY
info = {
'input': input_types,
'input_order': {key: list(value.keys()) for key, value in input_types.items()},
'output': obj_class.RETURN_TYPES,
'output_is_list': getattr(obj_class, 'OUTPUT_IS_LIST', [False] * len(obj_class.RETURN_TYPES)),
'output_name': getattr(obj_class, 'RETURN_NAMES', obj_class.RETURN_TYPES),
'name': node_class,
'display_name': nodes.NODE_DISPLAY_NAME_MAPPINGS.get(node_class, node_class),
'description': getattr(obj_class, 'DESCRIPTION', ''),
'python_module': getattr(obj_class, "RELATIVE_PYTHON_MODULE", "nodes"),
'category': getattr(obj_class, 'CATEGORY', 'sd'),
'output_node': hasattr(obj_class, 'OUTPUT_NODE') and obj_class.OUTPUT_NODE,
'deprecated': getattr(obj_class, "DEPRECATED", False),
'experimental': getattr(obj_class, "EXPERIMENTAL", False)
}
if hasattr(obj_class, 'OUTPUT_TOOLTIPS'):
info['output_tooltips'] = obj_class.OUTPUT_TOOLTIPS
if getattr(obj_class, "DEPRECATED", False):
info['deprecated'] = True
if getattr(obj_class, "EXPERIMENTAL", False):
info['experimental'] = True
return info
@routes.get("/object_info")
@ -592,6 +587,7 @@ class PromptServer():
except Exception:
logging.error(f"[ERROR] An error occurred while retrieving information for the '{x}' node.")
logging.error(traceback.format_exc())
return web.json_response(out)
@routes.get("/object_info/{node_class}")