Eji-Sensei14's picture
Upload folder using huggingface_hub
c6535db verified
from .utils import get_dict_value
def get_worflow_node(extra_pnginfo, node_id: str, default=None):
# First, break out of any subgraphs
node_ids = str(node_id).split(':')
workflow_nodes = get_dict_value(extra_pnginfo, 'workflow.nodes', default=[])
workflow_subgraphs = get_dict_value(extra_pnginfo, 'workflow.definitions.subgraphs', default=[])
nodes_list = workflow_nodes
found = None
for individual_node_id in node_ids:
found = next((n for n in nodes_list if str(n['id']) == individual_node_id), None)
if isinstance(found, dict) and 'type' in found:
# Are we a subgraph? Right now, subgraph types are a UUID that exists as an id in the
# aubgraphs list. But, rather than check if we're a UUID, let's just check if it exists
# anyway, that when if (when) Comfy changes the id structure we'll keep working.
subgraph = next((n for n in workflow_subgraphs if str(n['id']) == found['type']), None)
if isinstance(subgraph, dict) and 'nodes' in subgraph:
nodes_list = subgraph['nodes']
return found if found is not None else default