aboutsummaryrefslogtreecommitdiff
path: root/modules/scripts.py
diff options
context:
space:
mode:
authorAUTOMATIC1111 <16777216c@gmail.com>2024-01-04 19:47:00 +0300
committerAUTOMATIC1111 <16777216c@gmail.com>2024-01-04 19:47:00 +0300
commit15ec54dd969d6dc3fea7790ca5cce5badcfda426 (patch)
treee888760c4cc82bf5ecdba96bc36f22ce1ae8cd0a /modules/scripts.py
parentf903b4dda36537b8fd5daec209f9f886adb104fc (diff)
Have upscale button use the same seed as hires fix.
Diffstat (limited to 'modules/scripts.py')
-rw-r--r--modules/scripts.py21
1 files changed, 21 insertions, 0 deletions
diff --git a/modules/scripts.py b/modules/scripts.py
index 017aed5a..cf938ebb 100644
--- a/modules/scripts.py
+++ b/modules/scripts.py
@@ -91,6 +91,9 @@ class Script:
setup_for_ui_only = False
"""If true, the script setup will only be run in Gradio UI, not in API"""
+ controls = None
+ """A list of controls retured by the ui()."""
+
def title(self):
"""this function should return the title of the script. This is what will be displayed in the dropdown menu."""
@@ -624,6 +627,7 @@ class ScriptRunner:
import modules.api.models as api_models
controls = wrap_call(script.ui, script.filename, "ui", script.is_img2img)
+ script.controls = controls
if controls is None:
return
@@ -918,6 +922,23 @@ class ScriptRunner:
except Exception:
errors.report(f"Error running setup: {script.filename}", exc_info=True)
+ def set_named_arg(self, args, script_type, arg_elem_id, value):
+ script = next((x for x in self.scripts if type(x).__name__ == script_type), None)
+ if script is None:
+ return
+
+ for i, control in enumerate(script.controls):
+ if arg_elem_id in control.elem_id:
+ index = script.args_from + i
+
+ if isinstance(args, list):
+ args[index] = value
+ return args
+ elif isinstance(args, tuple):
+ return args[:index] + (value,) + args[index+1:]
+ else:
+ return None
+
scripts_txt2img: ScriptRunner = None
scripts_img2img: ScriptRunner = None