From 84af64ccd1638aaef052f45c8ccd1b6b96c7338a Mon Sep 17 00:00:00 2001 From: Girish Gopaul Date: Thu, 17 Aug 2023 12:11:08 +0400 Subject: [PATCH] Fix save image node return value --- nodes.py | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/nodes.py b/nodes.py index add72b5..d9461ec 100644 --- a/nodes.py +++ b/nodes.py @@ -222,11 +222,12 @@ class ImageSaveWithMetadata: print(f'The path `{output_path.strip()}` specified doesn\'t exist! Creating directory.') os.makedirs(output_path, exist_ok=True) - paths = self.save_images(images, output_path, filename, comment, extension, quality_jpeg_or_webp, lossless_webp, prompt, extra_pnginfo) + filenames = self.save_images(images, output_path, filename, comment, extension, quality_jpeg_or_webp, lossless_webp, prompt, extra_pnginfo) - return {"ui": {"images": paths}} + subfolder = os.path.normpath(path) + return {"ui": {"images": map(lambda filename: {"filename": filename, "subfolder": subfolder if subfolder != '.' else '', "type": 'output'}, filenames)}} - def save_images(self, images, output_path, filename_prefix, comment, extension, quality_jpeg_or_webp, lossless_webp, prompt=None, extra_pnginfo=None): + def save_images(self, images, output_path, filename_prefix, comment, extension, quality_jpeg_or_webp, lossless_webp, prompt=None, extra_pnginfo=None) -> list[str]: img_count = 1 paths = list() for image in images: @@ -245,10 +246,11 @@ class ImageSaveWithMetadata: for x in extra_pnginfo: metadata.add_text(x, json.dumps(extra_pnginfo[x])) - file = os.path.join(output_path, f"{filename_prefix}.png") - img.save(file, pnginfo=metadata, optimize=True) + filename = f"{filename_prefix}.png" + img.save(os.path.join(output_path, filename), pnginfo=metadata, optimize=True) else: - file = os.path.join(output_path, f"{filename_prefix}.{extension}") + filename = f"{filename_prefix}.{extension}" + file = os.path.join(output_path, filename) img.save(file, optimize=True, quality=quality_jpeg_or_webp, lossless=lossless_webp) exif_bytes = piexif.dump({ "Exif": { @@ -257,7 +259,7 @@ class ImageSaveWithMetadata: }) piexif.insert(exif_bytes, file) - paths.append(file) + paths.append(filename) img_count += 1 return paths