2424import sys
2525import time
2626import stat
27- import zlib
2827import mmap
2928import hmac
3029import base64
@@ -828,13 +827,19 @@ def check_version_number(myversion=__version__, proname=__program_alt_name__, ne
828827
829828compressionsupport = []
830829try:
831- import gzip
830+ try:
831+ import compression.gzip as gzip
832+ except ImportError:
833+ import gzip
832834 compressionsupport.append("gz")
833835 compressionsupport.append("gzip")
834836except ImportError:
835837 pass
836838try:
837- import bz2
839+ try:
840+ import compression.bz2 as bz2
841+ except ImportError:
842+ import bz2
838843 compressionsupport.append("bz2")
839844 compressionsupport.append("bzip2")
840845except ImportError:
@@ -855,20 +860,20 @@ def check_version_number(myversion=__version__, proname=__program_alt_name__, ne
855860 pass
856861'''
857862try:
858- import zstandard
863+ try:
864+ import compression.zstd as zstd
865+ except ImportError:
866+ import pyzstd.zstdfile as zstd
859867 compressionsupport.append("zst")
860868 compressionsupport.append("zstd")
861869 compressionsupport.append("zstandard")
862870except ImportError:
871+ pass
872+ try:
863873 try:
864- import pyzstd.zstdfile
865- compressionsupport.append("zst")
866- compressionsupport.append("zstd")
867- compressionsupport.append("zstandard")
874+ import compression.lzma as lzma
868875 except ImportError:
869- pass
870- try:
871- import lzma
876+ import lzma
872877 compressionsupport.append("lzma")
873878 compressionsupport.append("xz")
874879except ImportError:
@@ -878,12 +883,18 @@ def check_version_number(myversion=__version__, proname=__program_alt_name__, ne
878883 compressionsupport.append("xz")
879884 except ImportError:
880885 pass
881- compressionsupport.append("zlib")
882- compressionsupport.append("zl")
883- compressionsupport.append("zz")
884- compressionsupport.append("Z")
885- compressionsupport.append("z")
886-
886+ try:
887+ try:
888+ import compression.zlib as zlib
889+ except ImportError:
890+ import zlib
891+ compressionsupport.append("zlib")
892+ compressionsupport.append("zl")
893+ compressionsupport.append("zz")
894+ compressionsupport.append("Z")
895+ compressionsupport.append("z")
896+ except ImportError:
897+ pass
887898compressionlist = ['auto']
888899compressionlistalt = []
889900outextlist = []
@@ -6384,10 +6395,8 @@ def AppendFilesWithContentFromTarFile(infile, fp, extradata=[], jsondata={}, com
63846395 if(IsNestedDict(formatspecs) and compresscheck in formatspecs):
63856396 formatspecs = formatspecs[compresscheck]
63866397 if(compresscheck=="zstd"):
6387- if 'zstandard' in sys.modules:
6388- infile = ZstdFile(fileobj=infile, mode="rb")
6389- elif 'pyzstd' in sys.modules:
6390- infile = pyzstd.zstdfile.ZstdFile(fileobj=infile, mode="rb")
6398+ if 'zstd' in compressionsupport:
6399+ infile = zstd.ZstdFile(infile, mode="rb")
63916400 tarfp = tarfile.open(fileobj=infile, mode="r")
63926401 else:
63936402 tarfp = tarfile.open(fileobj=infile, mode="r")
@@ -6396,10 +6405,8 @@ def AppendFilesWithContentFromTarFile(infile, fp, extradata=[], jsondata={}, com
63966405 if(IsNestedDict(formatspecs) and compresscheck in formatspecs):
63976406 formatspecs = formatspecs[compresscheck]
63986407 if(compresscheck=="zstd"):
6399- if 'zstandard' in sys.modules:
6400- infile = ZstdFile(fileobj=infile, mode="rb")
6401- elif 'pyzstd' in sys.modules:
6402- infile = pyzstd.zstdfile.ZstdFile(fileobj=infile, mode="rb")
6408+ if 'zstd' in compressionsupport:
6409+ infile = zstd.ZstdFile(infile, mode="rb")
64036410 tarfp = tarfile.open(fileobj=infile, mode="r")
64046411 else:
64056412 tarfp = tarfile.open(infile, "r")
@@ -8466,10 +8473,8 @@ def CheckCompressionSubType(infile, formatspecs=__file_format_multi_dict__, file
84668473 elif(compresscheck == "lz4" and compresscheck in compressionsupport):
84678474 fp = lz4.frame.open(infile, "rb")
84688475 elif(compresscheck == "zstd" and compresscheck in compressionsupport):
8469- if 'zstandard' in sys.modules:
8470- fp = ZstdFile(infile, mode="rb")
8471- elif 'pyzstd' in sys.modules:
8472- fp = pyzstd.zstdfile.ZstdFile(infile, mode="rb")
8476+ if 'zstd' in compressionsupport:
8477+ fp = zstd.ZstdFile(infile, mode="rb")
84738478 else:
84748479 return Flase
84758480 elif((compresscheck == "lzma" or compresscheck == "xz") and compresscheck in compressionsupport):
@@ -8586,10 +8591,8 @@ def UncompressFileAlt(fp, formatspecs=__file_format_multi_dict__, filestart=0,
85868591 elif kind in ("lzma","xz") and (("lzma" in compressionsupport) or ("xz" in compressionsupport)):
85878592 wrapped = lzma.LZMAFile(src)
85888593 elif kind == "zstd" and ("zstd" in compressionsupport or "zstandard" in compressionsupport):
8589- if 'zstandard' in sys.modules:
8590- wrapped = ZstdFile(fileobj=src, mode="rb")
8591- elif 'pyzstd' in sys.modules:
8592- wrapped = pyzstd.zstdfile.ZstdFile(fileobj=src, mode="rb")
8594+ if 'zstd' in compressionsupport:
8595+ wrapped = zstd.ZstdFile(src, mode="rb")
85938596 else:
85948597 return False
85958598 elif kind == "lz4" and "lz4" in compressionsupport:
@@ -8657,10 +8660,8 @@ def UncompressFile(infile, formatspecs=__file_format_multi_dict__, mode="rb",
86578660 elif (compresscheck == "bzip2" and "bzip2" in compressionsupport):
86588661 fp = bz2.open(infile, mode)
86598662 elif (compresscheck == "zstd" and "zstandard" in compressionsupport):
8660- if 'zstandard' in sys.modules:
8661- fp = ZstdFile(infile, mode=mode)
8662- elif 'pyzstd' in sys.modules:
8663- fp = pyzstd.zstdfile.ZstdFile(infile, mode=mode)
8663+ if 'zstd' in compressionsupport:
8664+ fp = zstd.ZstdFile(infile, mode=mode)
86648665 else:
86658666 return False
86668667 elif (compresscheck == "lz4" and "lz4" in compressionsupport):
@@ -9429,10 +9430,8 @@ def CompressOpenFile(outfile, compressionenable=True, compressionlevel=None,
94299430 outfp = FileLikeAdapter(bz2.open(outfile, mode, compressionlevel), mode="wb")
94309431
94319432 elif (fextname == ".zst" and "zstandard" in compressionsupport):
9432- if 'zstandard' in sys.modules:
9433- outfp = FileLikeAdapter(ZstdFile(outfile, mode=mode, level=compressionlevel), mode="wb")
9434- elif 'pyzstd' in sys.modules:
9435- outfp = FileLikeAdapter(pyzstd.zstdfile.ZstdFile(outfile, mode=mode, level=compressionlevel), mode="wb")
9433+ if 'zstd' in compressionsupport:
9434+ outfp = FileLikeAdapter(zstd.ZstdFile(outfile, mode=mode, level=compressionlevel), mode="wb")
94369435 else:
94379436 return False # fix: 'Flase' -> False
94389437
@@ -11072,10 +11071,8 @@ def TarFileListFiles(infile, verbose=False, returnfp=False):
1107211071 if(IsNestedDict(formatspecs) and compresscheck in formatspecs):
1107311072 formatspecs = formatspecs[compresscheck]
1107411073 if(compresscheck=="zstd"):
11075- if 'zstandard' in sys.modules:
11076- infile = ZstdFile(fileobj=infile, mode="rb")
11077- elif 'pyzstd' in sys.modules:
11078- infile = pyzstd.zstdfile.ZstdFile(fileobj=infile, mode="rb")
11074+ if 'zstd' in compressionsupport:
11075+ infile = zstd.ZstdFile(infile, mode="rb")
1107911076 tarfp = tarfile.open(fileobj=infile, mode="r")
1108011077 else:
1108111078 tarfp = tarfile.open(fileobj=infile, mode="r")
@@ -11084,10 +11081,8 @@ def TarFileListFiles(infile, verbose=False, returnfp=False):
1108411081 if(IsNestedDict(formatspecs) and compresscheck in formatspecs):
1108511082 formatspecs = formatspecs[compresscheck]
1108611083 if(compresscheck=="zstd"):
11087- if 'zstandard' in sys.modules:
11088- infile = ZstdFile(fileobj=infile, mode="rb")
11089- elif 'pyzstd' in sys.modules:
11090- infile = pyzstd.zstdfile.ZstdFile(fileobj=infile, mode="rb")
11084+ if 'zstd' in compressionsupport:
11085+ infile = zstd.ZstdFile(infile, mode="rb")
1109111086 tarfp = tarfile.open(fileobj=infile, mode="r")
1109211087 else:
1109311088 tarfp = tarfile.open(infile, "r")
0 commit comments