aboutsummaryrefslogtreecommitdiffstats
path: root/modules/api/api.py
diff options
context:
space:
mode:
authorAUTOMATIC1111 <16777216c@gmail.com>2023-12-30 09:11:09 +0000
committerAUTOMATIC1111 <16777216c@gmail.com>2023-12-30 09:11:09 +0000
commitba92135a2ba9e210ce5370715e2defcb43df70d1 (patch)
tree5558b28b2b0ff283d5285feec736b99ae8ac9e7e /modules/api/api.py
parentbb07cb6a0df60a96827125ffc09ea182a1ed272c (diff)
downloadstable-diffusion-webui-gfx803-ba92135a2ba9e210ce5370715e2defcb43df70d1.tar.gz
stable-diffusion-webui-gfx803-ba92135a2ba9e210ce5370715e2defcb43df70d1.tar.bz2
stable-diffusion-webui-gfx803-ba92135a2ba9e210ce5370715e2defcb43df70d1.zip
add override_settings support for infotext API
Diffstat (limited to 'modules/api/api.py')
-rw-r--r--modules/api/api.py10
1 files changed, 10 insertions, 0 deletions
diff --git a/modules/api/api.py b/modules/api/api.py
index b3d70940..fb108486 100644
--- a/modules/api/api.py
+++ b/modules/api/api.py
@@ -341,6 +341,7 @@ class Api:
params = generation_parameters_copypaste.parse_generation_parameters(request.infotext)
+ handled_fields = {}
for field in generation_parameters_copypaste.paste_fields[tabname]["fields"]:
if not field.api:
continue
@@ -355,6 +356,15 @@ class Api:
value = target_type(value)
setattr(request, field.api, value)
+ handled_fields[field.label] = 1
+
+ if request.override_settings is None:
+ request.override_settings = {}
+
+ overriden_settings = generation_parameters_copypaste.get_override_settings(params, skip_fields=handled_fields)
+ for infotext_text, setting_name, value in overriden_settings:
+ if setting_name not in request.override_settings:
+ request.override_settings[setting_name] = value
return params