# -*- coding: utf-8 -*- import bz2 import zlib import snappy def compress_bz2(data): if isinstance(data, str): prepared = data.encode('utf-8') else: prepared = data obj = bz2.compress(prepared, compresslevel=9) return obj def decompress_bz2(data): return bz2.decompress(data) def compress_zlib(data): if isinstance(data, str): prepared = data.encode('utf-8') else: prepared = data return zlib.compress(prepared, level=9) def decompress_zlib(data): return zlib.decompress(data) def compress_snappy(data): return snappy.compress(data) def decompress_snappy(data): return snappy.decompress(data) def no_compression(data): return data def no_decompression(data): return data