Skip to content

Commit 1103e82

Browse files
committed
Include filename in state
1 parent 7c56b38 commit 1103e82

File tree

3 files changed

+6
-1
lines changed

3 files changed

+6
-1
lines changed

Tests/test_pickle.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,7 @@ def test_pickle_jpeg() -> None:
8181
unpickled_image = pickle.loads(pickle.dumps(image))
8282

8383
# Assert
84+
assert unpickled_image.filename == "Tests/images/hopper.jpg"
8485
assert len(unpickled_image.layer) == 3
8586
assert unpickled_image.layers == 3
8687

src/PIL/ImageFile.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -252,8 +252,12 @@ def get_format_mimetype(self) -> str | None:
252252
return Image.MIME.get(self.format.upper())
253253
return None
254254

255+
def __getstate__(self) -> list[Any]:
256+
return super().__getstate__() + [self.filename]
257+
255258
def __setstate__(self, state: list[Any]) -> None:
256259
self.tile = []
260+
self.filename = state[5]
257261
super().__setstate__(state)
258262

259263
def verify(self) -> None:

src/PIL/JpegImagePlugin.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -403,8 +403,8 @@ def __getstate__(self) -> list[Any]:
403403
return super().__getstate__() + [self.layers, self.layer]
404404

405405
def __setstate__(self, state: list[Any]) -> None:
406+
self.layers, self.layer = state[6:]
406407
super().__setstate__(state)
407-
self.layers, self.layer = state[5:]
408408

409409
def load_read(self, read_bytes: int) -> bytes:
410410
"""

0 commit comments

Comments
 (0)