Unverified Commit ae74b44c authored by AUTOMATIC1111's avatar AUTOMATIC1111 Committed by GitHub
Browse files

Merge pull request #11596 from akx/use-read-info

postprocessing: use read_info_from_image
parents 9be8903c 5c6a33b3
Loading
Loading
Loading
Loading
+12 −5
Original line number Diff line number Diff line
from __future__ import annotations

import datetime

import pytz
@@ -678,8 +680,15 @@ def save_image(image, path, basename, seed=None, prompt=None, extension='png', i
    return fullfn, txt_fullfn


def read_info_from_image(image):
    items = image.info or {}
IGNORED_INFO_KEYS = {
    'jfif', 'jfif_version', 'jfif_unit', 'jfif_density', 'dpi', 'exif',
    'loop', 'background', 'timestamp', 'duration', 'progressive', 'progression',
    'icc_profile', 'chromaticity', 'photoshop',
}


def read_info_from_image(image: Image.Image) -> tuple[str | None, dict]:
    items = (image.info or {}).copy()

    geninfo = items.pop('parameters', None)

@@ -695,9 +704,7 @@ def read_info_from_image(image):
            items['exif comment'] = exif_comment
            geninfo = exif_comment

    for field in ['jfif', 'jfif_version', 'jfif_unit', 'jfif_density', 'dpi', 'exif',
                    'loop', 'background', 'timestamp', 'duration', 'progressive', 'progression',
                    'icc_profile', 'chromaticity']:
    for field in IGNORED_INFO_KEYS:
        items.pop(field, None)

    if items.get("Software", None) == "NovelAI":
+3 −1
Original line number Diff line number Diff line
@@ -54,7 +54,9 @@ def run_postprocessing(extras_mode, image, image_folder, input_dir, output_dir,
    for image, name in zip(image_data, image_names):
        shared.state.textinfo = name

        existing_pnginfo = image.info or {}
        parameters, existing_pnginfo = images.read_info_from_image(image)
        if parameters:
            existing_pnginfo["parameters"] = parameters

        pp = scripts_postprocessing.PostprocessedImage(image.convert("RGB"))