diff options
author | AUTOMATIC1111 <16777216c@gmail.com> | 2022-10-21 13:51:01 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-10-21 13:51:01 +0000 |
commit | ec37f8a45f316db8a20445aa80afd602457327b0 (patch) | |
tree | 20a59fe67602feeff3ba6e023f823a314294e78e /modules/generation_parameters_copypaste.py | |
parent | 003d2c7fe427edde299274c9e0d5fa59734e7f7e (diff) | |
parent | 85cb5918ee7c97cafafe4149880ed82f1933d919 (diff) | |
download | stable-diffusion-webui-gfx803-ec37f8a45f316db8a20445aa80afd602457327b0.tar.gz stable-diffusion-webui-gfx803-ec37f8a45f316db8a20445aa80afd602457327b0.tar.bz2 stable-diffusion-webui-gfx803-ec37f8a45f316db8a20445aa80afd602457327b0.zip |
Merge branch 'master' into features-to-readme
Diffstat (limited to 'modules/generation_parameters_copypaste.py')
-rw-r--r-- | modules/generation_parameters_copypaste.py | 25 |
1 files changed, 18 insertions, 7 deletions
diff --git a/modules/generation_parameters_copypaste.py b/modules/generation_parameters_copypaste.py index c27826b6..f73647da 100644 --- a/modules/generation_parameters_copypaste.py +++ b/modules/generation_parameters_copypaste.py @@ -4,13 +4,22 @@ import gradio as gr from modules.shared import script_path
from modules import shared
-re_param_code = r"\s*([\w ]+):\s*([^,]+)(?:,|$)"
+re_param_code = r'\s*([\w ]+):\s*("(?:\\|\"|[^\"])+"|[^,]*)(?:,|$)'
re_param = re.compile(re_param_code)
re_params = re.compile(r"^(?:" + re_param_code + "){3,}$")
re_imagesize = re.compile(r"^(\d+)x(\d+)$")
type_of_gr_update = type(gr.update())
+def quote(text):
+ if ',' not in str(text):
+ return text
+
+ text = str(text)
+ text = text.replace('\\', '\\\\')
+ text = text.replace('"', '\\"')
+ return f'"{text}"'
+
def parse_generation_parameters(x: str):
"""parses generation parameters string, the one you see in text field under the picture in UI:
```
@@ -45,11 +54,8 @@ Steps: 20, Sampler: Euler a, CFG scale: 7, Seed: 965400086, Size: 512x512, Model else:
prompt += ("" if prompt == "" else "\n") + line
- if len(prompt) > 0:
- res["Prompt"] = prompt
-
- if len(negative_prompt) > 0:
- res["Negative prompt"] = negative_prompt
+ res["Prompt"] = prompt
+ res["Negative prompt"] = negative_prompt
for k, v in re_param.findall(lastline):
m = re_imagesize.match(v)
@@ -86,7 +92,12 @@ def connect_paste(button, paste_fields, input_comp, js=None): else:
try:
valtype = type(output.value)
- val = valtype(v)
+
+ if valtype == bool and v == "False":
+ val = False
+ else:
+ val = valtype(v)
+
res.append(gr.update(value=val))
except Exception:
res.append(gr.update())
|