Skip to content

Commit ddb72e5

Browse files
author
Kazuki Suzuki Przyborowski
authored
Update pycatfile.py
1 parent 6d2e67e commit ddb72e5

1 file changed

Lines changed: 11 additions & 11 deletions

File tree

pycatfile.py

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -766,20 +766,22 @@ def PackCatFileFromZipFile(infile, outfile, compression="auto", checksumtype="cr
766766
return False;
767767
if(not zipfile.is_zipfile(infile)):
768768
return False;
769-
zipfp = zipfile.ZipFile(infile, "r");
769+
zipfp = zipfile.ZipFile(infile, "r", allowZip64=True);
770+
ziptest = zipfp.testzip();
770771
for member in zipfp.infolist():
771772
fname = member.filename;
773+
zipinfo = zipfp.getinfo(fname);
772774
if(verbose):
773775
logging.info(fname);
774-
if(hasattr(member, "is_file") and member.is_file()):
776+
if(not member.is_dir()):
775777
fpremode = format(int(stat.S_IFREG + 438), 'x').lower();
776-
if(hasattr(member, "is_dir") and member.is_dir()):
778+
if(member.is_dir()):
777779
fpremode = format(int(stat.S_IFDIR + 511), 'x').lower();
778780
flinkcount = 0;
779781
ftype = 0;
780-
if(hasattr(member, "is_file") and member.is_file()):
782+
if(not member.is_dir()):
781783
ftype = 0;
782-
if(hasattr(member, "is_dir") and member.is_dir()):
784+
if(member.is_dir()):
783785
ftype = 5;
784786
flinkname = "";
785787
fcurfid = format(int(curfid), 'x').lower();
@@ -797,13 +799,11 @@ def PackCatFileFromZipFile(infile, outfile, compression="auto", checksumtype="cr
797799
fmtime = format(int(time.mktime(member.date_time + (0, 0, -1))), 'x').lower();
798800
fctime = format(int(time.mktime(member.date_time + (0, 0, -1))), 'x').lower();
799801
fbtime = format(int(time.mktime(member.date_time + (0, 0, -1))), 'x').lower();
800-
if(hasattr(member, "is_file") and member.is_file()):
801-
#33206
802+
if(not member.is_dir()):
802803
fmode = format(int(stat.S_IFREG + 438), 'x').lower();
803804
fchmode = format(int(stat.S_IMODE(int(stat.S_IFREG + 438))), 'x').lower();
804805
ftypemod = format(int(stat.S_IFMT(int(stat.S_IFREG + 438))), 'x').lower();
805-
if(hasattr(member, "is_dir") and member.is_dir()):
806-
#16895
806+
if(member.is_dir()):
807807
fmode = format(int(stat.S_IFDIR + 511), 'x').lower();
808808
fchmode = format(int(stat.S_IMODE(int(stat.S_IFDIR + 511))), 'x').lower();
809809
ftypemod = format(int(stat.S_IFMT(int(stat.S_IFDIR + 511))), 'x').lower();
@@ -1896,7 +1896,7 @@ def CatFileListFiles(infile, seekstart=0, seekend=0, skipchecksum=False, verbose
18961896
fgprint = listcatfiles[lcfi]['fgname'];
18971897
if(len(fgprint)<=0):
18981898
fgprint = listcatfiles[lcfi]['fgid'];
1899-
logging.info(permissionstr + " " + str(str(fuprint) + "/" + str(fgprint) + " " + str(listcatfiles[lcfi]['fsize']).rjust(15) + " " + datetime.datetime.utcfromtimestamp(listcatfiles[lcfi]['fmtime']).strftime('%Y-%m-%d %H:%M') + " " + printfname));
1899+
logging.info(stat.filemode(listcatfiles[lcfi]['fmode']) + " " + str(str(fuprint) + "/" + str(fgprint) + " " + str(listcatfiles[lcfi]['fsize']).rjust(15) + " " + datetime.datetime.utcfromtimestamp(listcatfiles[lcfi]['fmtime']).strftime('%Y-%m-%d %H:%M') + " " + printfname));
19001900
lcfi = lcfi + 1;
19011901
if(returnfp):
19021902
return listcatfiles['catfp'];
@@ -1952,7 +1952,7 @@ def TarFileListFiles(infile, verbose=False, returnfp=False):
19521952
fgprint = member.gname;
19531953
if(len(fgprint)<=0):
19541954
fgprint = member.gid;
1955-
logging.info(permissionstr + " " + str(str(fuprint) + "/" + str(fgprint) + " " + str(member.size).rjust(15) + " " + datetime.datetime.utcfromtimestamp(member.mtime).strftime('%Y-%m-%d %H:%M') + " " + printfname));
1955+
logging.info(stat.filemode(member.mode) + " " + str(str(fuprint) + "/" + str(fgprint) + " " + str(member.size).rjust(15) + " " + datetime.datetime.utcfromtimestamp(member.mtime).strftime('%Y-%m-%d %H:%M') + " " + printfname));
19561956
lcfi = lcfi + 1;
19571957
if(returnfp):
19581958
return listcatfiles['catfp'];

0 commit comments

Comments
 (0)