@@ -225,6 +225,16 @@ def get_importing_script_path():
225225 return os .path .abspath (filename )
226226 return None
227227
228+ def get_default_threads ():
229+ """Returns the number of CPU threads available, or 1 if unavailable."""
230+ try :
231+ cpu_threads = os .cpu_count ()
232+ return cpu_threads if cpu_threads is not None else 1
233+ except AttributeError :
234+ # os.cpu_count() might not be available in some environments
235+ return 1
236+
237+
228238__use_pysftp__ = False
229239__use_alt_format__ = False
230240__use_env_file__ = True
@@ -3349,47 +3359,24 @@ def UncompressFile(infile, formatspecs=__file_format_dict__, mode="rb"):
33493359 mode = "w"
33503360 try :
33513361 if (compresscheck == "gzip" and compresscheck in compressionsupport ):
3352- try :
3353- filefp = gzip .open (infile , mode , encoding = "UTF-8" )
3354- except (ValueError , TypeError ) as e :
3355- filefp = gzip .open (infile , mode )
3362+ filefp = gzip .open (infile , mode )
33563363 if (compresscheck == "bzip2" and compresscheck in compressionsupport ):
3357- try :
3358- filefp = bz2 .open (infile , mode , encoding = "UTF-8" )
3359- except (ValueError , TypeError ) as e :
3360- filefp = bz2 .open (infile , mode )
3364+ filefp = bz2 .open (infile , mode )
33613365 if (compresscheck == "zstd" and compresscheck in compressionsupport ):
3362- try :
3363- filefp = zstandard .open (infile , mode , encoding = "UTF-8" )
3364- except (ValueError , TypeError ) as e :
3365- filefp = zstandard .open (infile , mode )
3366+ decompressor = zstandard .ZstdDecompressor (threads = get_default_threads ())
3367+ filefp = decompressor .open (infile , mode )
33663368 if (compresscheck == "lz4" and compresscheck in compressionsupport ):
3367- try :
3368- filefp = lz4 .frame .open (infile , mode , encoding = "UTF-8" )
3369- except (ValueError , TypeError ) as e :
3370- filefp = lz4 .frame .open (infile , mode )
3369+ filefp = lz4 .frame .open (infile , mode )
33713370 if ((compresscheck == "lzo" or compresscheck == "lzop" ) and compresscheck in compressionsupport ):
3372- try :
3373- filefp = lzo .open (infile , mode , encoding = "UTF-8" )
3374- except (ValueError , TypeError ) as e :
3375- filefp = lzo .open (infile , mode )
3371+ filefp = lzo .open (infile , mode )
33763372 if ((compresscheck == "lzma" or compresscheck == "xz" ) and compresscheck in compressionsupport ):
3377- try :
3378- filefp = lzma .open (infile , mode , encoding = "UTF-8" )
3379- except (ValueError , TypeError ) as e :
3380- filefp = lzma .open (infile , mode )
3373+ filefp = lzma .open (infile , mode )
33813374 if (compresscheck == "zlib" and compresscheck in compressionsupport ):
33823375 filefp = ZlibFile (infile , mode = mode )
33833376 if (compresscheck == "catfile" or compresscheck == formatspecs ['format_lower' ]):
3384- try :
3385- filefp = open (infile , mode , encoding = "UTF-8" )
3386- except (ValueError , TypeError ) as e :
3387- filefp = open (infile , mode )
3377+ filefp = open (infile , mode )
33883378 if (not compresscheck ):
3389- try :
3390- filefp = open (infile , mode , encoding = "UTF-8" )
3391- except (ValueError , TypeError ) as e :
3392- filefp = open (infile , mode )
3379+ filefp = open (infile , mode )
33933380 except FileNotFoundError :
33943381 return False
33953382 try :
@@ -3406,11 +3393,8 @@ def UncompressString(infile):
34063393 if (compresscheck == "bzip2" and compresscheck in compressionsupport ):
34073394 fileuz = BzipDecompressData (infile )
34083395 if (compresscheck == "zstd" and compresscheck in compressionsupport ):
3409- try :
3410- import zstandard
3411- except ImportError :
3412- return False
3413- fileuz = zstandard .decompress (infile )
3396+ decompressor = zstandard .ZstdDecompressor (threads = get_default_threads ())
3397+ fileuz = decompressor .decompress (infile )
34143398 if (compresscheck == "lz4" and compresscheck in compressionsupport ):
34153399 fileuz = lz4 .frame .decompress (infile )
34163400 if ((compresscheck == "lzo" or compresscheck == "lzop" ) and compresscheck in compressionsupport ):
@@ -3571,10 +3555,11 @@ def CompressArchiveFile(fp, compression="auto", compressionlevel=None, formatspe
35713555 if (compression == "zstd" and compression in compressionsupport ):
35723556 catfp = BytesIO ()
35733557 if (compressionlevel is None ):
3574- compressionlevel = 10
3558+ compressionlevel = 9
35753559 else :
35763560 compressionlevel = int (compressionlevel )
3577- catfp .write (zstandard .compress (fp .read (), level = compressionlevel ))
3561+ compressor = zstandard .ZstdCompressor (compressionlevel , threads = get_default_threads ())
3562+ catfp .write (compressor .compress (fp .read ()))
35783563 if (compression == "lzma" and compression in compressionsupport ):
35793564 catfp = BytesIO ()
35803565 if (compressionlevel is None ):
@@ -3617,10 +3602,8 @@ def CompressOpenFile(outfile, compressionenable=True, compressionlevel=None):
36173602 return False
36183603 fbasename = os .path .splitext (outfile )[0 ]
36193604 fextname = os .path .splitext (outfile )[1 ]
3620- if (compressionlevel is None and fextname != ".zst" ):
3605+ if (compressionlevel is None ):
36213606 compressionlevel = 9
3622- elif (compressionlevel is None and fextname == ".zst" ):
3623- compressionlevel = 10
36243607 else :
36253608 compressionlevel = int (compressionlevel )
36263609 if (sys .version_info [0 ] == 2 ):
@@ -3636,7 +3619,7 @@ def CompressOpenFile(outfile, compressionenable=True, compressionlevel=None):
36363619 outfp = bz2 .open (outfile , mode , compressionlevel )
36373620 elif (fextname == ".zst" and "zstandard" in compressionsupport ):
36383621 outfp = zstandard .open (
3639- outfile , mode , zstandard .ZstdCompressor (level = compressionlevel ))
3622+ outfile , mode , zstandard .ZstdCompressor (level = compressionlevel , threads = get_default_threads () ))
36403623 elif (fextname == ".xz" and "xz" in compressionsupport ):
36413624 try :
36423625 outfp = lzma .open (outfile , mode , format = lzma .FORMAT_XZ , filters = [{"id" : lzma .FILTER_LZMA2 , "preset" : compressionlevel }])
@@ -8480,7 +8463,6 @@ def ZipFileListFiles(infile, verbose=False, returnfp=False):
84808463 try :
84818464 zipfp = zipfile .ZipFile (infile , "r" , allowZip64 = True )
84828465 except FileNotFoundError :
8483- print (6 )
84848466 return False
84858467 lcfi = 0
84868468 returnval = {}
0 commit comments