2424import sys
2525import time
2626import stat
27- import zlib
2827import mmap
2928import hmac
3029import base64
@@ -829,13 +828,19 @@ def check_version_number(myversion=__version__, proname=__program_alt_name__, ne
829828
830829compressionsupport = []
831830try:
832- import gzip
831+ try:
832+ import compression.gzip as gzip
833+ except ImportError:
834+ import gzip
833835 compressionsupport.append("gz")
834836 compressionsupport.append("gzip")
835837except ImportError:
836838 pass
837839try:
838- import bz2
840+ try:
841+ import compression.bz2 as bz2
842+ except ImportError:
843+ import bz2
839844 compressionsupport.append("bz2")
840845 compressionsupport.append("bzip2")
841846except ImportError:
@@ -856,20 +861,20 @@ def check_version_number(myversion=__version__, proname=__program_alt_name__, ne
856861 pass
857862'''
858863try:
859- import zstandard
864+ try:
865+ import compression.zstd as zstd
866+ except ImportError:
867+ import pyzstd.zstdfile as zstd
860868 compressionsupport.append("zst")
861869 compressionsupport.append("zstd")
862870 compressionsupport.append("zstandard")
863871except ImportError:
872+ pass
873+ try:
864874 try:
865- import pyzstd.zstdfile
866- compressionsupport.append("zst")
867- compressionsupport.append("zstd")
868- compressionsupport.append("zstandard")
875+ import compression.lzma as lzma
869876 except ImportError:
870- pass
871- try:
872- import lzma
877+ import lzma
873878 compressionsupport.append("lzma")
874879 compressionsupport.append("xz")
875880except ImportError:
@@ -879,12 +884,18 @@ def check_version_number(myversion=__version__, proname=__program_alt_name__, ne
879884 compressionsupport.append("xz")
880885 except ImportError:
881886 pass
882- compressionsupport.append("zlib")
883- compressionsupport.append("zl")
884- compressionsupport.append("zz")
885- compressionsupport.append("Z")
886- compressionsupport.append("z")
887-
887+ try:
888+ try:
889+ import compression.zlib as zlib
890+ except ImportError:
891+ import zlib
892+ compressionsupport.append("zlib")
893+ compressionsupport.append("zl")
894+ compressionsupport.append("zz")
895+ compressionsupport.append("Z")
896+ compressionsupport.append("z")
897+ except ImportError:
898+ pass
888899compressionlist = ['auto']
889900compressionlistalt = []
890901outextlist = []
@@ -6385,10 +6396,8 @@ def AppendFilesWithContentFromTarFile(infile, fp, extradata=[], jsondata={}, com
63856396 if(IsNestedDict(formatspecs) and compresscheck in formatspecs):
63866397 formatspecs = formatspecs[compresscheck]
63876398 if(compresscheck=="zstd"):
6388- if 'zstandard' in sys.modules:
6389- infile = ZstdFile(fileobj=infile, mode="rb")
6390- elif 'pyzstd' in sys.modules:
6391- infile = pyzstd.zstdfile.ZstdFile(fileobj=infile, mode="rb")
6399+ if 'zstd' in compressionsupport:
6400+ infile = zstd.ZstdFile(infile, mode="rb")
63926401 tarfp = tarfile.open(fileobj=infile, mode="r")
63936402 else:
63946403 tarfp = tarfile.open(fileobj=infile, mode="r")
@@ -6397,10 +6406,8 @@ def AppendFilesWithContentFromTarFile(infile, fp, extradata=[], jsondata={}, com
63976406 if(IsNestedDict(formatspecs) and compresscheck in formatspecs):
63986407 formatspecs = formatspecs[compresscheck]
63996408 if(compresscheck=="zstd"):
6400- if 'zstandard' in sys.modules:
6401- infile = ZstdFile(fileobj=infile, mode="rb")
6402- elif 'pyzstd' in sys.modules:
6403- infile = pyzstd.zstdfile.ZstdFile(fileobj=infile, mode="rb")
6409+ if 'zstd' in compressionsupport:
6410+ infile = zstd.ZstdFile(infile, mode="rb")
64046411 tarfp = tarfile.open(fileobj=infile, mode="r")
64056412 else:
64066413 tarfp = tarfile.open(infile, "r")
@@ -8467,10 +8474,8 @@ def CheckCompressionSubType(infile, formatspecs=__file_format_multi_dict__, file
84678474 elif(compresscheck == "lz4" and compresscheck in compressionsupport):
84688475 fp = lz4.frame.open(infile, "rb")
84698476 elif(compresscheck == "zstd" and compresscheck in compressionsupport):
8470- if 'zstandard' in sys.modules:
8471- fp = ZstdFile(infile, mode="rb")
8472- elif 'pyzstd' in sys.modules:
8473- fp = pyzstd.zstdfile.ZstdFile(infile, mode="rb")
8477+ if 'zstd' in compressionsupport:
8478+ fp = zstd.ZstdFile(infile, mode="rb")
84748479 else:
84758480 return Flase
84768481 elif((compresscheck == "lzma" or compresscheck == "xz") and compresscheck in compressionsupport):
@@ -8587,10 +8592,8 @@ def UncompressFileAlt(fp, formatspecs=__file_format_multi_dict__, filestart=0,
85878592 elif kind in ("lzma","xz") and (("lzma" in compressionsupport) or ("xz" in compressionsupport)):
85888593 wrapped = lzma.LZMAFile(src)
85898594 elif kind == "zstd" and ("zstd" in compressionsupport or "zstandard" in compressionsupport):
8590- if 'zstandard' in sys.modules:
8591- wrapped = ZstdFile(fileobj=src, mode="rb")
8592- elif 'pyzstd' in sys.modules:
8593- wrapped = pyzstd.zstdfile.ZstdFile(fileobj=src, mode="rb")
8595+ if 'zstd' in compressionsupport:
8596+ wrapped = zstd.ZstdFile(src, mode="rb")
85948597 else:
85958598 return False
85968599 elif kind == "lz4" and "lz4" in compressionsupport:
@@ -8658,10 +8661,8 @@ def UncompressFile(infile, formatspecs=__file_format_multi_dict__, mode="rb",
86588661 elif (compresscheck == "bzip2" and "bzip2" in compressionsupport):
86598662 fp = bz2.open(infile, mode)
86608663 elif (compresscheck == "zstd" and "zstandard" in compressionsupport):
8661- if 'zstandard' in sys.modules:
8662- fp = ZstdFile(infile, mode=mode)
8663- elif 'pyzstd' in sys.modules:
8664- fp = pyzstd.zstdfile.ZstdFile(infile, mode=mode)
8664+ if 'zstd' in compressionsupport:
8665+ fp = zstd.ZstdFile(infile, mode=mode)
86658666 else:
86668667 return False
86678668 elif (compresscheck == "lz4" and "lz4" in compressionsupport):
@@ -9430,10 +9431,8 @@ def CompressOpenFile(outfile, compressionenable=True, compressionlevel=None,
94309431 outfp = FileLikeAdapter(bz2.open(outfile, mode, compressionlevel), mode="wb")
94319432
94329433 elif (fextname == ".zst" and "zstandard" in compressionsupport):
9433- if 'zstandard' in sys.modules:
9434- outfp = FileLikeAdapter(ZstdFile(outfile, mode=mode, level=compressionlevel), mode="wb")
9435- elif 'pyzstd' in sys.modules:
9436- outfp = FileLikeAdapter(pyzstd.zstdfile.ZstdFile(outfile, mode=mode, level=compressionlevel), mode="wb")
9434+ if 'zstd' in compressionsupport:
9435+ outfp = FileLikeAdapter(zstd.ZstdFile(outfile, mode=mode, level=compressionlevel), mode="wb")
94379436 else:
94389437 return False # fix: 'Flase' -> False
94399438
@@ -11073,10 +11072,8 @@ def TarFileListFiles(infile, verbose=False, returnfp=False):
1107311072 if(IsNestedDict(formatspecs) and compresscheck in formatspecs):
1107411073 formatspecs = formatspecs[compresscheck]
1107511074 if(compresscheck=="zstd"):
11076- if 'zstandard' in sys.modules:
11077- infile = ZstdFile(fileobj=infile, mode="rb")
11078- elif 'pyzstd' in sys.modules:
11079- infile = pyzstd.zstdfile.ZstdFile(fileobj=infile, mode="rb")
11075+ if 'zstd' in compressionsupport:
11076+ infile = zstd.ZstdFile(infile, mode="rb")
1108011077 tarfp = tarfile.open(fileobj=infile, mode="r")
1108111078 else:
1108211079 tarfp = tarfile.open(fileobj=infile, mode="r")
@@ -11085,10 +11082,8 @@ def TarFileListFiles(infile, verbose=False, returnfp=False):
1108511082 if(IsNestedDict(formatspecs) and compresscheck in formatspecs):
1108611083 formatspecs = formatspecs[compresscheck]
1108711084 if(compresscheck=="zstd"):
11088- if 'zstandard' in sys.modules:
11089- infile = ZstdFile(fileobj=infile, mode="rb")
11090- elif 'pyzstd' in sys.modules:
11091- infile = pyzstd.zstdfile.ZstdFile(fileobj=infile, mode="rb")
11085+ if 'zstd' in compressionsupport:
11086+ infile = zstd.ZstdFile(infile, mode="rb")
1109211087 tarfp = tarfile.open(fileobj=infile, mode="r")
1109311088 else:
1109411089 tarfp = tarfile.open(infile, "r")
0 commit comments