1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
|
import importlib
from .. import errors
from ..protocol import CompressionMethodByte
def get_compressor_cls(alg):
try:
module = importlib.import_module('.' + alg, __name__)
return module.Compressor
except ImportError:
raise errors.UnknownCompressionMethod(
"Unknown compression method: '{}'".format(alg)
)
def get_decompressor_cls(method_type):
if method_type == CompressionMethodByte.LZ4:
module = importlib.import_module('.lz4', __name__)
elif method_type == CompressionMethodByte.ZSTD:
module = importlib.import_module('.zstd', __name__)
else:
raise errors.UnknownCompressionMethod()
return module.Decompressor
|