zstd.py 483 B

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