Skip to content

Commit

Permalink
Merge pull request #15470 from AUTOMATIC1111/read-infotext-Script-not…
Browse files Browse the repository at this point in the history
…-found

error handling paste_field callables
  • Loading branch information
AUTOMATIC1111 committed Apr 9, 2024
1 parent 7f69161 commit 88f70ce
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 8 deletions.
8 changes: 6 additions & 2 deletions modules/infotext_utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@

import gradio as gr
from modules.paths import data_path
from modules import shared, ui_tempdir, script_callbacks, processing, infotext_versions, images, prompt_parser
from modules import shared, ui_tempdir, script_callbacks, processing, infotext_versions, images, prompt_parser, errors
from PIL import Image

sys.modules['modules.generation_parameters_copypaste'] = sys.modules[__name__] # alias for old name
Expand Down Expand Up @@ -488,7 +488,11 @@ def paste_func(prompt):

for output, key in paste_fields:
if callable(key):
v = key(params)
try:
v = key(params)
except Exception:
errors.report(f"Error executing {key}", exc_info=True)
v = None
else:
v = params.get(key, None)

Expand Down
17 changes: 11 additions & 6 deletions modules/scripts.py
Original file line number Diff line number Diff line change
Expand Up @@ -739,12 +739,17 @@ def init_field(title):
def onload_script_visibility(params):
title = params.get('Script', None)
if title:
title_index = self.titles.index(title)
visibility = title_index == self.script_load_ctr
self.script_load_ctr = (self.script_load_ctr + 1) % len(self.titles)
return gr.update(visible=visibility)
else:
return gr.update(visible=False)
try:
title_index = self.titles.index(title)
visibility = title_index == self.script_load_ctr
self.script_load_ctr = (self.script_load_ctr + 1) % len(self.titles)
return gr.update(visible=visibility)
except ValueError:
params['Script'] = None
massage = f'Cannot find Script: "{title}"'
print(massage)
gr.Warning(massage)
return gr.update(visible=False)

self.infotext_fields.append((dropdown, lambda x: gr.update(value=x.get('Script', 'None'))))
self.infotext_fields.extend([(script.group, onload_script_visibility) for script in self.selectable_scripts])
Expand Down

0 comments on commit 88f70ce

Please sign in to comment.