diff options
Diffstat (limited to 'src/snakeoil/compression/_bzip2.py')
-rw-r--r-- | src/snakeoil/compression/_bzip2.py | 30 |
1 files changed, 19 insertions, 11 deletions
diff --git a/src/snakeoil/compression/_bzip2.py b/src/snakeoil/compression/_bzip2.py index 1a38922c..122debd1 100644 --- a/src/snakeoil/compression/_bzip2.py +++ b/src/snakeoil/compression/_bzip2.py @@ -25,6 +25,7 @@ bz2_path = process.find_binary("bzip2") try: from bz2 import BZ2File, compress as _compress_data, decompress as _decompress_data + native = True except ImportError: @@ -40,7 +41,7 @@ _decompress_handle = partial(_util.decompress_handle, bz2_path) try: lbzip2_path = process.find_binary("lbzip2") - lbzip2_compress_args = (f'-n{multiprocessing.cpu_count()}', ) + lbzip2_compress_args = (f"-n{multiprocessing.cpu_count()}",) lbzip2_decompress_args = lbzip2_compress_args parallelizable = True except process.CommandNotFound: @@ -51,28 +52,35 @@ except process.CommandNotFound: def compress_data(data, level=9, parallelize=False): if parallelize and parallelizable: - return _util.compress_data(lbzip2_path, data, compresslevel=level, - extra_args=lbzip2_compress_args) + return _util.compress_data( + lbzip2_path, data, compresslevel=level, extra_args=lbzip2_compress_args + ) return _compress_data(data, compresslevel=level) + def decompress_data(data, parallelize=False): if parallelize and parallelizable: - return _util.decompress_data(lbzip2_path, data, - extra_args=lbzip2_decompress_args) + return _util.decompress_data( + lbzip2_path, data, extra_args=lbzip2_decompress_args + ) return _decompress_data(data) + def compress_handle(handle, level=9, parallelize=False): if parallelize and parallelizable: - return _util.compress_handle(lbzip2_path, handle, compresslevel=level, - extra_args=lbzip2_compress_args) + return _util.compress_handle( + lbzip2_path, handle, compresslevel=level, extra_args=lbzip2_compress_args + ) elif native and isinstance(handle, str): - return BZ2File(handle, mode='w', compresslevel=level) + return BZ2File(handle, mode="w", compresslevel=level) return _compress_handle(handle, compresslevel=level) + def decompress_handle(handle, parallelize=False): if parallelize and parallelizable: - return _util.decompress_handle(lbzip2_path, handle, - extra_args=lbzip2_decompress_args) + return _util.decompress_handle( + lbzip2_path, handle, extra_args=lbzip2_decompress_args + ) elif native and isinstance(handle, str): - return BZ2File(handle, mode='r') + return BZ2File(handle, mode="r") return _decompress_handle(handle) |