PyCatFile 0.24.0__tar.gz → 0.24.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {pycatfile-0.24.0 → pycatfile-0.24.2}/PKG-INFO +1 -1
- {pycatfile-0.24.0 → pycatfile-0.24.2}/PyCatFile.egg-info/PKG-INFO +1 -1
- {pycatfile-0.24.0 → pycatfile-0.24.2}/catfile.py +1 -1
- {pycatfile-0.24.0 → pycatfile-0.24.2}/pycatfile.py +178 -24
- {pycatfile-0.24.0 → pycatfile-0.24.2}/pyproject.toml +1 -1
- {pycatfile-0.24.0 → pycatfile-0.24.2}/LICENSE +0 -0
- {pycatfile-0.24.0 → pycatfile-0.24.2}/PyCatFile.egg-info/SOURCES.txt +0 -0
- {pycatfile-0.24.0 → pycatfile-0.24.2}/PyCatFile.egg-info/dependency_links.txt +0 -0
- {pycatfile-0.24.0 → pycatfile-0.24.2}/PyCatFile.egg-info/top_level.txt +0 -0
- {pycatfile-0.24.0 → pycatfile-0.24.2}/PyCatFile.egg-info/zip-safe +0 -0
- {pycatfile-0.24.0 → pycatfile-0.24.2}/README.md +0 -0
- {pycatfile-0.24.0 → pycatfile-0.24.2}/catneofile.py +0 -0
- {pycatfile-0.24.0 → pycatfile-0.24.2}/neocatfile.py +0 -0
- {pycatfile-0.24.0 → pycatfile-0.24.2}/setup.cfg +0 -0
- {pycatfile-0.24.0 → pycatfile-0.24.2}/setup.py +0 -0
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
Copyright 2018-2024 Game Maker 2k - http://intdb.sourceforge.net/
|
|
15
15
|
Copyright 2018-2024 Kazuki Przyborowski - https://github.com/KazukiPrzyborowski
|
|
16
16
|
|
|
17
|
-
$FileInfo: catfile.py - Last Update: 10/
|
|
17
|
+
$FileInfo: catfile.py - Last Update: 10/31/2025 Ver. 0.24.2 RC 1 - Author: cooldude2k $
|
|
18
18
|
'''
|
|
19
19
|
|
|
20
20
|
from __future__ import absolute_import, division, print_function, unicode_literals, generators, with_statement, nested_scopes
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
Copyright 2018-2024 Game Maker 2k - http://intdb.sourceforge.net/
|
|
15
15
|
Copyright 2018-2024 Kazuki Przyborowski - https://github.com/KazukiPrzyborowski
|
|
16
16
|
|
|
17
|
-
$FileInfo: pycatfile.py - Last Update: 10/
|
|
17
|
+
$FileInfo: pycatfile.py - Last Update: 10/31/2025 Ver. 0.24.2 RC 1 - Author: cooldude2k $
|
|
18
18
|
'''
|
|
19
19
|
|
|
20
20
|
from __future__ import absolute_import, division, print_function, unicode_literals, generators, with_statement, nested_scopes
|
|
@@ -630,12 +630,12 @@ __file_format_extension__ = __file_format_multi_dict__[__file_format_default__][
|
|
|
630
630
|
__file_format_dict__ = __file_format_multi_dict__[__file_format_default__]
|
|
631
631
|
__project__ = __program_name__
|
|
632
632
|
__project_url__ = "https://github.com/GameMaker2k/PyCatFile"
|
|
633
|
-
__version_info__ = (0, 24,
|
|
634
|
-
__version_date_info__ = (2025, 10,
|
|
633
|
+
__version_info__ = (0, 24, 2, "RC 1", 1)
|
|
634
|
+
__version_date_info__ = (2025, 10, 31, "RC 1", 1)
|
|
635
635
|
__version_date__ = str(__version_date_info__[0]) + "." + str(
|
|
636
636
|
__version_date_info__[1]).zfill(2) + "." + str(__version_date_info__[2]).zfill(2)
|
|
637
637
|
__revision__ = __version_info__[3]
|
|
638
|
-
__revision_id__ = "$Id:
|
|
638
|
+
__revision_id__ = "$Id: a457db17e60184130c861d8d0790717b035aa222 $"
|
|
639
639
|
if(__version_info__[4] is not None):
|
|
640
640
|
__version_date_plusrc__ = __version_date__ + \
|
|
641
641
|
"-" + str(__version_date_info__[4])
|
|
@@ -6471,7 +6471,7 @@ def AppendFileHeaderWithContent(fp, filevalues=[], extradata=[], jsondata={}, fi
|
|
|
6471
6471
|
return fp
|
|
6472
6472
|
|
|
6473
6473
|
|
|
6474
|
-
def AppendFilesWithContent(infiles, fp, dirlistfromtxt=False,
|
|
6474
|
+
def AppendFilesWithContent(infiles, fp, dirlistfromtxt=False, extradata=[], jsondata={}, compression="auto", compresswholefile=True, compressionlevel=None, compressionuselist=compressionlistalt, followlink=False, checksumtype=["crc32", "crc32", "crc32", "crc32"], formatspecs=__file_format_dict__, verbose=False):
|
|
6475
6475
|
if(not hasattr(fp, "write")):
|
|
6476
6476
|
return False
|
|
6477
6477
|
advancedlist = formatspecs['use_advanced_list']
|
|
@@ -6521,6 +6521,16 @@ def AppendFilesWithContent(infiles, fp, dirlistfromtxt=False, filevalues=[], ext
|
|
|
6521
6521
|
numfiles = int(len(GetDirList))
|
|
6522
6522
|
fnumfiles = format(numfiles, 'x').lower()
|
|
6523
6523
|
AppendFileHeader(fp, numfiles, "UTF-8", [], checksumtype[0], formatspecs)
|
|
6524
|
+
try:
|
|
6525
|
+
fp.flush()
|
|
6526
|
+
if(hasattr(os, "sync")):
|
|
6527
|
+
os.fsync(fp.fileno())
|
|
6528
|
+
except io.UnsupportedOperation:
|
|
6529
|
+
pass
|
|
6530
|
+
except AttributeError:
|
|
6531
|
+
pass
|
|
6532
|
+
except OSError:
|
|
6533
|
+
pass
|
|
6524
6534
|
FullSizeFilesAlt = 0
|
|
6525
6535
|
for curfname in GetDirList:
|
|
6526
6536
|
fencoding = "UTF-8"
|
|
@@ -6772,6 +6782,16 @@ def AppendFilesWithContent(infiles, fp, dirlistfromtxt=False, filevalues=[], ext
|
|
|
6772
6782
|
fcsize, fuid, funame, fgid, fgname, fcurfid, fcurinode, flinkcount, fdev, fdev_minor, fdev_major, "+"+str(len(formatspecs['format_delimiter']))]
|
|
6773
6783
|
AppendFileHeaderWithContent(
|
|
6774
6784
|
fp, tmpoutlist, extradata, jsondata, fcontents.read(), [checksumtype[1], checksumtype[2], checksumtype[3]], formatspecs)
|
|
6785
|
+
try:
|
|
6786
|
+
fp.flush()
|
|
6787
|
+
if(hasattr(os, "sync")):
|
|
6788
|
+
os.fsync(fp.fileno())
|
|
6789
|
+
except io.UnsupportedOperation:
|
|
6790
|
+
pass
|
|
6791
|
+
except AttributeError:
|
|
6792
|
+
pass
|
|
6793
|
+
except OSError:
|
|
6794
|
+
pass
|
|
6775
6795
|
return fp
|
|
6776
6796
|
|
|
6777
6797
|
def AppendFilesWithContentFromTarFile(infile, fp, extradata=[], jsondata={}, compression="auto", compresswholefile=True, compressionlevel=None, compressionuselist=compressionlistalt, checksumtype=["crc32", "crc32", "crc32", "crc32"], formatspecs=__file_format_dict__, verbose=False):
|
|
@@ -6780,8 +6800,6 @@ def AppendFilesWithContentFromTarFile(infile, fp, extradata=[], jsondata={}, com
|
|
|
6780
6800
|
if(verbose):
|
|
6781
6801
|
logging.basicConfig(format="%(message)s",
|
|
6782
6802
|
stream=sys.stdout, level=logging.DEBUG)
|
|
6783
|
-
formver = formatspecs['format_ver']
|
|
6784
|
-
fileheaderver = str(int(formver.replace(".", "")))
|
|
6785
6803
|
curinode = 0
|
|
6786
6804
|
curfid = 0
|
|
6787
6805
|
inodelist = []
|
|
@@ -6849,6 +6867,16 @@ def AppendFilesWithContentFromTarFile(infile, fp, extradata=[], jsondata={}, com
|
|
|
6849
6867
|
return False
|
|
6850
6868
|
numfiles = int(len(tarfp.getmembers()))
|
|
6851
6869
|
AppendFileHeader(fp, numfiles, "UTF-8", [], checksumtype[0], formatspecs)
|
|
6870
|
+
try:
|
|
6871
|
+
fp.flush()
|
|
6872
|
+
if(hasattr(os, "sync")):
|
|
6873
|
+
os.fsync(fp.fileno())
|
|
6874
|
+
except io.UnsupportedOperation:
|
|
6875
|
+
pass
|
|
6876
|
+
except AttributeError:
|
|
6877
|
+
pass
|
|
6878
|
+
except OSError:
|
|
6879
|
+
pass
|
|
6852
6880
|
for member in sorted(tarfp.getmembers(), key=lambda x: x.name):
|
|
6853
6881
|
fencoding = "UTF-8"
|
|
6854
6882
|
if(re.findall("^[.|/]", member.name)):
|
|
@@ -6987,6 +7015,16 @@ def AppendFilesWithContentFromTarFile(infile, fp, extradata=[], jsondata={}, com
|
|
|
6987
7015
|
fcsize, fuid, funame, fgid, fgname, fcurfid, fcurinode, flinkcount, fdev, fdev_minor, fdev_major, "+"+str(len(formatspecs['format_delimiter']))]
|
|
6988
7016
|
AppendFileHeaderWithContent(
|
|
6989
7017
|
fp, tmpoutlist, extradata, jsondata, fcontents.read(), [checksumtype[1], checksumtype[2], checksumtype[3]], formatspecs)
|
|
7018
|
+
try:
|
|
7019
|
+
fp.flush()
|
|
7020
|
+
if(hasattr(os, "sync")):
|
|
7021
|
+
os.fsync(fp.fileno())
|
|
7022
|
+
except io.UnsupportedOperation:
|
|
7023
|
+
pass
|
|
7024
|
+
except AttributeError:
|
|
7025
|
+
pass
|
|
7026
|
+
except OSError:
|
|
7027
|
+
pass
|
|
6990
7028
|
fcontents.close()
|
|
6991
7029
|
return fp
|
|
6992
7030
|
|
|
@@ -6996,8 +7034,6 @@ def AppendFilesWithContentFromZipFile(infile, fp, extradata=[], jsondata={}, com
|
|
|
6996
7034
|
if(verbose):
|
|
6997
7035
|
logging.basicConfig(format="%(message)s",
|
|
6998
7036
|
stream=sys.stdout, level=logging.DEBUG)
|
|
6999
|
-
formver = formatspecs['format_ver']
|
|
7000
|
-
fileheaderver = str(int(formver.replace(".", "")))
|
|
7001
7037
|
curinode = 0
|
|
7002
7038
|
curfid = 0
|
|
7003
7039
|
inodelist = []
|
|
@@ -7035,6 +7071,16 @@ def AppendFilesWithContentFromZipFile(infile, fp, extradata=[], jsondata={}, com
|
|
|
7035
7071
|
VerbosePrintOut("Bad file found!")
|
|
7036
7072
|
numfiles = int(len(zipfp.infolist()))
|
|
7037
7073
|
AppendFileHeader(fp, numfiles, "UTF-8", [], checksumtype[0], formatspecs)
|
|
7074
|
+
try:
|
|
7075
|
+
fp.flush()
|
|
7076
|
+
if(hasattr(os, "sync")):
|
|
7077
|
+
os.fsync(fp.fileno())
|
|
7078
|
+
except io.UnsupportedOperation:
|
|
7079
|
+
pass
|
|
7080
|
+
except AttributeError:
|
|
7081
|
+
pass
|
|
7082
|
+
except OSError:
|
|
7083
|
+
pass
|
|
7038
7084
|
for member in sorted(zipfp.infolist(), key=lambda x: x.filename):
|
|
7039
7085
|
fencoding = "UTF-8"
|
|
7040
7086
|
if(re.findall("^[.|/]", member.filename)):
|
|
@@ -7197,6 +7243,16 @@ def AppendFilesWithContentFromZipFile(infile, fp, extradata=[], jsondata={}, com
|
|
|
7197
7243
|
fcsize, fuid, funame, fgid, fgname, fcurfid, fcurinode, flinkcount, fdev, fdev_minor, fdev_major, "+"+str(len(formatspecs['format_delimiter']))]
|
|
7198
7244
|
AppendFileHeaderWithContent(
|
|
7199
7245
|
fp, tmpoutlist, extradata, jsondata, fcontents.read(), [checksumtype[1], checksumtype[2], checksumtype[3]], formatspecs)
|
|
7246
|
+
try:
|
|
7247
|
+
fp.flush()
|
|
7248
|
+
if(hasattr(os, "sync")):
|
|
7249
|
+
os.fsync(fp.fileno())
|
|
7250
|
+
except io.UnsupportedOperation:
|
|
7251
|
+
pass
|
|
7252
|
+
except AttributeError:
|
|
7253
|
+
pass
|
|
7254
|
+
except OSError:
|
|
7255
|
+
pass
|
|
7200
7256
|
fcontents.close()
|
|
7201
7257
|
return fp
|
|
7202
7258
|
|
|
@@ -7211,8 +7267,6 @@ if(rarfile_support):
|
|
|
7211
7267
|
if(verbose):
|
|
7212
7268
|
logging.basicConfig(format="%(message)s",
|
|
7213
7269
|
stream=sys.stdout, level=logging.DEBUG)
|
|
7214
|
-
formver = formatspecs['format_ver']
|
|
7215
|
-
fileheaderver = str(int(formver.replace(".", "")))
|
|
7216
7270
|
curinode = 0
|
|
7217
7271
|
curfid = 0
|
|
7218
7272
|
inodelist = []
|
|
@@ -7229,6 +7283,16 @@ if(rarfile_support):
|
|
|
7229
7283
|
VerbosePrintOut("Bad file found!")
|
|
7230
7284
|
numfiles = int(len(rarfp.infolist()))
|
|
7231
7285
|
AppendFileHeader(fp, numfiles, "UTF-8", [], checksumtype[0], formatspecs)
|
|
7286
|
+
try:
|
|
7287
|
+
fp.flush()
|
|
7288
|
+
if(hasattr(os, "sync")):
|
|
7289
|
+
os.fsync(fp.fileno())
|
|
7290
|
+
except io.UnsupportedOperation:
|
|
7291
|
+
pass
|
|
7292
|
+
except AttributeError:
|
|
7293
|
+
pass
|
|
7294
|
+
except OSError:
|
|
7295
|
+
pass
|
|
7232
7296
|
try:
|
|
7233
7297
|
fp.flush()
|
|
7234
7298
|
if(hasattr(os, "sync")):
|
|
@@ -7433,6 +7497,16 @@ if(rarfile_support):
|
|
|
7433
7497
|
fcsize, fuid, funame, fgid, fgname, fcurfid, fcurinode, flinkcount, fdev, fdev_minor, fdev_major, "+"+str(len(formatspecs['format_delimiter']))]
|
|
7434
7498
|
AppendFileHeaderWithContent(
|
|
7435
7499
|
fp, tmpoutlist, extradata, jsondata, fcontents.read(), [checksumtype[1], checksumtype[2], checksumtype[3]], formatspecs)
|
|
7500
|
+
try:
|
|
7501
|
+
fp.flush()
|
|
7502
|
+
if(hasattr(os, "sync")):
|
|
7503
|
+
os.fsync(fp.fileno())
|
|
7504
|
+
except io.UnsupportedOperation:
|
|
7505
|
+
pass
|
|
7506
|
+
except AttributeError:
|
|
7507
|
+
pass
|
|
7508
|
+
except OSError:
|
|
7509
|
+
pass
|
|
7436
7510
|
fcontents.close()
|
|
7437
7511
|
return fp
|
|
7438
7512
|
|
|
@@ -7465,6 +7539,16 @@ if(py7zr_support):
|
|
|
7465
7539
|
VerbosePrintOut("Bad file found!")
|
|
7466
7540
|
numfiles = int(len(szpfp.list()))
|
|
7467
7541
|
AppendFileHeader(fp, numfiles, "UTF-8", [], checksumtype[0], formatspecs)
|
|
7542
|
+
try:
|
|
7543
|
+
fp.flush()
|
|
7544
|
+
if(hasattr(os, "sync")):
|
|
7545
|
+
os.fsync(fp.fileno())
|
|
7546
|
+
except io.UnsupportedOperation:
|
|
7547
|
+
pass
|
|
7548
|
+
except AttributeError:
|
|
7549
|
+
pass
|
|
7550
|
+
except OSError:
|
|
7551
|
+
pass
|
|
7468
7552
|
for member in sorted(szpfp.list(), key=lambda x: x.filename):
|
|
7469
7553
|
fencoding = "UTF-8"
|
|
7470
7554
|
if(re.findall("^[.|/]", member.filename)):
|
|
@@ -7603,10 +7687,20 @@ if(py7zr_support):
|
|
|
7603
7687
|
fcsize, fuid, funame, fgid, fgname, fcurfid, fcurinode, flinkcount, fdev, fdev_minor, fdev_major, "+"+str(len(formatspecs['format_delimiter']))]
|
|
7604
7688
|
AppendFileHeaderWithContent(
|
|
7605
7689
|
fp, tmpoutlist, extradata, jsondata, fcontents.read(), [checksumtype[1], checksumtype[2], checksumtype[3]], formatspecs)
|
|
7690
|
+
try:
|
|
7691
|
+
fp.flush()
|
|
7692
|
+
if(hasattr(os, "sync")):
|
|
7693
|
+
os.fsync(fp.fileno())
|
|
7694
|
+
except io.UnsupportedOperation:
|
|
7695
|
+
pass
|
|
7696
|
+
except AttributeError:
|
|
7697
|
+
pass
|
|
7698
|
+
except OSError:
|
|
7699
|
+
pass
|
|
7606
7700
|
fcontents.close()
|
|
7607
7701
|
return fp
|
|
7608
7702
|
|
|
7609
|
-
def AppendListsWithContent(inlist, fp, dirlistfromtxt=False,
|
|
7703
|
+
def AppendListsWithContent(inlist, fp, dirlistfromtxt=False, extradata=[], jsondata={}, compression="auto", compresswholefile=True, compressionlevel=None, followlink=False, checksumtype=["crc32", "crc32", "crc32", "crc32"], formatspecs=__file_format_dict__, verbose=False):
|
|
7610
7704
|
if(not hasattr(fp, "write")):
|
|
7611
7705
|
return False
|
|
7612
7706
|
if(verbose):
|
|
@@ -7668,12 +7762,12 @@ def AppendListsWithContent(inlist, fp, dirlistfromtxt=False, filevalues=[], extr
|
|
|
7668
7762
|
return fp
|
|
7669
7763
|
|
|
7670
7764
|
|
|
7671
|
-
def AppendInFileWithContent(infile, fp, dirlistfromtxt=False,
|
|
7765
|
+
def AppendInFileWithContent(infile, fp, dirlistfromtxt=False, extradata=[], jsondata={}, followlink=False, checksumtype=["crc32", "crc32", "crc32", "crc32"], formatspecs=__file_format_dict__, verbose=False):
|
|
7672
7766
|
inlist = ReadInFileWithContentToList(infile, "auto", 0, 0, False, False, True, False, formatspecs)
|
|
7673
|
-
return AppendListsWithContent(inlist, fp, dirlistfromtxt,
|
|
7767
|
+
return AppendListsWithContent(inlist, fp, dirlistfromtxt, extradata, jsondata, followlink, checksumtype, formatspecs, verbose)
|
|
7674
7768
|
|
|
7675
7769
|
|
|
7676
|
-
def AppendFilesWithContentToOutFile(infiles, outfile, dirlistfromtxt=False, fmttype="auto", compression="auto", compresswholefile=True, compressionlevel=None, compressionuselist=compressionlistalt,
|
|
7770
|
+
def AppendFilesWithContentToOutFile(infiles, outfile, dirlistfromtxt=False, fmttype="auto", compression="auto", compresswholefile=True, compressionlevel=None, compressionuselist=compressionlistalt, extradata=[], jsondata={}, followlink=False, checksumtype=["crc32", "crc32", "crc32", "crc32"], formatspecs=__file_format_multi_dict__, verbose=False, returnfp=False):
|
|
7677
7771
|
if(IsNestedDict(formatspecs) and fmttype=="auto" and
|
|
7678
7772
|
(outfile != "-" and outfile is not None and not hasattr(outfile, "read") and not hasattr(outfile, "write"))):
|
|
7679
7773
|
get_in_ext = os.path.splitext(outfile)
|
|
@@ -7717,7 +7811,7 @@ def AppendFilesWithContentToOutFile(infiles, outfile, dirlistfromtxt=False, fmtt
|
|
|
7717
7811
|
fp = CompressOpenFile(outfile, compresswholefile, compressionlevel)
|
|
7718
7812
|
except PermissionError:
|
|
7719
7813
|
return False
|
|
7720
|
-
AppendFilesWithContent(infiles, fp, dirlistfromtxt,
|
|
7814
|
+
AppendFilesWithContent(infiles, fp, dirlistfromtxt, extradata, jsondata, compression,
|
|
7721
7815
|
compresswholefile, compressionlevel, compressionuselist, followlink, checksumtype, formatspecs, verbose)
|
|
7722
7816
|
if(outfile == "-" or outfile is None or hasattr(outfile, "read") or hasattr(outfile, "write")):
|
|
7723
7817
|
fp = CompressOpenFileAlt(
|
|
@@ -7754,12 +7848,12 @@ def AppendFilesWithContentToOutFile(infiles, outfile, dirlistfromtxt=False, fmtt
|
|
|
7754
7848
|
fp.close()
|
|
7755
7849
|
return True
|
|
7756
7850
|
|
|
7757
|
-
def AppendFilesWithContentToStackedOutFile(infiles, outfile, dirlistfromtxt=False, fmttype="auto", compression="auto", compresswholefile=True, compressionlevel=None, compressionuselist=compressionlistalt,
|
|
7851
|
+
def AppendFilesWithContentToStackedOutFile(infiles, outfile, dirlistfromtxt=False, fmttype="auto", compression="auto", compresswholefile=True, compressionlevel=None, compressionuselist=compressionlistalt, extradata=[], jsondata={}, followlink=False, checksumtype=["crc32", "crc32", "crc32", "crc32"], formatspecs=__file_format_multi_dict__, verbose=False, returnfp=False):
|
|
7758
7852
|
if not isinstance(infiles, list):
|
|
7759
7853
|
infiles = [infiles]
|
|
7760
7854
|
returnout = False
|
|
7761
7855
|
for infileslist in infiles:
|
|
7762
|
-
returnout = AppendFilesWithContentToOutFile(infileslist, outfile, dirlistfromtxt, fmttype, compression, compresswholefile, compressionlevel, compressionuselist,
|
|
7856
|
+
returnout = AppendFilesWithContentToOutFile(infileslist, outfile, dirlistfromtxt, fmttype, compression, compresswholefile, compressionlevel, compressionuselist, extradata, jsondata, followlink, checksumtype, formatspecs, verbose, True)
|
|
7763
7857
|
if(not returnout):
|
|
7764
7858
|
break
|
|
7765
7859
|
else:
|
|
@@ -7769,7 +7863,7 @@ def AppendFilesWithContentToStackedOutFile(infiles, outfile, dirlistfromtxt=Fals
|
|
|
7769
7863
|
return True
|
|
7770
7864
|
return returnout
|
|
7771
7865
|
|
|
7772
|
-
def AppendListsWithContentToOutFile(inlist, outfile, dirlistfromtxt=False, fmttype="auto", compression="auto", compresswholefile=True, compressionlevel=None,
|
|
7866
|
+
def AppendListsWithContentToOutFile(inlist, outfile, dirlistfromtxt=False, fmttype="auto", compression="auto", compresswholefile=True, compressionlevel=None, extradata=[], jsondata={}, followlink=False, checksumtype=["crc32", "crc32", "crc32", "crc32"], formatspecs=__file_format_dict__, verbose=False, returnfp=False):
|
|
7773
7867
|
if(IsNestedDict(formatspecs) and fmttype=="auto" and
|
|
7774
7868
|
(outfile != "-" and outfile is not None and not hasattr(outfile, "read") and not hasattr(outfile, "write"))):
|
|
7775
7869
|
get_in_ext = os.path.splitext(outfile)
|
|
@@ -7810,7 +7904,7 @@ def AppendListsWithContentToOutFile(inlist, outfile, dirlistfromtxt=False, fmtty
|
|
|
7810
7904
|
fp = CompressOpenFile(outfile, compresswholefile, compressionlevel)
|
|
7811
7905
|
except PermissionError:
|
|
7812
7906
|
return False
|
|
7813
|
-
AppendListsWithContent(inlist, fp, dirlistfromtxt,
|
|
7907
|
+
AppendListsWithContent(inlist, fp, dirlistfromtxt, extradata, jsondata, compression,
|
|
7814
7908
|
compresswholefile, compressionlevel, followlink, checksumtype, formatspecs, verbose)
|
|
7815
7909
|
if(outfile == "-" or outfile is None or hasattr(outfile, "read") or hasattr(outfile, "write")):
|
|
7816
7910
|
fp = CompressOpenFileAlt(
|
|
@@ -7928,6 +8022,21 @@ def AppendFilesWithContentFromTarFileToOutFile(infiles, outfile, fmttype="auto",
|
|
|
7928
8022
|
fp.close()
|
|
7929
8023
|
return True
|
|
7930
8024
|
|
|
8025
|
+
def AppendFilesWithContentFromTarFileToStackedOutFile(infiles, outfile, fmttype="auto", compression="auto", compresswholefile=True, compressionlevel=None, compressionuselist=compressionlistalt, extradata=[], jsondata={}, checksumtype=["crc32", "crc32", "crc32", "crc32"], formatspecs=__file_format_multi_dict__, verbose=False, returnfp=False):
|
|
8026
|
+
if not isinstance(infiles, list):
|
|
8027
|
+
infiles = [infiles]
|
|
8028
|
+
returnout = False
|
|
8029
|
+
for infileslist in infiles:
|
|
8030
|
+
returnout = AppendFilesWithContentFromTarFileToOutFile(infileslist, outfile, fmttype, compression, compresswholefile, compressionlevel, compressionuselist, extradata, jsondata, checksumtype, formatspecs, verbose, True)
|
|
8031
|
+
if(not returnout):
|
|
8032
|
+
break
|
|
8033
|
+
else:
|
|
8034
|
+
outfile = returnout
|
|
8035
|
+
if(not returnfp and returnout):
|
|
8036
|
+
returnout.close()
|
|
8037
|
+
return True
|
|
8038
|
+
return returnout
|
|
8039
|
+
|
|
7931
8040
|
def AppendFilesWithContentFromZipFileToOutFile(infiles, outfile, fmttype="auto", compression="auto", compresswholefile=True, compressionlevel=None, compressionuselist=compressionlistalt, extradata=[], jsondata={}, checksumtype=["crc32", "crc32", "crc32", "crc32"], formatspecs=__file_format_multi_dict__, verbose=False, returnfp=False):
|
|
7932
8041
|
if(IsNestedDict(formatspecs) and fmttype=="auto" and
|
|
7933
8042
|
(outfile != "-" and outfile is not None and not hasattr(outfile, "read") and not hasattr(outfile, "write"))):
|
|
@@ -8008,6 +8117,21 @@ def AppendFilesWithContentFromZipFileToOutFile(infiles, outfile, fmttype="auto",
|
|
|
8008
8117
|
fp.close()
|
|
8009
8118
|
return True
|
|
8010
8119
|
|
|
8120
|
+
def AppendFilesWithContentFromZipFileToStackedOutFile(infiles, outfile, fmttype="auto", compression="auto", compresswholefile=True, compressionlevel=None, compressionuselist=compressionlistalt, extradata=[], jsondata={}, checksumtype=["crc32", "crc32", "crc32", "crc32"], formatspecs=__file_format_multi_dict__, verbose=False, returnfp=False):
|
|
8121
|
+
if not isinstance(infiles, list):
|
|
8122
|
+
infiles = [infiles]
|
|
8123
|
+
returnout = False
|
|
8124
|
+
for infileslist in infiles:
|
|
8125
|
+
returnout = AppendFilesWithContentFromZipFileToOutFile(infileslist, outfile, fmttype, compression, compresswholefile, compressionlevel, compressionuselist, extradata, jsondata, checksumtype, formatspecs, verbose, True)
|
|
8126
|
+
if(not returnout):
|
|
8127
|
+
break
|
|
8128
|
+
else:
|
|
8129
|
+
outfile = returnout
|
|
8130
|
+
if(not returnfp and returnout):
|
|
8131
|
+
returnout.close()
|
|
8132
|
+
return True
|
|
8133
|
+
return returnout
|
|
8134
|
+
|
|
8011
8135
|
if(not rarfile_support):
|
|
8012
8136
|
def AppendFilesWithContentFromRarFileToOutFile(infiles, outfile, fmttype="auto", compression="auto", compresswholefile=True, compressionlevel=None, compressionuselist=compressionlistalt, extradata=[], jsondata={}, checksumtype=["crc32", "crc32", "crc32", "crc32"], formatspecs=__file_format_multi_dict__, verbose=False, returnfp=False):
|
|
8013
8137
|
return False
|
|
@@ -8093,6 +8217,21 @@ if(rarfile_support):
|
|
|
8093
8217
|
fp.close()
|
|
8094
8218
|
return True
|
|
8095
8219
|
|
|
8220
|
+
def AppendFilesWithContentFromRarFileToStackedOutFile(infiles, outfile, fmttype="auto", compression="auto", compresswholefile=True, compressionlevel=None, compressionuselist=compressionlistalt, extradata=[], jsondata={}, checksumtype=["crc32", "crc32", "crc32", "crc32"], formatspecs=__file_format_multi_dict__, verbose=False, returnfp=False):
|
|
8221
|
+
if not isinstance(infiles, list):
|
|
8222
|
+
infiles = [infiles]
|
|
8223
|
+
returnout = False
|
|
8224
|
+
for infileslist in infiles:
|
|
8225
|
+
returnout = AppendFilesWithContentFromRarFileToOutFile(infileslist, outfile, fmttype, compression, compresswholefile, compressionlevel, compressionuselist, extradata, jsondata, checksumtype, formatspecs, verbose, True)
|
|
8226
|
+
if(not returnout):
|
|
8227
|
+
break
|
|
8228
|
+
else:
|
|
8229
|
+
outfile = returnout
|
|
8230
|
+
if(not returnfp and returnout):
|
|
8231
|
+
returnout.close()
|
|
8232
|
+
return True
|
|
8233
|
+
return returnout
|
|
8234
|
+
|
|
8096
8235
|
if(not py7zr_support):
|
|
8097
8236
|
def AppendFilesWithContentFromSevenZipToOutFile(infiles, outfile, fmttype="auto", compression="auto", compresswholefile=True, compressionlevel=None, compressionuselist=compressionlistalt, extradata=[], jsondata={}, checksumtype=["crc32", "crc32", "crc32", "crc32"], formatspecs=__file_format_multi_dict__, verbose=False, returnfp=False):
|
|
8098
8237
|
return False
|
|
@@ -8178,9 +8317,24 @@ if(py7zr_support):
|
|
|
8178
8317
|
fp.close()
|
|
8179
8318
|
return True
|
|
8180
8319
|
|
|
8181
|
-
def
|
|
8320
|
+
def AppendFilesWithContentFromSevenZipToStackedOutFile(infiles, outfile, fmttype="auto", compression="auto", compresswholefile=True, compressionlevel=None, compressionuselist=compressionlistalt, extradata=[], jsondata={}, checksumtype=["crc32", "crc32", "crc32", "crc32"], formatspecs=__file_format_multi_dict__, verbose=False, returnfp=False):
|
|
8321
|
+
if not isinstance(infiles, list):
|
|
8322
|
+
infiles = [infiles]
|
|
8323
|
+
returnout = False
|
|
8324
|
+
for infileslist in infiles:
|
|
8325
|
+
returnout = AppendFilesWithContentFromSevenZipToOutFile(infileslist, outfile, fmttype, compression, compresswholefile, compressionlevel, compressionuselist, extradata, jsondata, checksumtype, formatspecs, verbose, True)
|
|
8326
|
+
if(not returnout):
|
|
8327
|
+
break
|
|
8328
|
+
else:
|
|
8329
|
+
outfile = returnout
|
|
8330
|
+
if(not returnfp and returnout):
|
|
8331
|
+
returnout.close()
|
|
8332
|
+
return True
|
|
8333
|
+
return returnout
|
|
8334
|
+
|
|
8335
|
+
def AppendInFileWithContentToOutFile(infile, outfile, dirlistfromtxt=False, fmttype="auto", compression="auto", compresswholefile=True, compressionlevel=None, extradata=[], jsondata={}, followlink=False, checksumtype=["crc32", "crc32", "crc32", "crc32"], formatspecs=__file_format_dict__, verbose=False, returnfp=False):
|
|
8182
8336
|
inlist = ReadInFileWithContentToList(infile, "auto", 0, 0, False, False, True, False, formatspecs)
|
|
8183
|
-
return AppendListsWithContentToOutFile(inlist, outfile, dirlistfromtxt, fmttype, compression, compresswholefile, compressionlevel,
|
|
8337
|
+
return AppendListsWithContentToOutFile(inlist, outfile, dirlistfromtxt, fmttype, compression, compresswholefile, compressionlevel, extradata, jsondata, followlink, checksumtype, formatspecs, verbose, returnfp)
|
|
8184
8338
|
|
|
8185
8339
|
|
|
8186
8340
|
def PrintPermissionString(fchmode, ftype):
|
|
@@ -9956,10 +10110,10 @@ def CheckSumSupportAlt(checkfor, guaranteed=True):
|
|
|
9956
10110
|
|
|
9957
10111
|
|
|
9958
10112
|
def PackCatFile(infiles, outfile, dirlistfromtxt=False, fmttype="auto", compression="auto", compresswholefile=True, compressionlevel=None, compressionuselist=compressionlistalt, followlink=False, checksumtype=["crc32", "crc32", "crc32", "crc32"], extradata=[], jsondata={}, formatspecs=__file_format_multi_dict__, verbose=False, returnfp=False):
|
|
9959
|
-
return AppendFilesWithContentToOutFile(infiles, outfile, dirlistfromtxt, fmttype, compression, compresswholefile, compressionlevel, compressionuselist,
|
|
10113
|
+
return AppendFilesWithContentToOutFile(infiles, outfile, dirlistfromtxt, fmttype, compression, compresswholefile, compressionlevel, compressionuselist, extradata, jsondata, followlink, checksumtype, formatspecs, verbose, returnfp)
|
|
9960
10114
|
|
|
9961
10115
|
def PackStackedCatFile(infiles, outfile, dirlistfromtxt=False, fmttype="auto", compression="auto", compresswholefile=True, compressionlevel=None, compressionuselist=compressionlistalt, followlink=False, checksumtype=["crc32", "crc32", "crc32", "crc32"], extradata=[], jsondata={}, formatspecs=__file_format_multi_dict__, verbose=False, returnfp=False):
|
|
9962
|
-
return AppendFilesWithContentToStackedOutFile(infiles, outfile, dirlistfromtxt, fmttype, compression, compresswholefile, compressionlevel, compressionuselist,
|
|
10116
|
+
return AppendFilesWithContentToStackedOutFile(infiles, outfile, dirlistfromtxt, fmttype, compression, compresswholefile, compressionlevel, compressionuselist, extradata, jsondata, followlink, checksumtype, formatspecs, verbose, returnfp)
|
|
9963
10117
|
|
|
9964
10118
|
def PackCatFileFromDirList(infiles, outfile, dirlistfromtxt=False, fmttype="auto", compression="auto", compresswholefile=True, compressionlevel=None, compressionuselist=compressionlistalt, followlink=False, checksumtype=["crc32", "crc32", "crc32"], extradata=[], formatspecs=__file_format_dict__, verbose=False, returnfp=False):
|
|
9965
10119
|
return PackCatFile(infiles, outfile, dirlistfromtxt, fmttype, compression, compresswholefile, compressionlevel, compressionuselist, followlink, checksumtype, extradata, formatspecs, verbose, returnfp)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|