Merge branch 'master' into tag_group_data

This commit is contained in:
Andrew Murray 2021-06-27 12:06:11 +10:00 committed by GitHub
commit dd28af0dfa
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 15 additions and 1 deletions

View File

@ -390,3 +390,16 @@ def test_tag_group_data():
assert interop_ifd.tagtype[2] == 7
assert base_ifd.tagtype[2] != interop_ifd.tagtype[256]
def test_empty_subifd(tmp_path):
out = str(tmp_path / "temp.jpg")
im = hopper()
exif = im.getexif()
exif[TiffImagePlugin.EXIFIFD] = {}
im.save(out, exif=exif)
with Image.open(out) as reloaded:
exif = reloaded.getexif()
assert exif.get_ifd(TiffImagePlugin.EXIFIFD) == {}

View File

@ -830,7 +830,8 @@ class ImageFileDirectory_v2(MutableMapping):
else:
ifh = b"MM\x00\x2A\x00\x00\x00\x08"
ifd = ImageFileDirectory_v2(ifh, group=tag)
for ifd_tag, ifd_value in self._tags_v2[tag].items():
values = self._tags_v2[tag]
for ifd_tag, ifd_value in values.items():
ifd[ifd_tag] = ifd_value
data = ifd.tobytes(offset)
else: