@@ -1325,21 +1325,14 @@ def AppendNullBytes(indata=None, delimiter=None):
13251325def system_and_major ():
13261326 info = platform .uname ()
13271327
1328- # Python 3: info is a namedtuple with .system / .release
1329- # Python 2: info is a plain tuple (system, node, release, version, machine, processor)
1330- try :
1331- system = info .system
1332- release = info .release
1333- except AttributeError :
1334- # Fallback for Python 2
1335- system = info [0 ]
1336- release = info [2 ]
1328+ system = info .system
1329+ release = info .release
13371330
13381331 # Find the first run of digits in the release string
1339- m = re .search (r' \d+' , release )
1332+ m = re .search (r" \d+" , release )
13401333 if m :
1341- major = m .group (0 ) # e.g. '11' or '6'
1342- return u"%s%s" % ( system , major ) # unicode-safe in Py2
1334+ major = m .group (0 )
1335+ return f" { system } { major } "
13431336 else :
13441337 return system
13451338
@@ -10043,6 +10036,21 @@ def BSDTarFileListFiles(infile, formatspecs=__file_format_multi_dict__, verbose=
1004310036 else :
1004410037 ffullmode = member .mode | stat .S_IFREG
1004510038 ftype = 0
10039+ fsize = 0
10040+ zero_length_types = {1 , 2 , 3 , 4 , 5 , 6 , 8 , 9 , 10 , 11 , 13 }
10041+ if ftype in zero_length_types :
10042+ fsize = 0
10043+ else :
10044+ if (member .size is None ):
10045+ fcontents = MkTempFile ()
10046+ if (hasattr (member , "get_blocks" )):
10047+ for block in member .get_blocks ():
10048+ fcontents .write (block )
10049+ elif (hasattr (member , "read" )):
10050+ fcontents .write (member .read ())
10051+ fsize = fcontents .tell ()
10052+ else :
10053+ fsize = member .size
1004610054 if (not verbose ):
1004710055 VerbosePrintOut (member .pathname )
1004810056 elif (verbose ):
@@ -10070,7 +10078,7 @@ def BSDTarFileListFiles(infile, formatspecs=__file_format_multi_dict__, verbose=
1007010078 else :
1007110079 fgprint = "0"
1007210080 VerbosePrintOut (PrintPermissionString (ffullmode , ftype ) + "\t " + str (fuprint ) + "/" + str (fgprint ) + "\t " + str (
10073- member . size ).rjust (15 ) + "\t " + datetime .datetime .fromtimestamp (member .mtime ).strftime ('%Y-%m-%d %H:%M' ) + "\t " + printfname )
10081+ fsize ).rjust (15 ) + "\t " + datetime .datetime .fromtimestamp (member .mtime ).strftime ('%Y-%m-%d %H:%M' ) + "\t " + printfname )
1007410082 lcfi = lcfi + 1
1007510083 if (returnfp ):
1007610084 return listarrayfiles ['fp' ]
0 commit comments