Skip to content

Commit

Permalink
Update pycatfile.py
Browse files Browse the repository at this point in the history
  • Loading branch information
KazukiPrzyborowski committed Jan 15, 2025
1 parent 3fce588 commit 6d24172
Showing 1 changed file with 48 additions and 18 deletions.
66 changes: 48 additions & 18 deletions pycatfile.py
Original file line number Diff line number Diff line change
Expand Up @@ -3200,7 +3200,10 @@ def AppendFileHeader(fp, numfiles, fencoding, extradata=[], checksumtype="crc32"
AppendNullByte(catfileheadercshex, formatspecs['format_delimiter'])
catheaersize = format(int(len(fnumfilesa) - len(formatspecs['format_delimiter'])), 'x').lower()
catheaersizestr = AppendNullByte(catheaersize, formatspecs['format_delimiter'])
fp.write(fnumfilesa.encode('UTF-8'))
try:
fp.write(fnumfilesa.encode('UTF-8'))
except OSError:
return False
try:
fp.flush()
if(hasattr(os, "sync")):
Expand Down Expand Up @@ -3328,7 +3331,10 @@ def AppendFileHeaderWithContent(fp, filevalues=[], extradata=[], filecontent="",
catfileoutstrecd = catfileoutstr.encode('UTF-8')
nullstrecd = formatspecs['format_delimiter'].encode('UTF-8')
catfileout = catfileoutstrecd + filecontent + nullstrecd
fp.write(catfileout)
try:
fp.write(catfileout)
except OSError:
return False
try:
fp.flush()
if(hasattr(os, "sync")):
Expand Down Expand Up @@ -3630,8 +3636,11 @@ def AppendFilesWithContent(infiles, fp, dirlistfromtxt=False, filevalues=[], ext
AppendFileHeaderWithContent(
fp, catoutlist, extradata, fcontents.read(), [checksumtype[1], checksumtype[2]], formatspecs)
if(numfiles > 0):
catfp.write(AppendNullBytes(
["0", "0"], formatspecs['format_delimiter']).encode("UTF-8"))
try:
catfp.write(AppendNullBytes(
["0", "0"], formatspecs['format_delimiter']).encode("UTF-8"))
except OSError:
return False
fp.seek(0, 0)
return fp

Expand Down Expand Up @@ -3694,8 +3703,11 @@ def AppendListsWithContent(inlist, fp, dirlistfromtxt=False, filevalues=[], extr
AppendFileHeaderWithContent(
fp, catoutlist, extradata, fcontents.read(), [checksumtype[1], checksumtype[2]], formatspecs)
if(numfiles > 0):
fp.write(AppendNullBytes(
["0", "0"], formatspecs['format_delimiter']).encode("UTF-8"))
try:
fp.write(AppendNullBytes(
["0", "0"], formatspecs['format_delimiter']).encode("UTF-8"))
except OSError:
return False
return fp


Expand Down Expand Up @@ -4871,8 +4883,11 @@ def PackArchiveFile(infiles, outfile, dirlistfromtxt=False, compression="auto",
catfp, catoutlist, extradata, fcontents.read(), [checksumtype[1], checksumtype[2]], formatspecs)
fcontents.close()
if(numfiles > 0):
catfp.write(AppendNullBytes(
["0", "0"], formatspecs['format_delimiter']).encode("UTF-8"))
try:
catfp.write(AppendNullBytes(
["0", "0"], formatspecs['format_delimiter']).encode("UTF-8"))
except OSError:
return False
if(outfile == "-" or outfile is None or hasattr(outfile, "read") or hasattr(outfile, "write")):
catfp = CompressArchiveFile(
catfp, compression, compressionlevel, formatspecs)
Expand Down Expand Up @@ -5149,8 +5164,11 @@ def PackArchiveFileFromTarFile(infile, outfile, compression="auto", compresswhol
catfp, catoutlist, extradata, fcontents.read(), [checksumtype[1], checksumtype[2]], formatspecs)
fcontents.close()
if(numfiles > 0):
catfp.write(AppendNullBytes(
["0", "0"], formatspecs['format_delimiter']).encode("UTF-8"))
try:
catfp.write(AppendNullBytes(
["0", "0"], formatspecs['format_delimiter']).encode("UTF-8"))
except OSError:
return False
if(outfile == "-" or outfile is None or hasattr(outfile, "read") or hasattr(outfile, "write")):
catfp = CompressArchiveFile(
catfp, compression, compressionlevel, formatspecs)
Expand Down Expand Up @@ -5416,8 +5434,11 @@ def PackArchiveFileFromZipFile(infile, outfile, compression="auto", compresswhol
catfp, catoutlist, extradata, fcontents.read(), [checksumtype[1], checksumtype[2]], formatspecs)
fcontents.close()
if(numfiles > 0):
catfp.write(AppendNullBytes(
["0", "0"], formatspecs['format_delimiter']).encode("UTF-8"))
try:
catfp.write(AppendNullBytes(
["0", "0"], formatspecs['format_delimiter']).encode("UTF-8"))
except OSError:
return False
if(outfile == "-" or outfile is None or hasattr(outfile, "read") or hasattr(outfile, "write")):
catfp = CompressArchiveFile(
catfp, compression, compressionlevel, formatspecs)
Expand Down Expand Up @@ -5713,8 +5734,11 @@ def PackArchiveFileFromRarFile(infile, outfile, compression="auto", compresswhol
catfp, catoutlist, extradata, fcontents.read(), [checksumtype[1], checksumtype[2]], formatspecs)
fcontents.close()
if(numfiles > 0):
catfp.write(AppendNullBytes(
["0", "0"], formatspecs['format_delimiter']).encode("UTF-8"))
try:
catfp.write(AppendNullBytes(
["0", "0"], formatspecs['format_delimiter']).encode("UTF-8"))
except OSError:
return False
if(outfile == "-" or outfile is None or hasattr(outfile, "read") or hasattr(outfile, "write")):
catfp = CompressArchiveFile(
catfp, compression, compressionlevel, formatspecs)
Expand Down Expand Up @@ -5943,8 +5967,11 @@ def PackArchiveFileFromSevenZipFile(infile, outfile, compression="auto", compres
catfp, catoutlist, extradata, fcontents.read(), [checksumtype[1], checksumtype[2]], formatspecs)
fcontents.close()
if(numfiles > 0):
catfp.write(AppendNullBytes(
["0", "0"], formatspecs['format_delimiter']).encode("UTF-8"))
try:
catfp.write(AppendNullBytes(
["0", "0"], formatspecs['format_delimiter']).encode("UTF-8"))
except OSError:
return False
if(outfile == "-" or outfile is None or hasattr(outfile, "read") or hasattr(outfile, "write")):
catfp = CompressArchiveFile(
catfp, compression, compressionlevel, formatspecs)
Expand Down Expand Up @@ -9125,8 +9152,11 @@ def RePackArchiveFile(infile, outfile, compression="auto", compresswholefile=Tru
lcfi = lcfi + 1
reallcfi = reallcfi + 1
if(lcfx > 0):
catfp.write(AppendNullBytes(
["0", "0"], formatspecs['format_delimiter']).encode("UTF-8"))
try:
catfp.write(AppendNullBytes(
["0", "0"], formatspecs['format_delimiter']).encode("UTF-8"))
except OSError:
return False
if(outfile == "-" or outfile is None or hasattr(outfile, "read") or hasattr(outfile, "write")):
catfp = CompressArchiveFile(
catfp, compression, compressionlevel, formatspecs)
Expand Down

0 comments on commit 6d24172

Please sign in to comment.