zlib.py 499 B

1234567891011121314151617181920
  1. import zlib
  2. from ..exceptions import CompressorError
  3. from .base import BaseCompressor
  4. class ZlibCompressor(BaseCompressor):
  5. min_length = 15
  6. preset = 6
  7. def compress(self, value: bytes) -> bytes:
  8. if len(value) > self.min_length:
  9. return zlib.compress(value, self.preset)
  10. return value
  11. def decompress(self, value: bytes) -> bytes:
  12. try:
  13. return zlib.decompress(value)
  14. except zlib.error as e:
  15. raise CompressorError(e)