diff options
author | AUTOMATIC1111 <16777216c@gmail.com> | 2023-12-30 09:27:23 +0000 |
---|---|---|
committer | AUTOMATIC1111 <16777216c@gmail.com> | 2023-12-30 09:27:23 +0000 |
commit | 8b08b78c03f09898455d54cf099225ed5f8de1ee (patch) | |
tree | cca3544fa65986591a1b7b4dc6c9bcf160c96f25 | |
parent | ba92135a2ba9e210ce5370715e2defcb43df70d1 (diff) | |
download | stable-diffusion-webui-gfx803-8b08b78c03f09898455d54cf099225ed5f8de1ee.tar.gz stable-diffusion-webui-gfx803-8b08b78c03f09898455d54cf099225ed5f8de1ee.tar.bz2 stable-diffusion-webui-gfx803-8b08b78c03f09898455d54cf099225ed5f8de1ee.zip |
make it so that if an option from infotext conflicts with an argument from API, the latter overrides the former
-rw-r--r-- | modules/api/api.py | 6 |
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) |