Skip to content

Commit 492943a

Browse files
committed
Fix logged tag name when loading with getexif()
1 parent 18af646 commit 492943a

1 file changed

Lines changed: 6 additions & 6 deletions

File tree

src/PIL/Image.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3714,7 +3714,7 @@ def _fixup_dict(self, src_dict):
37143714
# returns a dict with any single item tuples/lists as individual values
37153715
return {k: self._fixup(v) for k, v in src_dict.items()}
37163716

3717-
def _get_ifd_dict(self, offset):
3717+
def _get_ifd_dict(self, offset, group=None):
37183718
try:
37193719
# an offset pointer to the location of the nested embedded IFD.
37203720
# It should be a long, but may be corrupted.
@@ -3724,7 +3724,7 @@ def _get_ifd_dict(self, offset):
37243724
else:
37253725
from . import TiffImagePlugin
37263726

3727-
info = TiffImagePlugin.ImageFileDirectory_v2(self.head)
3727+
info = TiffImagePlugin.ImageFileDirectory_v2(self.head, group=group)
37283728
info.load(self.fp)
37293729
return self._fixup_dict(info)
37303730

@@ -3796,14 +3796,14 @@ def _get_merged_dict(self):
37963796

37973797
# get EXIF extension
37983798
if ExifTags.IFD.Exif in self:
3799-
ifd = self._get_ifd_dict(self[ExifTags.IFD.Exif])
3799+
ifd = self._get_ifd_dict(self[ExifTags.IFD.Exif], ExifTags.IFD.Exif)
38003800
if ifd:
38013801
merged_dict.update(ifd)
38023802

38033803
# GPS
38043804
if ExifTags.IFD.GPSInfo in self:
38053805
merged_dict[ExifTags.IFD.GPSInfo] = self._get_ifd_dict(
3806-
self[ExifTags.IFD.GPSInfo]
3806+
self[ExifTags.IFD.GPSInfo], ExifTags.IFD.GPSInfo
38073807
)
38083808

38093809
return merged_dict
@@ -3837,7 +3837,7 @@ def get_ifd(self, tag):
38373837
elif tag in [ExifTags.IFD.Exif, ExifTags.IFD.GPSInfo]:
38383838
offset = self._hidden_data.get(tag, self.get(tag))
38393839
if offset is not None:
3840-
self._ifds[tag] = self._get_ifd_dict(offset)
3840+
self._ifds[tag] = self._get_ifd_dict(offset, tag)
38413841
elif tag in [ExifTags.IFD.Interop, ExifTags.IFD.Makernote]:
38423842
if ExifTags.IFD.Exif not in self._ifds:
38433843
self.get_ifd(ExifTags.IFD.Exif)
@@ -3919,7 +3919,7 @@ def get_ifd(self, tag):
39193919
self._ifds[tag] = makernote
39203920
else:
39213921
# Interop
3922-
self._ifds[tag] = self._get_ifd_dict(tag_data)
3922+
self._ifds[tag] = self._get_ifd_dict(tag_data, tag)
39233923
ifd = self._ifds.get(tag, {})
39243924
if tag == ExifTags.IFD.Exif and self._hidden_data:
39253925
ifd = {

0 commit comments

Comments
 (0)