diff --git a/modules/extras.py b/modules/extras.py index 297487ba3..e2f9a2a0a 100644 --- a/modules/extras.py +++ b/modules/extras.py @@ -7,7 +7,7 @@ import html import torch import tqdm -from modules import shared, images, sd_models, sd_vae, sd_models_config, errors, png_parser +from modules import shared, images, sd_models, sd_vae, sd_models_config, errors, infotext_utils from modules.ui_common import plaintext_to_html import gradio as gr import safetensors.torch @@ -27,58 +27,79 @@ def pnginfo_format_quicklink(name): return f"[{html.escape(name)}]" -def run_pnginfo(image): - if image is None: - return '', '', '' +def pnginfo_html_v1(geninfo, items): + items = {**{'parameters': geninfo}, **items} + info_html = '' + for key, text in items.items(): + info_html += f"""
{plaintext_to_html(str(key))}
+{plaintext_to_html(str(text))}
+{message}
parameters
{pnginfo_format_quicklink("Copy")} {pnginfo_format_quicklink("Prompt")}"""
- if parser.negative is not None:
- info += f' {pnginfo_format_quicklink("Negative")}'
- info += f""" {pnginfo_format_quicklink("Settings")}
+ if negative_prompt:
+ info_html += f' {pnginfo_format_quicklink("Negative")}'
+ info_html += f""" {pnginfo_format_quicklink("Settings")}
{pnginfo_format_string(parser.positive)}
""" - if parser.negative is not None: - info += f""" +{pnginfo_format_string(prompt)}
""" + if negative_prompt: + info_html += f"""
-Negative prompt:
{pnginfo_format_string(parser.negative)}
+Negative prompt:
{pnginfo_format_string(negative_prompt)}
" + if res: + info_html += "
" first = True - for setting in parser.settings: + for key, value in res.items(): if first: first = False else: - info += ", " - info += pnginfo_format_setting(str(setting[0]), str(setting[1])+str(setting[2])) - info += "
" + info_html += ", " + info_html += pnginfo_format_setting(key, value) + info_html += "" + info_html += "{pnginfo_format_string(parser.extra)}
" - - info += "\n" - else: - items = {**{'parameters': geninfo}, **items} - - for key, text in items.items(): - info += f""" + for key, text in items.items(): + info_html += f"""{plaintext_to_html(str(key))}
{plaintext_to_html(str(text))}
{message}
")?(?P(?(2)(?:.)*?(?:(?