@@ -10761,7 +10761,7 @@ def RePackCatFile(infile, outfile, fmttype="auto", compression="auto", compressw
1076110761 if isinstance(infile, dict):
1076210762 listarrayfileslist = [infile]
1076310763 elif isinstance(infile, list):
10764- pass
10764+ listarrayfileslist = infile
1076510765 else:
1076610766 if (infile != "-" and not isinstance(infile, bytes_type) # bytes is str on Py2
1076710767 and not hasattr(infile, "read") and not hasattr(infile, "write")):
@@ -11410,49 +11410,52 @@ def CatFileListFiles(infile, fmttype="auto", filestart=0, seekstart=0, seekend=0
1141011410 if(verbose):
1141111411 logging.basicConfig(format="%(message)s", stream=sys.stdout, level=logging.DEBUG)
1141211412 if(isinstance(infile, dict)):
11413- listarrayfiles = infile
11413+ listarrayfileslist = [infile]
11414+ if(isinstance(infile, list)):
11415+ listarrayfileslist = infile
1141411416 else:
1141511417 if(infile != "-" and not hasattr(infile, "read") and not hasattr(infile, "write") and not (sys.version_info[0] >= 3 and isinstance(infile, bytes))):
1141611418 infile = RemoveWindowsPath(infile)
11417- listarrayfiles = CatFileToArray (infile, fmttype, filestart, seekstart, seekend, True, False, False, skipchecksum, formatspecs, seektoend, returnfp)
11418- if(not listarrayfiles ):
11419+ listarrayfileslist = ArchiveFileToArray (infile, fmttype, filestart, seekstart, seekend, True, False, False, skipchecksum, formatspecs, seektoend, returnfp)
11420+ if(not listarrayfileslist ):
1141911421 return False
11420- lenlist = len(listarrayfiles['ffilelist'])
11421- fnumfiles = int(listarrayfiles['fnumfiles'])
11422- lcfi = 0
11423- lcfx = int(listarrayfiles['fnumfiles'])
11424- if(lenlist > listarrayfiles['fnumfiles'] or lenlist < listarrayfiles['fnumfiles']):
11425- lcfx = int(lenlist)
11426- else:
11422+ for listarrayfiles in listarrayfileslist:
11423+ lenlist = len(listarrayfiles['ffilelist'])
11424+ fnumfiles = int(listarrayfiles['fnumfiles'])
11425+ lcfi = 0
1142711426 lcfx = int(listarrayfiles['fnumfiles'])
11428- returnval = {}
11429- while(lcfi < lcfx):
11430- returnval.update({lcfi: listarrayfiles['ffilelist'][lcfi]['fname']})
11431- if(not verbose):
11432- VerbosePrintOut(listarrayfiles['ffilelist'][lcfi]['fname'])
11433- if(verbose):
11434- permissions = {'access': {'0': ('---'), '1': ('--x'), '2': ('-w-'), '3': ('-wx'), '4': (
11435- 'r--'), '5': ('r-x'), '6': ('rw-'), '7': ('rwx')}, 'roles': {0: 'owner', 1: 'group', 2: 'other'}}
11436- printfname = listarrayfiles['ffilelist'][lcfi]['fname']
11437- if(listarrayfiles['ffilelist'][lcfi]['ftype'] == 1):
11438- printfname = listarrayfiles['ffilelist'][lcfi]['fname'] + \
11439- " link to " + listarrayfiles['ffilelist'][lcfi]['flinkname']
11440- if(listarrayfiles['ffilelist'][lcfi]['ftype'] == 2):
11441- printfname = listarrayfiles['ffilelist'][lcfi]['fname'] + \
11442- " -> " + listarrayfiles['ffilelist'][lcfi]['flinkname']
11443- fuprint = listarrayfiles['ffilelist'][lcfi]['funame']
11444- if(len(fuprint) <= 0):
11445- fuprint = listarrayfiles['ffilelist'][lcfi]['fuid']
11446- fgprint = listarrayfiles['ffilelist'][lcfi]['fgname']
11447- if(len(fgprint) <= 0):
11448- fgprint = listarrayfiles['ffilelist'][lcfi]['fgid']
11449- if(newstyle):
11450- VerbosePrintOut(ftype_to_str(listarrayfiles['ffilelist'][lcfi]['ftype']) + "\t" + listarrayfiles['ffilelist'][lcfi]['fcompression'] + "\t" + str(
11451- listarrayfiles['ffilelist'][lcfi]['fsize']).rjust(15) + "\t" + printfname)
11452- else:
11453- VerbosePrintOut(PrintPermissionString(listarrayfiles['ffilelist'][lcfi]['fmode'], listarrayfiles['ffilelist'][lcfi]['ftype']) + " " + str(fuprint) + "/" + str(fgprint) + " " + str(
11454- listarrayfiles['ffilelist'][lcfi]['fsize']).rjust(15) + " " + datetime.datetime.utcfromtimestamp(listarrayfiles['ffilelist'][lcfi]['fmtime']).strftime('%Y-%m-%d %H:%M') + " " + printfname)
11455- lcfi = lcfi + 1
11427+ if(lenlist > listarrayfiles['fnumfiles'] or lenlist < listarrayfiles['fnumfiles']):
11428+ lcfx = int(lenlist)
11429+ else:
11430+ lcfx = int(listarrayfiles['fnumfiles'])
11431+ returnval = {}
11432+ while(lcfi < lcfx):
11433+ returnval.update({lcfi: listarrayfiles['ffilelist'][lcfi]['fname']})
11434+ if(not verbose):
11435+ VerbosePrintOut(listarrayfiles['ffilelist'][lcfi]['fname'])
11436+ if(verbose):
11437+ permissions = {'access': {'0': ('---'), '1': ('--x'), '2': ('-w-'), '3': ('-wx'), '4': (
11438+ 'r--'), '5': ('r-x'), '6': ('rw-'), '7': ('rwx')}, 'roles': {0: 'owner', 1: 'group', 2: 'other'}}
11439+ printfname = listarrayfiles['ffilelist'][lcfi]['fname']
11440+ if(listarrayfiles['ffilelist'][lcfi]['ftype'] == 1):
11441+ printfname = listarrayfiles['ffilelist'][lcfi]['fname'] + \
11442+ " link to " + listarrayfiles['ffilelist'][lcfi]['flinkname']
11443+ if(listarrayfiles['ffilelist'][lcfi]['ftype'] == 2):
11444+ printfname = listarrayfiles['ffilelist'][lcfi]['fname'] + \
11445+ " -> " + listarrayfiles['ffilelist'][lcfi]['flinkname']
11446+ fuprint = listarrayfiles['ffilelist'][lcfi]['funame']
11447+ if(len(fuprint) <= 0):
11448+ fuprint = listarrayfiles['ffilelist'][lcfi]['fuid']
11449+ fgprint = listarrayfiles['ffilelist'][lcfi]['fgname']
11450+ if(len(fgprint) <= 0):
11451+ fgprint = listarrayfiles['ffilelist'][lcfi]['fgid']
11452+ if(newstyle):
11453+ VerbosePrintOut(ftype_to_str(listarrayfiles['ffilelist'][lcfi]['ftype']) + "\t" + listarrayfiles['ffilelist'][lcfi]['fcompression'] + "\t" + str(
11454+ listarrayfiles['ffilelist'][lcfi]['fsize']).rjust(15) + "\t" + printfname)
11455+ else:
11456+ VerbosePrintOut(PrintPermissionString(listarrayfiles['ffilelist'][lcfi]['fmode'], listarrayfiles['ffilelist'][lcfi]['ftype']) + " " + str(fuprint) + "/" + str(fgprint) + " " + str(
11457+ listarrayfiles['ffilelist'][lcfi]['fsize']).rjust(15) + " " + datetime.datetime.utcfromtimestamp(listarrayfiles['ffilelist'][lcfi]['fmtime']).strftime('%Y-%m-%d %H:%M') + " " + printfname)
11458+ lcfi = lcfi + 1
1145611459 if(returnfp):
1145711460 return listarrayfiles['fp']
1145811461 else:
0 commit comments