Skip to content

Commit 68ac337

Browse files
committed
Codec is always "iptc"
1 parent bc2519a commit 68ac337

File tree

1 file changed

+26
-28
lines changed

1 file changed

+26
-28
lines changed

src/PIL/IptcImagePlugin.py

Lines changed: 26 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -124,35 +124,33 @@ def _open(self) -> None:
124124
]
125125

126126
def load(self) -> Image.core.PixelAccess | None:
127-
if len(self.tile) != 1 or self.tile[0][0] != "iptc":
128-
return ImageFile.ImageFile.load(self)
129-
130-
offset, compression = self.tile[0][2:]
131-
132-
self.fp.seek(offset)
133-
134-
# Copy image data to temporary file
135-
o = BytesIO()
136-
if compression == "raw":
137-
# To simplify access to the extracted file,
138-
# prepend a PPM header
139-
o.write(b"P5\n%d %d\n255\n" % self.size)
140-
while True:
141-
type, size = self.field()
142-
if type != (8, 10):
143-
break
144-
while size > 0:
145-
s = self.fp.read(min(size, 8192))
146-
if not s:
127+
if self.tile:
128+
offset, compression = self.tile[0][2:]
129+
130+
self.fp.seek(offset)
131+
132+
# Copy image data to temporary file
133+
o = BytesIO()
134+
if compression == "raw":
135+
# To simplify access to the extracted file,
136+
# prepend a PPM header
137+
o.write(b"P5\n%d %d\n255\n" % self.size)
138+
while True:
139+
type, size = self.field()
140+
if type != (8, 10):
147141
break
148-
o.write(s)
149-
size -= len(s)
150-
151-
with Image.open(o) as _im:
152-
_im.load()
153-
self.im = _im.im
154-
self.tile = []
155-
return Image.Image.load(self)
142+
while size > 0:
143+
s = self.fp.read(min(size, 8192))
144+
if not s:
145+
break
146+
o.write(s)
147+
size -= len(s)
148+
149+
with Image.open(o) as _im:
150+
_im.load()
151+
self.im = _im.im
152+
self.tile = []
153+
return ImageFile.ImageFile.load(self)
156154

157155

158156
Image.register_open(IptcImageFile.format, IptcImageFile)

0 commit comments

Comments
 (0)