2424import sys
2525import time
2626import stat
27- import zlib
2827import mmap
2928import hmac
3029import base64
@@ -822,13 +821,19 @@ def check_version_number(myversion=__version__, proname=__program_alt_name__, ne
822821
823822compressionsupport = []
824823try:
825- import gzip
824+ try:
825+ import compression.gzip as gzip
826+ except ImportError:
827+ import gzip
826828 compressionsupport.append("gz")
827829 compressionsupport.append("gzip")
828830except ImportError:
829831 pass
830832try:
831- import bz2
833+ try:
834+ import compression.bz2 as bz2
835+ except ImportError:
836+ import bz2
832837 compressionsupport.append("bz2")
833838 compressionsupport.append("bzip2")
834839except ImportError:
@@ -849,20 +854,20 @@ def check_version_number(myversion=__version__, proname=__program_alt_name__, ne
849854 pass
850855'''
851856try:
852- import zstandard
857+ try:
858+ import compression.zstd as zstd
859+ except ImportError:
860+ import pyzstd.zstdfile as zstd
853861 compressionsupport.append("zst")
854862 compressionsupport.append("zstd")
855863 compressionsupport.append("zstandard")
856864except ImportError:
865+ pass
866+ try:
857867 try:
858- import pyzstd.zstdfile
859- compressionsupport.append("zst")
860- compressionsupport.append("zstd")
861- compressionsupport.append("zstandard")
868+ import compression.lzma as lzma
862869 except ImportError:
863- pass
864- try:
865- import lzma
870+ import lzma
866871 compressionsupport.append("lzma")
867872 compressionsupport.append("xz")
868873except ImportError:
@@ -872,12 +877,18 @@ def check_version_number(myversion=__version__, proname=__program_alt_name__, ne
872877 compressionsupport.append("xz")
873878 except ImportError:
874879 pass
875- compressionsupport.append("zlib")
876- compressionsupport.append("zl")
877- compressionsupport.append("zz")
878- compressionsupport.append("Z")
879- compressionsupport.append("z")
880-
880+ try:
881+ try:
882+ import compression.zlib as zlib
883+ except ImportError:
884+ import zlib
885+ compressionsupport.append("zlib")
886+ compressionsupport.append("zl")
887+ compressionsupport.append("zz")
888+ compressionsupport.append("Z")
889+ compressionsupport.append("z")
890+ except ImportError:
891+ pass
881892compressionlist = ['auto']
882893compressionlistalt = []
883894outextlist = []
@@ -6378,10 +6389,8 @@ def AppendFilesWithContentFromTarFile(infile, fp, extradata=[], jsondata={}, com
63786389 if(IsNestedDict(formatspecs) and compresscheck in formatspecs):
63796390 formatspecs = formatspecs[compresscheck]
63806391 if(compresscheck=="zstd"):
6381- if 'zstandard' in sys.modules:
6382- infile = ZstdFile(fileobj=infile, mode="rb")
6383- elif 'pyzstd' in sys.modules:
6384- infile = pyzstd.zstdfile.ZstdFile(fileobj=infile, mode="rb")
6392+ if 'zstd' in compressionsupport:
6393+ infile = zstd.ZstdFile(infile, mode="rb")
63856394 tarfp = tarfile.open(fileobj=infile, mode="r")
63866395 else:
63876396 tarfp = tarfile.open(fileobj=infile, mode="r")
@@ -6390,10 +6399,8 @@ def AppendFilesWithContentFromTarFile(infile, fp, extradata=[], jsondata={}, com
63906399 if(IsNestedDict(formatspecs) and compresscheck in formatspecs):
63916400 formatspecs = formatspecs[compresscheck]
63926401 if(compresscheck=="zstd"):
6393- if 'zstandard' in sys.modules:
6394- infile = ZstdFile(fileobj=infile, mode="rb")
6395- elif 'pyzstd' in sys.modules:
6396- infile = pyzstd.zstdfile.ZstdFile(fileobj=infile, mode="rb")
6402+ if 'zstd' in compressionsupport:
6403+ infile = zstd.ZstdFile(infile, mode="rb")
63976404 tarfp = tarfile.open(fileobj=infile, mode="r")
63986405 else:
63996406 tarfp = tarfile.open(infile, "r")
@@ -8460,10 +8467,8 @@ def CheckCompressionSubType(infile, formatspecs=__file_format_multi_dict__, file
84608467 elif(compresscheck == "lz4" and compresscheck in compressionsupport):
84618468 fp = lz4.frame.open(infile, "rb")
84628469 elif(compresscheck == "zstd" and compresscheck in compressionsupport):
8463- if 'zstandard' in sys.modules:
8464- fp = ZstdFile(infile, mode="rb")
8465- elif 'pyzstd' in sys.modules:
8466- fp = pyzstd.zstdfile.ZstdFile(infile, mode="rb")
8470+ if 'zstd' in compressionsupport:
8471+ fp = zstd.ZstdFile(infile, mode="rb")
84678472 else:
84688473 return Flase
84698474 elif((compresscheck == "lzma" or compresscheck == "xz") and compresscheck in compressionsupport):
@@ -8580,10 +8585,8 @@ def UncompressFileAlt(fp, formatspecs=__file_format_multi_dict__, filestart=0,
85808585 elif kind in ("lzma","xz") and (("lzma" in compressionsupport) or ("xz" in compressionsupport)):
85818586 wrapped = lzma.LZMAFile(src)
85828587 elif kind == "zstd" and ("zstd" in compressionsupport or "zstandard" in compressionsupport):
8583- if 'zstandard' in sys.modules:
8584- wrapped = ZstdFile(fileobj=src, mode="rb")
8585- elif 'pyzstd' in sys.modules:
8586- wrapped = pyzstd.zstdfile.ZstdFile(fileobj=src, mode="rb")
8588+ if 'zstd' in compressionsupport:
8589+ wrapped = zstd.ZstdFile(src, mode="rb")
85878590 else:
85888591 return False
85898592 elif kind == "lz4" and "lz4" in compressionsupport:
@@ -8651,10 +8654,8 @@ def UncompressFile(infile, formatspecs=__file_format_multi_dict__, mode="rb",
86518654 elif (compresscheck == "bzip2" and "bzip2" in compressionsupport):
86528655 fp = bz2.open(infile, mode)
86538656 elif (compresscheck == "zstd" and "zstandard" in compressionsupport):
8654- if 'zstandard' in sys.modules:
8655- fp = ZstdFile(infile, mode=mode)
8656- elif 'pyzstd' in sys.modules:
8657- fp = pyzstd.zstdfile.ZstdFile(infile, mode=mode)
8657+ if 'zstd' in compressionsupport:
8658+ fp = zstd.ZstdFile(infile, mode=mode)
86588659 else:
86598660 return False
86608661 elif (compresscheck == "lz4" and "lz4" in compressionsupport):
@@ -9423,10 +9424,8 @@ def CompressOpenFile(outfile, compressionenable=True, compressionlevel=None,
94239424 outfp = FileLikeAdapter(bz2.open(outfile, mode, compressionlevel), mode="wb")
94249425
94259426 elif (fextname == ".zst" and "zstandard" in compressionsupport):
9426- if 'zstandard' in sys.modules:
9427- outfp = FileLikeAdapter(ZstdFile(outfile, mode=mode, level=compressionlevel), mode="wb")
9428- elif 'pyzstd' in sys.modules:
9429- outfp = FileLikeAdapter(pyzstd.zstdfile.ZstdFile(outfile, mode=mode, level=compressionlevel), mode="wb")
9427+ if 'zstd' in compressionsupport:
9428+ outfp = FileLikeAdapter(zstd.ZstdFile(outfile, mode=mode, level=compressionlevel), mode="wb")
94309429 else:
94319430 return False # fix: 'Flase' -> False
94329431
@@ -11066,10 +11065,8 @@ def TarFileListFiles(infile, verbose=False, returnfp=False):
1106611065 if(IsNestedDict(formatspecs) and compresscheck in formatspecs):
1106711066 formatspecs = formatspecs[compresscheck]
1106811067 if(compresscheck=="zstd"):
11069- if 'zstandard' in sys.modules:
11070- infile = ZstdFile(fileobj=infile, mode="rb")
11071- elif 'pyzstd' in sys.modules:
11072- infile = pyzstd.zstdfile.ZstdFile(fileobj=infile, mode="rb")
11068+ if 'zstd' in compressionsupport:
11069+ infile = zstd.ZstdFile(infile, mode="rb")
1107311070 tarfp = tarfile.open(fileobj=infile, mode="r")
1107411071 else:
1107511072 tarfp = tarfile.open(fileobj=infile, mode="r")
@@ -11078,10 +11075,8 @@ def TarFileListFiles(infile, verbose=False, returnfp=False):
1107811075 if(IsNestedDict(formatspecs) and compresscheck in formatspecs):
1107911076 formatspecs = formatspecs[compresscheck]
1108011077 if(compresscheck=="zstd"):
11081- if 'zstandard' in sys.modules:
11082- infile = ZstdFile(fileobj=infile, mode="rb")
11083- elif 'pyzstd' in sys.modules:
11084- infile = pyzstd.zstdfile.ZstdFile(fileobj=infile, mode="rb")
11078+ if 'zstd' in compressionsupport:
11079+ infile = zstd.ZstdFile(infile, mode="rb")
1108511080 tarfp = tarfile.open(fileobj=infile, mode="r")
1108611081 else:
1108711082 tarfp = tarfile.open(infile, "r")
0 commit comments