Merge pull request #6950 from radarhere/tiff_undefined

Resolves https://github.com/python-pillow/Pillow/issues/6948
This commit is contained in:
Hugo van Kemenade 2023-02-14 15:17:52 +02:00 committed by GitHub
commit 3986eafc60
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 18 additions and 0 deletions

View File

@ -216,6 +216,22 @@ def test_writing_other_types_to_bytes(value, tmp_path):
assert reloaded.tag_v2[700] == b"\x01"
def test_writing_other_types_to_undefined(tmp_path):
im = hopper()
info = TiffImagePlugin.ImageFileDirectory_v2()
tag = TiffTags.TAGS_V2[33723]
assert tag.type == TiffTags.UNDEFINED
info[33723] = 1
out = str(tmp_path / "temp.tiff")
im.save(out, tiffinfo=info)
with Image.open(out) as reloaded:
assert reloaded.tag_v2[33723] == b"1"
def test_undefined_zero(tmp_path):
# Check that the tag has not been changed since this test was created
tag = TiffTags.TAGS_V2[45059]

View File

@ -764,6 +764,8 @@ class ImageFileDirectory_v2(MutableMapping):
@_register_writer(7)
def write_undefined(self, value):
if isinstance(value, int):
value = str(value).encode("ascii", "replace")
return value
@_register_loader(10, 8)