mirror of
https://github.com/python-pillow/Pillow.git
synced 2025-06-25 15:33:09 +03:00
Restore original encoderinfo after saving
This commit is contained in:
parent
07df26aa5d
commit
0e292a80c8
|
@ -315,6 +315,9 @@ def test_save_xmp() -> None:
|
||||||
im2.encoderinfo = {"xmp": b"Second frame"}
|
im2.encoderinfo = {"xmp": b"Second frame"}
|
||||||
im_reloaded = roundtrip(im, xmp=b"First frame", save_all=True, append_images=[im2])
|
im_reloaded = roundtrip(im, xmp=b"First frame", save_all=True, append_images=[im2])
|
||||||
|
|
||||||
|
# Test that encoderinfo is unchanged
|
||||||
|
assert im2.encoderinfo == {"xmp": b"Second frame"}
|
||||||
|
|
||||||
assert im_reloaded.info["xmp"] == b"First frame"
|
assert im_reloaded.info["xmp"] == b"First frame"
|
||||||
|
|
||||||
im_reloaded.seek(1)
|
im_reloaded.seek(1)
|
||||||
|
|
|
@ -2551,7 +2551,8 @@ class Image:
|
||||||
self.load()
|
self.load()
|
||||||
|
|
||||||
save_all = params.pop("save_all", None)
|
save_all = params.pop("save_all", None)
|
||||||
self.encoderinfo = {**getattr(self, "encoderinfo", {}), **params}
|
encoderinfo = getattr(self, "encoderinfo", {})
|
||||||
|
self.encoderinfo = {**encoderinfo, **params}
|
||||||
self.encoderconfig: tuple[Any, ...] = ()
|
self.encoderconfig: tuple[Any, ...] = ()
|
||||||
|
|
||||||
if format.upper() not in SAVE:
|
if format.upper() not in SAVE:
|
||||||
|
@ -2589,10 +2590,7 @@ class Image:
|
||||||
pass
|
pass
|
||||||
raise
|
raise
|
||||||
finally:
|
finally:
|
||||||
try:
|
self.encoderinfo = encoderinfo
|
||||||
del self.encoderinfo
|
|
||||||
except AttributeError:
|
|
||||||
pass
|
|
||||||
if open_fp:
|
if open_fp:
|
||||||
fp.close()
|
fp.close()
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user