@@ -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