fix: allow reading of metadata from jpeg, jpg and webp again (#3301)

also massively improves metadata read speed by switching from filepath (tempfile) to pil, which allows direct processing
This commit is contained in:
Manuel Schmid
2024-07-17 23:30:51 +02:00
committed by GitHub
parent f97adafc09
commit f597bf1ab6
2 changed files with 8 additions and 9 deletions
+3 -4
View File
@@ -604,9 +604,8 @@ def get_metadata_parser(metadata_scheme: MetadataScheme) -> MetadataParser:
raise NotImplementedError
def read_info_from_image(filepath) -> tuple[str | None, MetadataScheme | None]:
with Image.open(filepath) as image:
items = (image.info or {}).copy()
def read_info_from_image(file) -> tuple[str | None, MetadataScheme | None]:
items = (file.info or {}).copy()
parameters = items.pop('parameters', None)
metadata_scheme = items.pop('fooocus_scheme', None)
@@ -615,7 +614,7 @@ def read_info_from_image(filepath) -> tuple[str | None, MetadataScheme | None]:
if parameters is not None and is_json(parameters):
parameters = json.loads(parameters)
elif exif is not None:
exif = image.getexif()
exif = file.getexif()
# 0x9286 = UserComment
parameters = exif.get(0x9286, None)
# 0x927C = MakerNote