Skip to content

Commit c3c8345

Browse files
committed
Introduce _debug and refactor
1 parent bdc58c7 commit c3c8345

File tree

1 file changed

+8
-8
lines changed

1 file changed

+8
-8
lines changed

Lib/zipfile/__init__.py

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1372,6 +1372,10 @@ class _ZipRepacker:
13721372
def __init__(self, debug=0):
13731373
self.debug = debug # Level of printing: 0 through 3
13741374

1375+
def _debug(self, level, *msg):
1376+
if self.debug >= level:
1377+
print(*msg)
1378+
13751379
def repack(self, zfile):
13761380
"""
13771381
Repack the ZIP file, removing unrecorded local file entries and random
@@ -1497,11 +1501,9 @@ def _repack(self, zfile, *, chunk_size=2**20):
14971501
def _calc_initial_entry_offset(self, fp, data_offset):
14981502
checked_offsets = set()
14991503
if data_offset > 0:
1500-
if self.debug > 2:
1501-
print('scanning file signatures before:', data_offset)
1504+
self._debug(3, 'scanning file signatures before:', data_offset)
15021505
for pos in self._iter_scan_signature(fp, stringFileHeader, 0, data_offset):
1503-
if self.debug > 2:
1504-
print('checking file signature at:', pos)
1506+
self._debug(3, 'checking file signature at:', pos)
15051507
if self._validate_local_file_entry_sequence(fp, pos, data_offset, checked_offsets):
15061508
return data_offset - pos
15071509
return 0
@@ -1535,15 +1537,13 @@ def _validate_local_file_entry_sequence(self, fp, start_offset, end_offset, chec
15351537
offset = start_offset
15361538

15371539
while offset < end_offset:
1538-
if self.debug > 2:
1539-
print('checking local file entry at:', offset)
1540+
self._debug(3, 'checking local file entry at:', offset)
15401541

15411542
# Cache checked offsets to improve performance by failing
15421543
# subsequent (possible) file entry offsets early. They are
15431544
# rechecked only when proven false eventually.
15441545
if offset in checked_offsets:
1545-
if self.debug > 2:
1546-
print('skipping checked:', offset)
1546+
self._debug(3, 'skipping checked:', offset)
15471547
return False
15481548
else:
15491549
checked_offsets.add(offset)

0 commit comments

Comments
 (0)