aboutsummaryrefslogtreecommitdiffstats
path: root/modules/scripts.py
diff options
context:
space:
mode:
authorMalumaDev <piano.lu92@gmail.com>2022-10-18 15:27:30 +0000
committerGitHub <noreply@github.com>2022-10-18 15:27:30 +0000
commitc2765c9bcd264f5a8922348cd03521cb2ff306b3 (patch)
tree475fb1048477fac8f0b9afc741b6a8eefeb339d7 /modules/scripts.py
parent1997ccff13fc75af223f571e8c927c3d77273dd9 (diff)
parentc1093b8051606f0ac90506b7114c4b55d0447c70 (diff)
downloadstable-diffusion-webui-gfx803-c2765c9bcd264f5a8922348cd03521cb2ff306b3.tar.gz
stable-diffusion-webui-gfx803-c2765c9bcd264f5a8922348cd03521cb2ff306b3.tar.bz2
stable-diffusion-webui-gfx803-c2765c9bcd264f5a8922348cd03521cb2ff306b3.zip
Merge branch 'master' into test_resolve_conflicts
Diffstat (limited to 'modules/scripts.py')
-rw-r--r--modules/scripts.py15
1 files changed, 13 insertions, 2 deletions
diff --git a/modules/scripts.py b/modules/scripts.py
index ac66d448..1039fa9c 100644
--- a/modules/scripts.py
+++ b/modules/scripts.py
@@ -96,6 +96,7 @@ def wrap_call(func, filename, funcname, *args, default=None, **kwargs):
class ScriptRunner:
def __init__(self):
self.scripts = []
+ self.titles = []
def setup_ui(self, is_img2img):
for script_class, path in scripts_data:
@@ -107,9 +108,10 @@ class ScriptRunner:
self.scripts.append(script)
- titles = [wrap_call(script.title, script.filename, "title") or f"{script.filename} [error]" for script in self.scripts]
+ self.titles = [wrap_call(script.title, script.filename, "title") or f"{script.filename} [error]" for script in self.scripts]
- dropdown = gr.Dropdown(label="Script", choices=["None"] + titles, value="None", type="index")
+ dropdown = gr.Dropdown(label="Script", choices=["None"] + self.titles, value="None", type="index")
+ dropdown.save_to_config = True
inputs = [dropdown]
for script in self.scripts:
@@ -139,6 +141,15 @@ class ScriptRunner:
return [ui.gr_show(True if i == 0 else args_from <= i < args_to) for i in range(len(inputs))]
+ def init_field(title):
+ if title == 'None':
+ return
+ script_index = self.titles.index(title)
+ script = self.scripts[script_index]
+ for i in range(script.args_from, script.args_to):
+ inputs[i].visible = True
+
+ dropdown.init_field = init_field
dropdown.change(
fn=select_script,
inputs=[dropdown],