diff options
author | ふぁ <34892635+fa0311@users.noreply.github.com> | 2022-10-18 08:29:42 +0000 |
---|---|---|
committer | AUTOMATIC1111 <16777216c@gmail.com> | 2022-10-18 12:08:23 +0000 |
commit | 97d3ba3941536215ea15431886c7f28300a9d915 (patch) | |
tree | 4ac06444d3dfcb49ac9e25f4e2e567e609150956 /modules/scripts.py | |
parent | 428080d469a1b760d7b08a1d81fef77d3d47832a (diff) | |
download | stable-diffusion-webui-gfx803-97d3ba3941536215ea15431886c7f28300a9d915.tar.gz stable-diffusion-webui-gfx803-97d3ba3941536215ea15431886c7f28300a9d915.tar.bz2 stable-diffusion-webui-gfx803-97d3ba3941536215ea15431886c7f28300a9d915.zip |
Add scripts to ui-config,json
Diffstat (limited to 'modules/scripts.py')
-rw-r--r-- | modules/scripts.py | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/modules/scripts.py b/modules/scripts.py index ac66d448..3402066d 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],
|