diff --git a/Tests/test_file_webp_metadata.py b/Tests/test_file_webp_metadata.py index f77a245c035..2c815501bb8 100644 --- a/Tests/test_file_webp_metadata.py +++ b/Tests/test_file_webp_metadata.py @@ -127,11 +127,14 @@ def test_write_animated_metadata(tmp_path): exif=exif_data, xmp=xmp_data, ) + assert "xmp" not in frame1.info + assert frame1.getxmp() == {} with Image.open(temp_file) as image: assert "icc_profile" in image.info assert "exif" in image.info assert "xmp" in image.info - assert iccp_data == image.info.get("icc_profile", None) - assert exif_data == image.info.get("exif", None) - assert xmp_data == image.info.get("xmp", None) + assert iccp_data == image.info["icc_profile"] + assert exif_data == image.info["exif"] + assert xmp_data == image.info["xmp"] + assert xmp_data == image.getxmp() diff --git a/src/PIL/WebPImagePlugin.py b/src/PIL/WebPImagePlugin.py index e3c19db3dbf..9801d411635 100644 --- a/src/PIL/WebPImagePlugin.py +++ b/src/PIL/WebPImagePlugin.py @@ -98,6 +98,9 @@ def _getexif(self): return None return self.getexif()._get_merged_dict() + def getxmp(self): + return self.info.get("xmp", {}) + def seek(self, frame): if not self._seek_check(frame): return