def compress(data): out = BytesIO() # using obj so can specify params (via functools.partial) compressor = _zlib_compressobj() out.write(compressor.compress(data)) out.write(compressor.flush(_zlib_Z_FINISH)) return out.getvalue()
return COMP_NONE @staticmethod def compress(data): return data @staticmethod def decompress(data, max_size=DEFAULT_MAX_SIZE): # pylint: disable=unused-argument return data # Not all versions support explicit keyword config try: # some support one but not both _zlib_decompressobj(wbits=15) _zlib_compressobj(method=_zlib_DEFLATED, wbits=15) except TypeError: logger.warning('zlib does not support setting of method & wbits') else: _zlib_compressobj = partial(_zlib_compressobj, method=_zlib_DEFLATED, wbits=15) # pylint: disable=invalid-name _zlib_decompressobj = partial(_zlib_decompressobj, wbits=15) # pylint: disable=invalid-name class Zlib(Compressor): @staticmethod def method(): return COMP_ZLIB @staticmethod def compress(data):
return COMP_NONE @staticmethod def compress(data): return data @staticmethod def decompress(data, max_size=DEFAULT_MAX_SIZE): # pylint: disable=unused-argument return data # Not all versions support explicit keyword config try: # some support one but not both _zlib_decompressobj(wbits=15) _zlib_compressobj(method=_zlib_DEFLATED, wbits=15) except TypeError: warn('zlib module in use does not support setting of method & wbits', ImportWarning) else: _zlib_compressobj = partial(_zlib_compressobj, method=_zlib_DEFLATED, wbits=15) # pylint: disable=invalid-name _zlib_decompressobj = partial(_zlib_decompressobj, wbits=15) # pylint: disable=invalid-name class Zlib(Compressor): @staticmethod def method(): return COMP_ZLIB