aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'src/snakeoil/compression/_bzip2.py')
-rw-r--r--src/snakeoil/compression/_bzip2.py30
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)