From 635efb0203edda696518407e4b2b7cd20fcabcbd Mon Sep 17 00:00:00 2001 From: Vladimir Mandic Date: Tue, 5 Dec 2023 10:04:32 -0500 Subject: [PATCH] fix save metadata --- modules/images.py | 16 ++++++++-------- modules/ui_common.py | 7 ++++--- 2 files changed, 12 insertions(+), 11 deletions(-) diff --git a/modules/images.py b/modules/images.py index 76c4a3cc6..0dbe64e81 100644 --- a/modules/images.py +++ b/modules/images.py @@ -508,6 +508,14 @@ def atomically_save_image(): if shared.opts.image_watermark_enabled: image = set_watermark(image, shared.opts.image_watermark) shared.log.debug(f'Saving: image="{fn}" type={image_format} size={image.width}x{image.height}') + # additional metadata saved in files + if shared.opts.save_txt and len(exifinfo) > 0: + try: + with open(filename_txt, "w", encoding="utf8") as file: + file.write(f"{exifinfo}\n") + shared.log.debug(f'Saving: text="{filename_txt}" len={len(exifinfo)}') + except Exception as e: + shared.log.warning(f'Image description save failed: {filename_txt} {e}') # actual save exifinfo = (exifinfo or "") if shared.opts.image_metadata else "" if image_format == 'PNG': @@ -543,14 +551,6 @@ def atomically_save_image(): image.save(fn, format=image_format, quality=shared.opts.jpeg_quality) except Exception as e: shared.log.warning(f'Image save failed: {fn} {e}') - # additional metadata saved in files - if shared.opts.save_txt and len(exifinfo) > 0: - try: - with open(filename_txt, "w", encoding="utf8") as file: - file.write(f"{exifinfo}\n") - shared.log.debug(f'Saving: text="{filename_txt}"') - except Exception as e: - shared.log.warning(f'Image description save failed: {filename_txt} {e}') with open(os.path.join(paths.data_path, "params.txt"), "w", encoding="utf8") as file: file.write(exifinfo) if shared.opts.save_log_fn != '' and len(exifinfo) > 0: diff --git a/modules/ui_common.py b/modules/ui_common.py index d63c1ce7a..bd34e475e 100644 --- a/modules/ui_common.py +++ b/modules/ui_common.py @@ -157,15 +157,16 @@ def save_files(js_data, images, html_info, index): fullfns.append(fullfn) if txt_fullfn: filenames.append(os.path.basename(txt_fullfn)) - fullfns.append(txt_fullfn) + # fullfns.append(txt_fullfn) modules.script_callbacks.image_save_btn_callback(filename) if shared.opts.samples_save_zip and len(fullfns) > 1: zip_filepath = os.path.join(shared.opts.outdir_save, "images.zip") from zipfile import ZipFile with ZipFile(zip_filepath, "w") as zip_file: for i in range(len(fullfns)): - with open(fullfns[i], mode="rb") as f: - zip_file.writestr(filenames[i], f.read()) + if os.path.isfile(fullfns[i]): + with open(fullfns[i], mode="rb") as f: + zip_file.writestr(filenames[i], f.read()) fullfns.insert(0, zip_filepath) return gr.File.update(value=fullfns, visible=True), plaintext_to_html(f"Saved: {filenames[0] if len(filenames) > 0 else 'none'}")