@@ -1331,21 +1331,14 @@ def AppendNullBytes(indata=None, delimiter=None):
13311331def system_and_major ():
13321332 info = platform .uname ()
13331333
1334- # Python 3: info is a namedtuple with .system / .release
1335- # Python 2: info is a plain tuple (system, node, release, version, machine, processor)
1336- try :
1337- system = info .system
1338- release = info .release
1339- except AttributeError :
1340- # Fallback for Python 2
1341- system = info [0 ]
1342- release = info [2 ]
1334+ system = info .system
1335+ release = info .release
13431336
13441337 # Find the first run of digits in the release string
1345- m = re .search (r' \d+' , release )
1338+ m = re .search (r" \d+" , release )
13461339 if m :
1347- major = m .group (0 ) # e.g. '11' or '6'
1348- return u"%s%s" % ( system , major ) # unicode-safe in Py2
1340+ major = m .group (0 )
1341+ return f" { system } { major } "
13491342 else :
13501343 return system
13511344
@@ -10048,6 +10041,21 @@ def BSDTarFileListFiles(infile, formatspecs=__file_format_multi_dict__, verbose=
1004810041 else :
1004910042 ffullmode = member .mode | stat .S_IFREG
1005010043 ftype = 0
10044+ fsize = 0
10045+ zero_length_types = {1 , 2 , 3 , 4 , 5 , 6 , 8 , 9 , 10 , 11 , 13 }
10046+ if ftype in zero_length_types :
10047+ fsize = 0
10048+ else :
10049+ if (member .size is None ):
10050+ fcontents = MkTempFile ()
10051+ if (hasattr (member , "get_blocks" )):
10052+ for block in member .get_blocks ():
10053+ fcontents .write (block )
10054+ elif (hasattr (member , "read" )):
10055+ fcontents .write (member .read ())
10056+ fsize = fcontents .tell ()
10057+ else :
10058+ fsize = member .size
1005110059 if (not verbose ):
1005210060 VerbosePrintOut (member .pathname )
1005310061 elif (verbose ):
@@ -10075,7 +10083,7 @@ def BSDTarFileListFiles(infile, formatspecs=__file_format_multi_dict__, verbose=
1007510083 else :
1007610084 fgprint = "0"
1007710085 VerbosePrintOut (PrintPermissionString (ffullmode , ftype ) + "\t " + str (fuprint ) + "/" + str (fgprint ) + "\t " + str (
10078- member . size ).rjust (15 ) + "\t " + datetime .datetime .fromtimestamp (member .mtime ).strftime ('%Y-%m-%d %H:%M' ) + "\t " + printfname )
10086+ fsize ).rjust (15 ) + "\t " + datetime .datetime .fromtimestamp (member .mtime ).strftime ('%Y-%m-%d %H:%M' ) + "\t " + printfname )
1007910087 lcfi = lcfi + 1
1008010088 if (returnfp ):
1008110089 return listarrayfiles ['fp' ]
0 commit comments