Skip to content

Commit 094d6c0

Browse files
committed
Simplified code
1 parent db20d0f commit 094d6c0

File tree

4 files changed

+12
-27
lines changed

4 files changed

+12
-27
lines changed
-1.72 KB
Loading

Tests/test_imageops.py

Lines changed: 5 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -345,18 +345,12 @@ def check(orientation_im):
345345
check(orientation_im)
346346

347347
# Orientation from "XML:com.adobe.xmp" info key
348-
with Image.open("Tests/images/xmp_tags_orientation.png") as im:
349-
assert im.getexif()[0x0112] == 3
350-
351-
transposed_im = ImageOps.exif_transpose(im)
352-
assert 0x0112 not in transposed_im.getexif()
348+
for suffix in ("", "_exiftool"):
349+
with Image.open("Tests/images/xmp_tags_orientation" + suffix + ".png") as im:
350+
assert im.getexif()[0x0112] == 3
353351

354-
# Orientation from "XML:com.adobe.xmp" info key (from exiftool)
355-
with Image.open("Tests/images/xmp_tags_orientation_exiftool.png") as im:
356-
assert im.getexif()[0x0112] == 8
357-
358-
transposed_im = ImageOps.exif_transpose(im)
359-
assert 0x0112 not in transposed_im.getexif()
352+
transposed_im = ImageOps.exif_transpose(im)
353+
assert 0x0112 not in transposed_im.getexif()
360354

361355
# Orientation from "Raw profile type exif" info key
362356
# This test image has been manually hexedited from exif_imagemagick.png

src/PIL/Image.py

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1404,15 +1404,9 @@ def getexif(self):
14041404
if 0x0112 not in self._exif:
14051405
xmp_tags = self.info.get("XML:com.adobe.xmp")
14061406
if xmp_tags:
1407-
match = re.search(r'tiff:Orientation="([0-9])"', xmp_tags)
1407+
match = re.search(r'tiff:Orientation(="|>)([0-9])', xmp_tags)
14081408
if match:
1409-
self._exif[0x0112] = int(match[1])
1410-
else:
1411-
match = re.search(
1412-
r"<tiff:Orientation>([0-9])</tiff:Orientation>", xmp_tags
1413-
)
1414-
if match:
1415-
self._exif[0x0112] = int(match[1])
1409+
self._exif[0x0112] = int(match[2])
14161410

14171411
return self._exif
14181412

src/PIL/ImageOps.py

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -601,15 +601,12 @@ def exif_transpose(image):
601601
"Raw profile type exif"
602602
] = transposed_exif.tobytes().hex()
603603
elif "XML:com.adobe.xmp" in transposed_image.info:
604-
transposed_image.info["XML:com.adobe.xmp"] = re.sub(
604+
for pattern in (
605605
r'tiff:Orientation="([0-9])"',
606-
"",
607-
transposed_image.info["XML:com.adobe.xmp"],
608-
)
609-
transposed_image.info["XML:com.adobe.xmp"] = re.sub(
610606
r"<tiff:Orientation>([0-9])</tiff:Orientation>",
611-
"",
612-
transposed_image.info["XML:com.adobe.xmp"],
613-
)
607+
):
608+
transposed_image.info["XML:com.adobe.xmp"] = re.sub(
609+
pattern, "", transposed_image.info["XML:com.adobe.xmp"]
610+
)
614611
return transposed_image
615612
return image.copy()

0 commit comments

Comments
 (0)