PERF203 fixes
This commit is contained in:
parent
9006c305cf
commit
9a7b91e5db
@ -164,13 +164,13 @@ class GifImageFile(ImageFile.ImageFile):
|
||||
self._seek(0)
|
||||
|
||||
last_frame = self.__frame
|
||||
for f in range(self.__frame + 1, frame + 1):
|
||||
try:
|
||||
try:
|
||||
for f in range(self.__frame + 1, frame + 1):
|
||||
self._seek(f)
|
||||
except EOFError as e: # noqa: PERF203
|
||||
self.seek(last_frame)
|
||||
msg = "no more images in GIF file"
|
||||
raise EOFError(msg) from e
|
||||
except EOFError as e:
|
||||
self.seek(last_frame)
|
||||
msg = "no more images in GIF file"
|
||||
raise EOFError(msg) from e
|
||||
|
||||
def _seek(self, frame: int, update_image: bool = True) -> None:
|
||||
if isinstance(self._fp, DeferredError):
|
||||
|
||||
@ -127,8 +127,8 @@ def APP(self: JpegImageFile, marker: int) -> None:
|
||||
# parse the image resource block
|
||||
offset = 14
|
||||
photoshop = self.info.setdefault("photoshop", {})
|
||||
while s[offset : offset + 4] == b"8BIM":
|
||||
try:
|
||||
try:
|
||||
while s[offset : offset + 4] == b"8BIM":
|
||||
offset += 4
|
||||
# resource code
|
||||
code = i16(s, offset)
|
||||
@ -153,8 +153,8 @@ def APP(self: JpegImageFile, marker: int) -> None:
|
||||
photoshop[code] = data
|
||||
offset += size
|
||||
offset += offset & 1 # align
|
||||
except struct.error: # noqa: PERF203
|
||||
break # insufficient data
|
||||
except struct.error:
|
||||
pass # insufficient data
|
||||
|
||||
elif marker == 0xFFEE and s.startswith(b"Adobe"):
|
||||
self.info["adobe"] = i16(s, 5)
|
||||
@ -738,17 +738,15 @@ def _save(im: Image.Image, fp: IO[bytes], filename: str | bytes) -> None:
|
||||
if not (0 < len(qtables) < 5):
|
||||
msg = "None or too many quantization tables"
|
||||
raise ValueError(msg)
|
||||
for idx, table in enumerate(qtables):
|
||||
try:
|
||||
try:
|
||||
for idx, table in enumerate(qtables):
|
||||
if len(table) != 64:
|
||||
msg = "Invalid quantization table"
|
||||
raise TypeError(msg)
|
||||
table_array = array.array("H", table)
|
||||
except TypeError as e: # noqa: PERF203
|
||||
msg = "Invalid quantization table"
|
||||
raise ValueError(msg) from e
|
||||
else:
|
||||
qtables[idx] = list(table_array)
|
||||
qtables[idx] = list(array.array("H", table))
|
||||
except TypeError as e:
|
||||
msg = "Invalid quantization table"
|
||||
raise ValueError(msg) from e
|
||||
return qtables
|
||||
|
||||
if qtables == "keep":
|
||||
|
||||
@ -866,13 +866,13 @@ class PngImageFile(ImageFile.ImageFile):
|
||||
self._seek(0, True)
|
||||
|
||||
last_frame = self.__frame
|
||||
for f in range(self.__frame + 1, frame + 1):
|
||||
try:
|
||||
try:
|
||||
for f in range(self.__frame + 1, frame + 1):
|
||||
self._seek(f)
|
||||
except EOFError as e: # noqa: PERF203
|
||||
self.seek(last_frame)
|
||||
msg = "no more images in APNG file"
|
||||
raise EOFError(msg) from e
|
||||
except EOFError as e:
|
||||
self.seek(last_frame)
|
||||
msg = "no more images in APNG file"
|
||||
raise EOFError(msg) from e
|
||||
|
||||
def _seek(self, frame: int, rewind: bool = False) -> None:
|
||||
assert self.png is not None
|
||||
|
||||
Loading…
Reference in New Issue
Block a user