Skip to content

Commit e137bee

Browse files
author
Joshua Thomas Przyborowski
authored
Add files via upload
1 parent aae0557 commit e137bee

1 file changed

Lines changed: 37 additions & 36 deletions

File tree

pycatfile.py

Lines changed: 37 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -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 $"
347347
if(__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

Comments
 (0)