From e29dca958ea916423bc0c24c18ed60205961f6d5 Mon Sep 17 00:00:00 2001 From: "Dr.Lt.Data" Date: Sat, 1 Jul 2023 16:06:02 +0900 Subject: [PATCH] bugfix: pass 'prompt' and 'extra_data' to get_input_data for determine IS_CHANGED --- execution.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/execution.py b/execution.py index a40b1dd36..b70f1767e 100644 --- a/execution.py +++ b/execution.py @@ -204,7 +204,7 @@ def recursive_will_execute(prompt, outputs, current_item): return will_execute + [unique_id] -def recursive_output_delete_if_changed(prompt, old_prompt, outputs, current_item): +def recursive_output_delete_if_changed(prompt, old_prompt, outputs, current_item, extra_data): unique_id = current_item inputs = prompt[unique_id]['inputs'] class_type = prompt[unique_id]['class_type'] @@ -217,7 +217,7 @@ def recursive_output_delete_if_changed(prompt, old_prompt, outputs, current_item if unique_id in old_prompt and 'is_changed' in old_prompt[unique_id]: is_changed_old = old_prompt[unique_id]['is_changed'] if 'is_changed' not in prompt[unique_id]: - input_data_all = get_input_data(inputs, class_def, unique_id, outputs) + input_data_all = get_input_data(inputs, class_def, unique_id, outputs, prompt=prompt, extra_data=extra_data) if input_data_all is not None: try: #is_changed = class_def.IS_CHANGED(**input_data_all) @@ -244,7 +244,7 @@ def recursive_output_delete_if_changed(prompt, old_prompt, outputs, current_item input_unique_id = input_data[0] output_index = input_data[1] if input_unique_id in outputs: - to_delete = recursive_output_delete_if_changed(prompt, old_prompt, outputs, input_unique_id) + to_delete = recursive_output_delete_if_changed(prompt, old_prompt, outputs, input_unique_id, extra_data) else: to_delete = True if to_delete: @@ -340,7 +340,7 @@ class PromptExecutor: del d for x in prompt: - recursive_output_delete_if_changed(prompt, self.old_prompt, self.outputs, x) + recursive_output_delete_if_changed(prompt, self.old_prompt, self.outputs, x, extra_data) current_outputs = set(self.outputs.keys()) for x in list(self.outputs_ui.keys()):