Skip to content

Commit d4c65ac

Browse files
author
Kazuki Suzuki Przyborowski
committed
Update pyarchivefile.py
1 parent 9d18b57 commit d4c65ac

1 file changed

Lines changed: 89 additions & 0 deletions

File tree

pyarchivefile.py

Lines changed: 89 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8701,6 +8701,95 @@ def ArchiveFileListFiles(infile, fmttype="auto", filestart=0, seekstart=0, seeke
87018701
return True
87028702

87038703

8704+
def MultipleArchiveFileListFiles(infile, fmttype="auto", filestart=0, seekstart=0, seekend=0, listonly=False, contentasfile=True, uncompress=True, skipchecksum=False, formatspecs=__file_format_multi_dict__, seektoend=False, returnfp=False):
8705+
if(isinstance(infile, (list, tuple, ))):
8706+
pass
8707+
else:
8708+
infile = [infile]
8709+
outretval = {}
8710+
for curfname in infile:
8711+
outretval[curfname] = ArchiveFileListFiles(infile, fmttype, filestart, seekstart, seekend, skipchecksum, formatspecs, seektoend, verbose, newstyle, returnfp)
8712+
return outretval
8713+
8714+
8715+
def StackedArchiveFileValidate(infile, fmttype="auto", filestart=0, formatspecs=__file_format_multi_dict__, seektoend=False, verbose=False, returnfp=False):
8716+
outretval = []
8717+
outstartfile = filestart
8718+
outfsize = float('inf')
8719+
while True:
8720+
if outstartfile >= outfsize: # stop when function signals False
8721+
break
8722+
is_valid_file = ArchiveFileValidate(infile, fmttype, filestart, formatspecs, seektoend, verbose, True)
8723+
if is_valid_file is False: # stop when function signals False
8724+
outretval.append(is_valid_file)
8725+
else:
8726+
outretval.append(True)
8727+
infile = is_valid_file
8728+
outstartfile = infile.tell()
8729+
try:
8730+
infile.seek(0, 2)
8731+
except OSError:
8732+
SeekToEndOfFile(infile)
8733+
except ValueError:
8734+
SeekToEndOfFile(infile)
8735+
outfsize = infile.tell()
8736+
infile.seek(outstartfile, 0)
8737+
if(returnfp):
8738+
return infile
8739+
else:
8740+
infile.close()
8741+
return outretval
8742+
8743+
8744+
def StackedArchiveFileListFiles(infile, fmttype="auto", filestart=0, seekstart=0, seekend=0, skipchecksum=False, formatspecs=__file_format_multi_dict__, seektoend=False, verbose=False, newstyle=False, returnfp=False):
8745+
outretval = []
8746+
outstartfile = filestart
8747+
outfsize = float('inf')
8748+
while True:
8749+
if outstartfile >= outfsize: # stop when function signals False
8750+
break
8751+
list_file_retu = ArchiveFileListFiles(infile, fmttype, outstartfile, seekstart, seekend, skipchecksum, formatspecs, seektoend, verbose, newstyle, True)
8752+
if list_file_retu is False: # stop when function signals False
8753+
outretval.append(list_file_retu)
8754+
else:
8755+
outretval.append(True)
8756+
infile = list_file_retu
8757+
outstartfile = infile.tell()
8758+
try:
8759+
infile.seek(0, 2)
8760+
except OSError:
8761+
SeekToEndOfFile(infile)
8762+
except ValueError:
8763+
SeekToEndOfFile(infile)
8764+
outfsize = infile.tell()
8765+
infile.seek(outstartfile, 0)
8766+
if(returnfp):
8767+
return infile
8768+
else:
8769+
infile.close()
8770+
return outretval
8771+
8772+
8773+
def MultipleStackedArchiveFileListFiles(infile, fmttype="auto", filestart=0, seekstart=0, seekend=0, listonly=False, contentasfile=True, uncompress=True, skipchecksum=False, formatspecs=__file_format_multi_dict__, seektoend=False, returnfp=False):
8774+
if(isinstance(infile, (list, tuple, ))):
8775+
pass
8776+
else:
8777+
infile = [infile]
8778+
outretval = {}
8779+
for curfname in infile:
8780+
outretval[curfname] = StackedArchiveFileListFiles(curfname, fmttype, filestart, seekstart, seekend, listonly, contentasfile, uncompress, skipchecksum, formatspecs, seektoend, returnfp)
8781+
return outretval
8782+
8783+
8784+
def ArchiveFileStringToArray(instr, filestart=0, seekstart=0, seekend=0, listonly=False, contentasfile=True, skipchecksum=False, formatspecs=__file_format_multi_dict__, seektoend=False, returnfp=False):
8785+
checkcompressfile = CheckCompressionSubType(infile, formatspecs, filestart, True)
8786+
if(IsNestedDict(formatspecs) and checkcompressfile in formatspecs):
8787+
formatspecs = formatspecs[checkcompressfile]
8788+
fp = MkTempFile(instr)
8789+
listarrayfiles = ArchiveFileToArray(fp, "auto", filestart, seekstart, seekend, listonly, contentasfile, True, skipchecksum, formatspecs, seektoend, returnfp)
8790+
return listarrayfiles
8791+
8792+
87048793
def ArchiveFileStringListFiles(instr, seekstart=0, seekend=0, skipchecksum=False, formatspecs=__file_format_multi_dict__, seektoend=False, verbose=False, newstyle=False, returnfp=False):
87058794
fp = MkTempFile(instr)
87068795
listarrayfiles = ArchiveFileListFiles(

0 commit comments

Comments
 (0)