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