pylibschc.compressor¶
User-facing compressor/decompressor functionality
- class pylibschc.compressor.CompressorDecompressor(*args, **kwargs)[source]¶
Bases:
objectA Compressor/Decompressor.
This wraps
pylibschc.libschc.CompressorDecompressorfor a more pythonic usage.- Parameters:
device (
pylibschc.device.Device) – Device to be used for compression/decompression.
- device: pylibschc.device.Device¶
Device to be used for compression/decompression.
- input(data: bytes | BitArray, direction: Direction) bytes[source]¶
Decompress according to the compression rules of
CompressorDecompressor.device.- Parameters:
data – The data to decompress.
direction – Direction to use for decompression.
- Raises:
TypeError – When
datais not of the expected input type.ValueError – When direction is
pylibschc.libschc.Direction.BI.
- Returns:
The decompressed data.
- Return type:
bytes
- output(data: bytes | BitArray, direction: Direction) Tuple[CompressionResult, BitArray][source]¶
Compress according to the compression rules of
CompressorDecompressor.device.- Parameters:
data – The data to compress.
direction – Direction to use for compression.
- Raises:
TypeError – When
datais not of the expected input type.ValueError – When direction is
pylibschc.libschc.Direction.BI.
- Returns:
Whether the packet was compressed or the uncompressed rule was used and the compressed packet as a
pylibschc.libschc.BitArray.- Return type:
typing.Tuple[pylibschc.libschc.CompressionResult,pylibschc.libschc.BitArray]