aboutsummaryrefslogtreecommitdiff
path: root/modules/scripts.py
diff options
context:
space:
mode:
authorTony Beeman <beeman@gmail.com>2022-10-08 10:40:30 -0700
committerAUTOMATIC1111 <16777216c@gmail.com>2022-10-09 11:16:38 +0300
commitcbf6dad02d04d98e5a2d5e870777ab99b5796b2d (patch)
tree6853f402fdb22ed86ae6be9889654a63b229ec84 /modules/scripts.py
parent86cb16886f8f48169cee4658ad0c5e5443beed2a (diff)
Handle case where on_show returns the wrong number of arguments
Diffstat (limited to 'modules/scripts.py')
-rw-r--r--modules/scripts.py9
1 files changed, 6 insertions, 3 deletions
diff --git a/modules/scripts.py b/modules/scripts.py
index 8dfd4de9..7d89979d 100644
--- a/modules/scripts.py
+++ b/modules/scripts.py
@@ -143,6 +143,8 @@ class ScriptRunner:
args_to = script.args_to
script_args = args[args_from:args_to]
on_show_updates = wrap_call(script.on_show, script.filename, "on_show", *script_args)
+ if (len(on_show_updates) != (args_to - args_from)):
+ print("Error in custom script (" + script.filename + "): on_show() method should return the same number of arguments as ui().", file=sys.stderr)
else:
args_from = 0
args_to = 0
@@ -150,13 +152,14 @@ class ScriptRunner:
ret = [ ui.gr_show(True)] # always show the dropdown
for i in range(1, len(inputs)):
if (args_from <= i < args_to):
- ret.append( on_show_updates[i - args_from] )
+ if (i - args_from) < len(on_show_updates):
+ ret.append( on_show_updates[i - args_from] )
+ else:
+ ret.append(ui.gr_show(True))
else:
ret.append(ui.gr_show(False))
return ret
- # return [ui.gr_show(True if (i == 0) else on_show_updates[i - args_from] if args_from <= i < args_to else False) for i in range(len(inputs))]
-
dropdown.change(
fn=select_script,
inputs=inputs,