Skip to content

Commit a9ef0e2

Browse files
authored
PERF203 and PERF401 fixes (#148)
2 parents 9006c30 + 701b49a commit a9ef0e2

File tree

4 files changed

+27
-32
lines changed

4 files changed

+27
-32
lines changed

src/PIL/GifImagePlugin.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -164,13 +164,13 @@ def seek(self, frame: int) -> None:
164164
self._seek(0)
165165

166166
last_frame = self.__frame
167-
for f in range(self.__frame + 1, frame + 1):
168-
try:
167+
try:
168+
for f in range(self.__frame + 1, frame + 1):
169169
self._seek(f)
170-
except EOFError as e: # noqa: PERF203
171-
self.seek(last_frame)
172-
msg = "no more images in GIF file"
173-
raise EOFError(msg) from e
170+
except EOFError as e:
171+
self.seek(last_frame)
172+
msg = "no more images in GIF file"
173+
raise EOFError(msg) from e
174174

175175
def _seek(self, frame: int, update_image: bool = True) -> None:
176176
if isinstance(self._fp, DeferredError):

src/PIL/JpegImagePlugin.py

Lines changed: 10 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -127,8 +127,8 @@ def APP(self: JpegImageFile, marker: int) -> None:
127127
# parse the image resource block
128128
offset = 14
129129
photoshop = self.info.setdefault("photoshop", {})
130-
while s[offset : offset + 4] == b"8BIM":
131-
try:
130+
try:
131+
while s[offset : offset + 4] == b"8BIM":
132132
offset += 4
133133
# resource code
134134
code = i16(s, offset)
@@ -153,8 +153,8 @@ def APP(self: JpegImageFile, marker: int) -> None:
153153
photoshop[code] = data
154154
offset += size
155155
offset += offset & 1 # align
156-
except struct.error: # noqa: PERF203
157-
break # insufficient data
156+
except struct.error:
157+
pass # insufficient data
158158

159159
elif marker == 0xFFEE and s.startswith(b"Adobe"):
160160
self.info["adobe"] = i16(s, 5)
@@ -738,17 +738,15 @@ def validate_qtables(
738738
if not (0 < len(qtables) < 5):
739739
msg = "None or too many quantization tables"
740740
raise ValueError(msg)
741-
for idx, table in enumerate(qtables):
742-
try:
741+
try:
742+
for idx, table in enumerate(qtables):
743743
if len(table) != 64:
744744
msg = "Invalid quantization table"
745745
raise TypeError(msg)
746-
table_array = array.array("H", table)
747-
except TypeError as e: # noqa: PERF203
748-
msg = "Invalid quantization table"
749-
raise ValueError(msg) from e
750-
else:
751-
qtables[idx] = list(table_array)
746+
qtables[idx] = list(array.array("H", table))
747+
except TypeError as e:
748+
msg = "Invalid quantization table"
749+
raise ValueError(msg) from e
752750
return qtables
753751

754752
if qtables == "keep":

src/PIL/PngImagePlugin.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -866,13 +866,13 @@ def seek(self, frame: int) -> None:
866866
self._seek(0, True)
867867

868868
last_frame = self.__frame
869-
for f in range(self.__frame + 1, frame + 1):
870-
try:
869+
try:
870+
for f in range(self.__frame + 1, frame + 1):
871871
self._seek(f)
872-
except EOFError as e: # noqa: PERF203
873-
self.seek(last_frame)
874-
msg = "no more images in APNG file"
875-
raise EOFError(msg) from e
872+
except EOFError as e:
873+
self.seek(last_frame)
874+
msg = "no more images in APNG file"
875+
raise EOFError(msg) from e
876876

877877
def _seek(self, frame: int, rewind: bool = False) -> None:
878878
assert self.png is not None

winbuild/build_prepare.py

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -542,14 +542,11 @@ def write_script(
542542

543543

544544
def get_footer(dep: dict[str, Any]) -> list[str]:
545-
lines = []
546-
for out in dep.get("headers", []):
547-
lines.append(cmd_copy(out, "{inc_dir}")) # noqa: PERF401
548-
for out in dep.get("libs", []):
549-
lines.append(cmd_copy(out, "{lib_dir}")) # noqa: PERF401
550-
for out in dep.get("bins", []):
551-
lines.append(cmd_copy(out, "{bin_dir}")) # noqa: PERF401
552-
return lines
545+
return (
546+
[cmd_copy(out, "{inc_dir}") for out in dep.get("headers", [])]
547+
+ [cmd_copy(out, "{lib_dir}") for out in dep.get("libs", [])]
548+
+ [cmd_copy(out, "{bin_dir}") for out in dep.get("bins", [])]
549+
)
553550

554551

555552
def build_env(prefs: dict[str, str], verbose: bool) -> None:

0 commit comments

Comments
 (0)