Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: support object_storage in IS_CHANGED #821

Open
wants to merge 61 commits into
base: master
Choose a base branch
from
Open
Changes from all commits
Commits
Show all changes
61 commits
Select commit Hold shift + click to select a range
01cbf20
support object_storage in IS_CHANGED
ltdrdata Jul 2, 2023
3338367
Merge branch 'comfyanonymous:master' into feat/is_change_object_storage
ltdrdata Jul 2, 2023
08cc95d
Merge branch 'comfyanonymous:master' into feat/is_change_object_storage
ltdrdata Jul 3, 2023
1b307c5
Merge branch 'comfyanonymous:master' into feat/is_change_object_storage
ltdrdata Jul 4, 2023
29e2bcc
Merge branch 'comfyanonymous:master' into feat/is_change_object_storage
ltdrdata Jul 4, 2023
b9a57d6
Merge branch 'comfyanonymous:master' into feat/is_change_object_storage
ltdrdata Jul 4, 2023
86cf3db
Merge branch 'comfyanonymous:master' into feat/is_change_object_storage
ltdrdata Jul 5, 2023
2a5ce3b
Merge branch 'comfyanonymous:master' into feat/is_change_object_storage
ltdrdata Jul 6, 2023
a87a31d
Merge branch 'comfyanonymous:master' into feat/is_change_object_storage
ltdrdata Jul 6, 2023
23d5e3d
Merge branch 'comfyanonymous:master' into feat/is_change_object_storage
ltdrdata Jul 7, 2023
8182264
Merge branch 'comfyanonymous:master' into feat/is_change_object_storage
ltdrdata Jul 8, 2023
bcfec15
Merge branch 'comfyanonymous:master' into feat/is_change_object_storage
ltdrdata Jul 9, 2023
427f54a
Merge branch 'comfyanonymous:master' into feat/is_change_object_storage
ltdrdata Jul 9, 2023
3ec811b
Merge branch 'comfyanonymous:master' into feat/is_change_object_storage
ltdrdata Jul 10, 2023
9fa4fd1
Merge branch 'comfyanonymous:master' into feat/is_change_object_storage
ltdrdata Jul 11, 2023
d93da4c
Merge branch 'comfyanonymous:master' into feat/is_change_object_storage
ltdrdata Jul 12, 2023
09f5696
Merge branch 'comfyanonymous:master' into feat/is_change_object_storage
ltdrdata Jul 13, 2023
40564ea
Merge branch 'comfyanonymous:master' into feat/is_change_object_storage
ltdrdata Jul 14, 2023
57a6966
Merge branch 'comfyanonymous:master' into feat/is_change_object_storage
ltdrdata Jul 14, 2023
c13823c
Merge branch 'comfyanonymous:master' into feat/is_change_object_storage
ltdrdata Jul 15, 2023
fa4f01b
Merge branch 'comfyanonymous:master' into feat/is_change_object_storage
ltdrdata Jul 16, 2023
ab0e93f
Merge branch 'comfyanonymous:master' into feat/is_change_object_storage
ltdrdata Jul 17, 2023
1c959f9
Merge branch 'comfyanonymous:master' into feat/is_change_object_storage
ltdrdata Jul 18, 2023
313ea74
Merge branch 'comfyanonymous:master' into feat/is_change_object_storage
ltdrdata Jul 19, 2023
4516d88
Merge branch 'comfyanonymous:master' into feat/is_change_object_storage
ltdrdata Jul 19, 2023
6654b91
Merge branch 'comfyanonymous:master' into feat/is_change_object_storage
ltdrdata Jul 20, 2023
221128f
Merge branch 'comfyanonymous:master' into feat/is_change_object_storage
ltdrdata Jul 20, 2023
4e4ffcd
Merge branch 'comfyanonymous:master' into feat/is_change_object_storage
ltdrdata Jul 21, 2023
136ecd1
Merge branch 'comfyanonymous:master' into feat/is_change_object_storage
ltdrdata Jul 22, 2023
6f3bdb6
Merge branch 'comfyanonymous:master' into feat/is_change_object_storage
ltdrdata Jul 22, 2023
c1245a9
Merge branch 'comfyanonymous:master' into feat/is_change_object_storage
ltdrdata Jul 23, 2023
385269b
Merge branch 'comfyanonymous:master' into feat/is_change_object_storage
ltdrdata Jul 25, 2023
13392e8
Merge branch 'comfyanonymous:master' into feat/is_change_object_storage
ltdrdata Jul 25, 2023
c17989e
Merge branch 'comfyanonymous:master' into feat/is_change_object_storage
ltdrdata Jul 26, 2023
cbf35cf
Merge branch 'comfyanonymous:master' into feat/is_change_object_storage
ltdrdata Jul 27, 2023
3a9f41a
Merge branch 'comfyanonymous:master' into feat/is_change_object_storage
ltdrdata Jul 28, 2023
5fb5af0
Merge branch 'comfyanonymous:master' into feat/is_change_object_storage
ltdrdata Jul 30, 2023
975b94d
Merge branch 'comfyanonymous:master' into feat/is_change_object_storage
ltdrdata Jul 31, 2023
c524299
Merge branch 'comfyanonymous:master' into feat/is_change_object_storage
ltdrdata Aug 1, 2023
9466a5b
Merge branch 'comfyanonymous:master' into feat/is_change_object_storage
ltdrdata Aug 3, 2023
3110167
Merge branch 'comfyanonymous:master' into feat/is_change_object_storage
ltdrdata Aug 3, 2023
3e389ce
Merge branch 'comfyanonymous:master' into feat/is_change_object_storage
ltdrdata Aug 5, 2023
dc7843d
Merge branch 'comfyanonymous:master' into feat/is_change_object_storage
ltdrdata Aug 5, 2023
2e31b00
Merge branch 'comfyanonymous:master' into feat/is_change_object_storage
ltdrdata Aug 6, 2023
871a442
Merge branch 'comfyanonymous:master' into feat/is_change_object_storage
ltdrdata Aug 7, 2023
cf837db
Merge branch 'comfyanonymous:master' into feat/is_change_object_storage
ltdrdata Aug 10, 2023
5fdf07e
Merge branch 'comfyanonymous:master' into feat/is_change_object_storage
ltdrdata Aug 14, 2023
79b682a
Merge branch 'comfyanonymous:master' into feat/is_change_object_storage
ltdrdata Aug 15, 2023
e67235b
Merge branch 'comfyanonymous:master' into feat/is_change_object_storage
ltdrdata Aug 15, 2023
5e1644a
Merge branch 'comfyanonymous:master' into feat/is_change_object_storage
ltdrdata Aug 18, 2023
12d7051
Merge branch 'comfyanonymous:master' into feat/is_change_object_storage
ltdrdata Aug 24, 2023
60a0df0
Merge branch 'comfyanonymous:master' into feat/is_change_object_storage
ltdrdata Aug 26, 2023
10d1826
Merge branch 'comfyanonymous:master' into feat/is_change_object_storage
ltdrdata Aug 31, 2023
1892713
Merge branch 'comfyanonymous:master' into feat/is_change_object_storage
ltdrdata Sep 6, 2023
29e092d
Merge branch 'comfyanonymous:master' into feat/is_change_object_storage
ltdrdata Sep 15, 2023
ce792da
Merge branch 'comfyanonymous:master' into feat/is_change_object_storage
ltdrdata Sep 22, 2023
5bbbb64
Merge branch 'comfyanonymous:master' into feat/is_change_object_storage
ltdrdata Oct 9, 2023
7908801
Merge branch 'comfyanonymous:master' into feat/is_change_object_storage
ltdrdata Oct 18, 2023
4cb1301
Merge branch 'comfyanonymous:master' into feat/is_change_object_storage
ltdrdata Dec 6, 2023
2e2665e
Merge branch 'comfyanonymous:master' into feat/is_change_object_storage
ltdrdata Dec 15, 2023
9f8daca
Merge branch 'comfyanonymous:master' into feat/is_change_object_storage
ltdrdata Jan 12, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 10 additions & 4 deletions execution.py
Original file line number Diff line number Diff line change
Expand Up @@ -213,7 +213,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, object_storage):
unique_id = current_item
inputs = prompt[unique_id]['inputs']
class_type = prompt[unique_id]['class_type']
Expand All @@ -222,6 +222,12 @@ def recursive_output_delete_if_changed(prompt, old_prompt, outputs, current_item
is_changed_old = ''
is_changed = ''
to_delete = False

obj = object_storage.get((unique_id, class_type), None)
if obj is None:
obj = class_def()
object_storage[(unique_id, class_type)] = obj

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']
Expand All @@ -230,7 +236,7 @@ def recursive_output_delete_if_changed(prompt, old_prompt, outputs, current_item
if input_data_all is not None:
try:
#is_changed = class_def.IS_CHANGED(**input_data_all)
is_changed = map_node_over_list(class_def, input_data_all, "IS_CHANGED")
is_changed = map_node_over_list(obj, input_data_all, "IS_CHANGED")
prompt[unique_id]['is_changed'] = is_changed
except:
to_delete = True
Expand All @@ -253,7 +259,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, object_storage)
else:
to_delete = True
if to_delete:
Expand Down Expand Up @@ -352,7 +358,7 @@ def execute(self, prompt, prompt_id, extra_data={}, execute_outputs=[]):
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, self.object_storage)

current_outputs = set(self.outputs.keys())
for x in list(self.outputs_ui.keys()):
Expand Down