aboutsummaryrefslogtreecommitdiffstats
path: root/modules/extras.py
diff options
context:
space:
mode:
authorAUTOMATIC <16777216c@gmail.com>2022-09-13 16:23:55 +0000
committerAUTOMATIC <16777216c@gmail.com>2022-09-13 16:23:55 +0000
commitb6b9faa779ca4239ef3c06abddd92d4520effd0e (patch)
tree1e84adb6c32c60c4321d82a0c80b201caa1f8e34 /modules/extras.py
parenteeabe62b4d6088c9beafa208bfcb831e5e9cbd92 (diff)
downloadstable-diffusion-webui-gfx803-b6b9faa779ca4239ef3c06abddd92d4520effd0e.tar.gz
stable-diffusion-webui-gfx803-b6b9faa779ca4239ef3c06abddd92d4520effd0e.tar.bz2
stable-diffusion-webui-gfx803-b6b9faa779ca4239ef3c06abddd92d4520effd0e.zip
add support for reading saved jpeg comments
Diffstat (limited to 'modules/extras.py')
-rw-r--r--modules/extras.py16
1 files changed, 15 insertions, 1 deletions
diff --git a/modules/extras.py b/modules/extras.py
index 596cd172..cb083544 100644
--- a/modules/extras.py
+++ b/modules/extras.py
@@ -6,6 +6,8 @@ from modules.shared import opts
import modules.gfpgan_model
from modules.ui import plaintext_to_html
import modules.codeformer_model
+import piexif
+
cached_images = {}
@@ -73,8 +75,20 @@ def run_extras(image, gfpgan_visibility, codeformer_visibility, codeformer_weigh
def run_pnginfo(image):
+ items = image.info
+
+ if "exif" in image.info:
+ exif = piexif.load(image.info["exif"])
+ exif_comment = (exif or {}).get("Exif", {}).get(piexif.ExifIFD.UserComment, b'')
+ exif_comment = exif_comment.decode("utf8", 'ignore')
+ items['exif comment'] = exif_comment
+
+ for field in ['jfif', 'jfif_version', 'jfif_unit', 'jfif_density', 'dpi', 'exif']:
+ del items[field]
+
+
info = ''
- for key, text in image.info.items():
+ for key, text in items.items():
info += f"""
<div>
<p><b>{plaintext_to_html(str(key))}</b></p>