Browse Source

If IS_CHANGED returns exception delete the output instead of crashing.

pull/570/head
comfyanonymous 2 years ago
parent
commit
3a1f9dba20
  1. 6
      execution.py

6
execution.py

@ -97,21 +97,25 @@ def recursive_output_delete_if_changed(prompt, old_prompt, outputs, current_item
is_changed_old = ''
is_changed = ''
to_delete = False
if hasattr(class_def, 'IS_CHANGED'):
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)
if input_data_all is not None:
try:
is_changed = class_def.IS_CHANGED(**input_data_all)
prompt[unique_id]['is_changed'] = is_changed
except:
to_delete = True
else:
is_changed = prompt[unique_id]['is_changed']
if unique_id not in outputs:
return True
to_delete = False
if not to_delete:
if is_changed != is_changed_old:
to_delete = True
elif unique_id not in old_prompt:

Loading…
Cancel
Save