Files
aria1th-ComfyUI-LogicUtils/autonode.py
T
2023-12-11 00:35:39 +09:00

24 lines
825 B
Python

def get_node_names_mappings(classes):
node_names = {}
node_classes = {}
for cls in classes:
# check if "custom_name" attribute is set
if hasattr(cls, "custom_name"):
node_names[cls.__name__] = cls.custom_name
node_classes[cls.__name__] = cls
return node_classes, node_names
def node_wrapper(container):
def wrap_class(cls):
container.append(cls)
return cls
return wrap_class
def validate(container):
# check if "custom_name", "FUNCTION", "INPUT_TYPES", "RETURN_TYPES", "CATEGORY" attributes are set
for cls in container:
for attr in ["FUNCTION", "INPUT_TYPES", "RETURN_TYPES", "CATEGORY"]:
if not hasattr(cls, attr):
raise Exception("Class {} doesn't have attribute {}".format(cls.__name__, attr))