@@ -343,7 +343,7 @@ def decode_unicode_escape(value):
343343__version_date__ = str (__version_date_info__ [0 ]) + "." + str (
344344 __version_date_info__ [1 ]).zfill (2 ) + "." + str (__version_date_info__ [2 ]).zfill (2 )
345345__revision__ = __version_info__ [3 ]
346- __revision_id__ = "$Id$"
346+ __revision_id__ = "$Id: c3aca46818f956837f8e3396ed9cbe439565ebd1 $"
347347if (__version_info__ [4 ] is not None ):
348348 __version_date_plusrc__ = __version_date__ + \
349349 "-" + str (__version_date_info__ [4 ])
@@ -2501,14 +2501,15 @@ def ReadFileDataBySizeWithContent(fp, listonly=False, uncompress=True, skipcheck
25012501 catfp , formatspecs ['format_delimiter' ])
25022502 if (curloc > 0 ):
25032503 fp .seek (curloc , 0 )
2504- headercheck = ValidateHeaderChecksum (
2505- catheader [:- 1 ], catheader [- 2 ], catheader [- 1 ], formatspecs )
2506- newfcs = GetHeaderChecksum (catheader [:- 2 ], catheader [- 2 ], True , formatspecs )
2504+ fprechecksumtype = catheader [- 2 ]
2505+ fprechecksum = catheader [- 1 ]
2506+ headercheck = ValidateHeaderChecksum (catheader [:- 1 ], fprechecksumtype , fprechecksum , formatspecs )
2507+ newfcs = GetHeaderChecksum (catheader [:- 2 ], fprechecksumtype , True , formatspecs )
25072508 if (not headercheck and not skipchecksum ):
25082509 VerbosePrintOut (
25092510 "File Header Checksum Error with file at offset " + str (0 ))
2510- VerbosePrintOut ("'" + str (newfcs ) + "' != " +
2511- "'" + str (catheader [ - 1 ] ) + "'" )
2511+ VerbosePrintOut ("'" + str (fprechecksum ) + "' != " +
2512+ "'" + str (newfcs ) + "'" )
25122513 return False
25132514 fnumfiles = int (catheader [4 ], 16 )
25142515 countnum = 0
@@ -2539,14 +2540,15 @@ def ReadFileDataBySizeWithContentToArray(fp, seekstart=0, seekend=0, listonly=Fa
25392540 catfp , formatspecs ['format_delimiter' ])
25402541 if (curloc > 0 ):
25412542 fp .seek (curloc , 0 )
2542- headercheck = ValidateHeaderChecksum (
2543- catheader [:- 1 ], catheader [- 2 ], catheader [- 1 ], formatspecs )
2544- newfcs = GetHeaderChecksum (catheader [:- 2 ], catheader [- 2 ], True , formatspecs )
2543+ fprechecksumtype = catheader [- 2 ]
2544+ fprechecksum = catheader [- 1 ]
2545+ headercheck = ValidateHeaderChecksum (catheader [:- 1 ], fprechecksumtype , fprechecksum , formatspecs )
2546+ newfcs = GetHeaderChecksum (catheader [:- 2 ], fprechecksumtype , True , formatspecs )
25452547 if (not headercheck and not skipchecksum ):
25462548 VerbosePrintOut (
25472549 "File Header Checksum Error with file at offset " + str (0 ))
2548- VerbosePrintOut ("'" + str (newfcs ) + "' != " +
2549- "'" + str (catheader [ - 1 ] ) + "'" )
2550+ VerbosePrintOut ("'" + str (fprechecksum ) + "' != " +
2551+ "'" + str (newfcs ) + "'" )
25502552 return False
25512553 catversion = re .findall ("([\\ d]+)" , catstring )
25522554 fheadsize = int (catheader [0 ], 16 )
@@ -2656,14 +2658,15 @@ def ReadFileDataBySizeWithContentToList(fp, seekstart=0, seekend=0, listonly=Fal
26562658 else :
26572659 catheader = ReadFileHeaderDataWoSize (
26582660 catfp , formatspecs ['format_delimiter' ])
2659- headercheck = ValidateHeaderChecksum (
2660- catheader [:- 1 ], catheader [- 2 ], catheader [- 1 ], formatspecs )
2661- newfcs = GetHeaderChecksum (catheader [:- 2 ], catheader [- 2 ], True , formatspecs )
2661+ fprechecksumtype = catheader [- 2 ]
2662+ fprechecksum = catheader [- 1 ]
2663+ headercheck = ValidateHeaderChecksum (catheader [:- 1 ], fprechecksumtype , fprechecksum , formatspecs )
2664+ newfcs = GetHeaderChecksum (catheader [:- 2 ], fprechecksumtype , True , formatspecs )
26622665 if (not headercheck and not skipchecksum ):
26632666 VerbosePrintOut (
26642667 "File Header Checksum Error with file at offset " + str (0 ))
2665- VerbosePrintOut ("'" + str (newfcs ) + "' != " +
2666- "'" + str (catheader [ 3 ] ) + "'" )
2668+ VerbosePrintOut ("'" + str (fprechecksum ) + "' != " +
2669+ "'" + str (newfcs ) + "'" )
26672670 return False
26682671 fnumextrafieldsize = int (catheader [5 ], 16 )
26692672 fnumextrafields = int (catheader [6 ], 16 )
@@ -5998,14 +6001,14 @@ def ArchiveFileSeekToFileNum(infile, seekto=0, listonly=False, contentasfile=Tru
59986001 fnumfiles = int (catheader [4 ], 16 )
59996002 fprechecksumtype = catheader [- 2 ]
60006003 fprechecksum = catheader [- 1 ]
6001- headercheck = ValidateHeaderChecksum (
6002- catheader [:- 1 ], catheader [- 2 ], catheader [- 1 ], formatspecs )
6003- newfcs = GetHeaderChecksum (catheader [:- 2 ], catheader [- 2 ], True , formatspecs )
6004+ headercheck = ValidateHeaderChecksum (catheader [:- 1 ], fprechecksumtype , fprechecksum , formatspecs )
6005+ newfcs = GetHeaderChecksum (catheader [:- 2 ], fprechecksumtype , True , formatspecs )
60046006 if (not headercheck and not skipchecksum ):
60056007 VerbosePrintOut (
60066008 "File Header Checksum Error with file at offset " + str (0 ))
6007- VerbosePrintOut ("'" + str (newfcs ) + "' != " +
6008- "'" + str (catheader [- 1 ]) + "'" )
6009+ VerbosePrintOut ("'" + str (fprechecksum ) + "' != " +
6010+ "'" + str (newfcs ) + "'" )
6011+ return False
60096012 catversions = re .search ('(.*?)(\\ d+)' , catstring ).groups ()
60106013 fcompresstype = compresscheck
60116014 if (fcompresstype == formatspecs ['format_lower' ]):
@@ -6271,14 +6274,14 @@ def ArchiveFileSeekToFileName(infile, seekfile=None, listonly=False, contentasfi
62716274 fnumfiles = int (catheader [4 ], 16 )
62726275 fprechecksumtype = catheader [- 2 ]
62736276 fprechecksum = catheader [- 1 ]
6274- headercheck = ValidateHeaderChecksum (
6275- catheader [:- 1 ], catheader [- 2 ], catheader [- 1 ], formatspecs )
6276- newfcs = GetHeaderChecksum (catheader [:- 2 ], catheader [- 2 ], True , formatspecs )
6277+ headercheck = ValidateHeaderChecksum (catheader [:- 1 ], fprechecksumtype , fprechecksum , formatspecs )
6278+ newfcs = GetHeaderChecksum (catheader [:- 2 ], fprechecksumtype , True , formatspecs )
62776279 if (not headercheck and not skipchecksum ):
62786280 VerbosePrintOut (
62796281 "File Header Checksum Error with file at offset " + str (0 ))
6280- VerbosePrintOut ("'" + str (newfcs ) + "' != " +
6281- "'" + str (catheader [- 1 ]) + "'" )
6282+ VerbosePrintOut ("'" + str (fprechecksum ) + "' != " +
6283+ "'" + str (newfcs ) + "'" )
6284+ return False
62826285 catversions = re .search ('(.*?)(\\ d+)' , catstring ).groups ()
62836286 fcompresstype = compresscheck
62846287 if (fcompresstype == formatspecs ['format_lower' ]):
@@ -6583,9 +6586,8 @@ def ArchiveFileValidate(infile, formatspecs=__file_format_dict__, verbose=False,
65836586 fprechecksumtype = catheader [- 2 ]
65846587 fprechecksum = catheader [- 1 ]
65856588 il = 0
6586- headercheck = ValidateHeaderChecksum (
6587- catheader [:- 1 ], catheader [- 2 ], catheader [- 1 ], formatspecs )
6588- newfcs = GetHeaderChecksum (catheader [:- 2 ], catheader [- 2 ], True , formatspecs )
6589+ headercheck = ValidateHeaderChecksum (catheader [:- 1 ], fprechecksumtype , fprechecksum , formatspecs )
6590+ newfcs = GetHeaderChecksum (catheader [:- 2 ], fprechecksumtype , True , formatspecs )
65896591 valid_archive = True
65906592 invalid_archive = False
65916593 if (verbose ):
@@ -6603,12 +6605,12 @@ def ArchiveFileValidate(infile, formatspecs=__file_format_dict__, verbose=False,
66036605 if (verbose ):
66046606 VerbosePrintOut ("File Header Checksum Passed at offset " + str (0 ))
66056607 VerbosePrintOut ("'" + str (fprechecksum ) + "' == " +
6606- "'" + str (catheader [ - 1 ] ) + "'" )
6608+ "'" + str (newfcs ) + "'" )
66076609 else :
66086610 if (verbose ):
66096611 VerbosePrintOut ("File Header Checksum Failed at offset " + str (0 ))
66106612 VerbosePrintOut ("'" + str (fprechecksum ) + "' != " +
6611- "'" + str (catheader [ - 1 ] ) + "'" )
6613+ "'" + str (newfcs ) + "'" )
66126614 valid_archive = False
66136615 invalid_archive = True
66146616 if (verbose ):
@@ -6924,14 +6926,13 @@ def ArchiveFileToArray(infile, seekstart=0, seekend=0, listonly=False, contentas
69246926 fnumfiles = int (catheader [4 ], 16 )
69256927 fprechecksumtype = catheader [- 2 ]
69266928 fprechecksum = catheader [- 1 ]
6927- headercheck = ValidateHeaderChecksum (
6928- catheader [:- 1 ], catheader [- 2 ], catheader [- 1 ], formatspecs )
6929- newfcs = GetHeaderChecksum (catheader [:- 2 ], catheader [- 2 ], True , formatspecs )
6929+ headercheck = ValidateHeaderChecksum (catheader [:- 1 ], fprechecksumtype , fprechecksum , formatspecs )
6930+ newfcs = GetHeaderChecksum (catheader [:- 2 ], fprechecksumtype , True , formatspecs )
69306931 if (not headercheck and not skipchecksum ):
69316932 VerbosePrintOut (
69326933 "File Header Checksum Error with file at offset " + str (0 ))
6933- VerbosePrintOut ("'" + str (newfcs ) + "' != " +
6934- "'" + str (catheader [ - 1 ] ) + "'" )
6934+ VerbosePrintOut ("'" + str (fprechecksum ) + "' != " +
6935+ "'" + str (newfcs ) + "'" )
69356936 return False
69366937 catversions = re .search ('(.*?)(\\ d+)' , catstring ).groups ()
69376938 fcompresstype = compresscheck
0 commit comments