diff --git a/py/capture.py b/py/capture.py index fb01d30..3eec2d6 100644 --- a/py/capture.py +++ b/py/capture.py @@ -7,6 +7,7 @@ from .defs.meta import MetaField from nodes import NODE_CLASS_MAPPINGS from execution import get_input_data +from comfy_execution.graph import DynamicPrompt class Capture: @@ -15,14 +16,14 @@ class Capture: inputs = {} prompt = hook.current_prompt extra_data = hook.current_extra_data - outputs = hook.prompt_executer.outputs + outputs = hook.prompt_executer.caches.outputs for node_id, obj in prompt.items(): class_type = obj["class_type"] obj_class = NODE_CLASS_MAPPINGS[class_type] node_inputs = prompt[node_id]["inputs"] input_data = get_input_data( - node_inputs, obj_class, node_id, outputs, prompt, extra_data + node_inputs, obj_class, node_id, outputs, DynamicPrompt(prompt), extra_data ) for node_class, metas in CAPTURE_FIELD_LIST.items(): if class_type == node_class: @@ -54,7 +55,7 @@ class Capture: continue field_name = field_data["field_name"] - value = input_data.get(field_name) + value = input_data[0].get(field_name) if value is not None: format = field_data.get("format") v = value diff --git a/py/defs/ext/efficiency_nodes.py b/py/defs/ext/efficiency_nodes.py index bf15b86..d341ee7 100644 --- a/py/defs/ext/efficiency_nodes.py +++ b/py/defs/ext/efficiency_nodes.py @@ -17,22 +17,22 @@ def get_lora_model_hash_stack(node_id, obj, prompt, extra_data, outputs, input_d def get_lora_strength_model_stack( node_id, obj, prompt, extra_data, outputs, input_data ): - if input_data["input_mode"][0] == "advanced": + if input_data[0]["input_mode"][0] == "advanced": return get_lora_data_stack(input_data, "model_str") return get_lora_data_stack(input_data, "lora_wt") def get_lora_strength_clip_stack(node_id, obj, prompt, extra_data, outputs, input_data): - if input_data["input_mode"][0] == "advanced": + if input_data[0]["input_mode"][0] == "advanced": return get_lora_data_stack(input_data, "clip_str") return get_lora_data_stack(input_data, "lora_wt") def get_lora_data_stack(input_data, attribute): - lora_count = input_data["lora_count"][0] + lora_count = input_data[0]["lora_count"][0] return [ v[0] - for k, v in input_data.items() + for k, v in input_data[0].items() if k.startswith(attribute) and v[0] != "None" ][:lora_count] diff --git a/py/defs/ext/rgthree.py b/py/defs/ext/rgthree.py index aad025f..887ecd2 100644 --- a/py/defs/ext/rgthree.py +++ b/py/defs/ext/rgthree.py @@ -21,7 +21,7 @@ def get_lora_strength(node_id, obj, prompt, extra_data, outputs, input_data): def get_lora_data(input_data, attribute): return [ v[0][attribute] - for k, v in input_data.items() + for k, v in input_data[0].items() if k.startswith("lora_") and v[0]["on"] ] @@ -44,7 +44,7 @@ def get_lora_strength_stack(node_id, obj, prompt, extra_data, outputs, input_dat def get_lora_data_stack(input_data, attribute): return [ v[0] - for k, v in input_data.items() + for k, v in input_data[0].items() if k.startswith(attribute + "_") and v[0] != "None" ] diff --git a/py/defs/formatters.py b/py/defs/formatters.py index 7c68d66..d885f89 100644 --- a/py/defs/formatters.py +++ b/py/defs/formatters.py @@ -38,12 +38,12 @@ def convert_skip_clip(stop_at_clip_layer, input_data): def get_scaled_width(scaled_by, input_data): - samples = input_data["samples"][0]["samples"] + samples = input_data[0]["samples"][0]["samples"] return round(samples.shape[3] * scaled_by * 8) def get_scaled_height(scaled_by, input_data): - samples = input_data["samples"][0]["samples"] + samples = input_data[0]["samples"][0]["samples"] return round(samples.shape[2] * scaled_by * 8) @@ -64,7 +64,7 @@ def extract_embedding_hashes(text, input_data): def _extract_embedding_names(text, input_data): - clip = input_data["clip"][0] + clip = input_data[0]["clip"][0] tokenizer = clip.tokenizer if isinstance(tokenizer, SD1Tokenizer): tokenizer = tokenizer.clip_l