aboutsummaryrefslogtreecommitdiff
path: root/modules
diff options
context:
space:
mode:
authorAUTOMATIC1111 <16777216c@gmail.com>2023-12-30 12:27:23 +0300
committerAUTOMATIC1111 <16777216c@gmail.com>2023-12-30 12:27:23 +0300
commit8b08b78c03f09898455d54cf099225ed5f8de1ee (patch)
treecca3544fa65986591a1b7b4dc6c9bcf160c96f25 /modules
parentba92135a2ba9e210ce5370715e2defcb43df70d1 (diff)
make it so that if an option from infotext conflicts with an argument from API, the latter overrides the former
Diffstat (limited to 'modules')
-rw-r--r--modules/api/api.py6
1 files changed, 5 insertions, 1 deletions
diff --git a/modules/api/api.py b/modules/api/api.py
index fb108486..cabccb4c 100644
--- a/modules/api/api.py
+++ b/modules/api/api.py
@@ -339,6 +339,7 @@ class Api:
if not request.infotext:
return {}
+ set_fields = request.model_dump(exclude_unset=True) if hasattr(request, "request") else request.dict(exclude_unset=True) # pydantic v1/v2 have differenrt names for this
params = generation_parameters_copypaste.parse_generation_parameters(request.infotext)
handled_fields = {}
@@ -346,6 +347,9 @@ class Api:
if not field.api:
continue
+ if field.api in set_fields:
+ continue
+
value = field.function(params) if field.function else params.get(field.label)
target_type = request.__fields__[field.api].type_
@@ -376,7 +380,7 @@ class Api:
script_runner.initialize_scripts(False)
ui.create_ui()
- infotext_params = self.apply_infotext(txt2imgreq, "txt2img")
+ self.apply_infotext(txt2imgreq, "txt2img")
if not self.default_script_arg_txt2img:
self.default_script_arg_txt2img = self.init_default_script_args(script_runner)