Skip to content

Commit af624ec

Browse files
committed
Small update
1 parent 6895724 commit af624ec

1 file changed

Lines changed: 23 additions & 15 deletions

File tree

pycatfile/pycatfile.py

Lines changed: 23 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -6693,45 +6693,49 @@ def AppendFilesWithContentFromBSDTarFileToList(infile, extradata=[], jsondata={}
66936693
fname = member.pathname
66946694
if(verbose):
66956695
VerbosePrintOut(fname)
6696-
fpremode = member.mode
6697-
ffullmode = member.mode
6696+
if(hasattr(member, "mode")):
6697+
fpremode = member.mode
6698+
ffullmode = member.mode
6699+
elif(hasattr(member, "perm")):
6700+
fpremode = member.perm
6701+
ffullmode = member.perm
66986702
flinkcount = 0
66996703
fblksize = format(int(0), 'x').lower()
67006704
fblocks = format(int(0), 'x').lower()
67016705
fflags = format(int(0), 'x').lower()
67026706
ftype = 0
67036707
if((hasattr(member, "isreg") and member.isreg) or member.isfile):
6704-
ffullmode = member.mode | stat.S_IFREG
6708+
ffullmode = ffullmode | stat.S_IFREG
67056709
ftype = 0
67066710
elif(member.islnk):
6707-
ffullmode = member.mode | stat.S_IFREG
6711+
ffullmode = ffullmode | stat.S_IFREG
67086712
ftype = 1
67096713
elif(member.issym):
6710-
ffullmode = member.mode | stat.S_IFLNK
6714+
ffullmode = ffullmode | stat.S_IFLNK
67116715
ftype = 2
67126716
elif(member.ischr):
6713-
ffullmode = member.mode | stat.S_IFCHR
6717+
ffullmode = ffullmode | stat.S_IFCHR
67146718
ftype = 3
67156719
elif(member.isblk):
6716-
ffullmode = member.mode | stat.S_IFBLK
6720+
ffullmode = ffullmode | stat.S_IFBLK
67176721
ftype = 4
67186722
elif(member.isdir):
6719-
ffullmode = member.mode | stat.S_IFDIR
6723+
ffullmode = ffullmode | stat.S_IFDIR
67206724
ftype = 5
67216725
elif(member.isfifo):
6722-
ffullmode = member.mode | stat.S_IFIFO
6726+
ffullmode = ffullmode | stat.S_IFIFO
67236727
ftype = 6
67246728
elif(hasattr(member, "issparse") and member.issparse):
6725-
ffullmode = member.mode | stat.S_IFREG
6729+
ffullmode = ffullmode | stat.S_IFREG
67266730
ftype = 12
67276731
elif(member.isdev):
6728-
ffullmode = member.mode
6732+
ffullmode = ffullmode
67296733
ftype = 14
67306734
elif(member.issock):
6731-
ffullmode = member.mode | stat.S_IFSOCK
6735+
ffullmode = ffullmode | stat.S_IFSOCK
67326736
ftype = 15
67336737
else:
6734-
ffullmode = member.mode | stat.S_IFREG
6738+
ffullmode = ffullmode | stat.S_IFREG
67356739
ftype = 0
67366740
flinkname = ""
67376741
fcurfid = format(int(curfid), 'x').lower()
@@ -10017,8 +10021,12 @@ def BSDTarFileListFiles(infile, formatspecs=__file_format_multi_dict__, verbose=
1001710021
with open_archive_reader(infile) as archive:
1001810022
for member in archive:
1001910023
returnval.update({lcfi: member.pathname})
10020-
fpremode = member.mode
10021-
ffullmode = member.mode
10024+
if(hasattr(member, "mode")):
10025+
fpremode = member.mode
10026+
ffullmode = member.mode
10027+
elif(hasattr(member, "perm")):
10028+
fpremode = member.perm
10029+
ffullmode = member.perm
1002210030
flinkcount = 0
1002310031
ftype = 0
1002410032
if((hasattr(member, "isreg") and member.isreg) or member.isfile):

0 commit comments

Comments
 (0)