dfvfs.compression package

Submodules

dfvfs.compression.bzip2_decompressor module

The BZIP2 decompressor implementation.

class dfvfs.compression.bzip2_decompressor.BZIP2Decompressor[source]

Bases: Decompressor

BZIP2 decompressor using bz2.

COMPRESSION_METHOD = 'bzip2'
Decompress(compressed_data)[source]

Decompresses the compressed data.

Parameters

compressed_data (bytes) – compressed data.

Returns

uncompressed data and remaining compressed data.

Return type

tuple(bytes, bytes)

Raises

BackEndError – if the BZIP2 compressed stream cannot be decompressed.

dfvfs.compression.decompressor module

The decompressor interface.

class dfvfs.compression.decompressor.Decompressor[source]

Bases: object

Decompressor interface.

abstract Decompress(compressed_data)[source]

Decompresses the compressed data.

Parameters

compressed_data (bytes) – compressed data.

Returns

uncompressed data and remaining compressed data.

Return type

tuple(bytes, bytes)

dfvfs.compression.manager module

The compression manager.

class dfvfs.compression.manager.CompressionManager[source]

Bases: object

Compression manager.

classmethod DeregisterDecompressor(decompressor)[source]

Deregisters a decompressor for a specific compression method.

Parameters

decompressor (type) – decompressor class.

Raises

KeyError – if the corresponding decompressor is not set.

classmethod GetDecompressor(compression_method)[source]

Retrieves the decompressor object for a specific compression method.

Parameters

compression_method (str) – compression method identifier.

Returns

decompressor or None if the compression method does

not exists.

Return type

Decompressor

classmethod RegisterDecompressor(decompressor)[source]

Registers a decompressor for a specific compression method.

Parameters

decompressor (type) – decompressor class.

Raises

KeyError – if the corresponding decompressor is already set.

classmethod RegisterDecompressors(decompressors)[source]

Registers decompressors.

The decompressors are identified based on their lower case compression method.

Parameters

decompressors (list[type]) – decompressor classes.

Raises

KeyError – if decompressor is already set for the corresponding compression method.

dfvfs.compression.xz_decompressor module

The LZMA and XZ decompressor implementations.

class dfvfs.compression.xz_decompressor.LZMADecompressor[source]

Bases: XZDecompressor

LZMA decompressor using lzma.

COMPRESSION_METHOD = 'lzma'
class dfvfs.compression.xz_decompressor.XZDecompressor[source]

Bases: Decompressor

XZ decompressor using lzma.

COMPRESSION_METHOD = 'xz'
Decompress(compressed_data)[source]

Decompresses the compressed data.

Parameters

compressed_data (bytes) – compressed data.

Returns

uncompressed data and remaining compressed data.

Return type

tuple(bytes, bytes)

Raises

BackEndError – if the XZ compressed stream cannot be decompressed.

dfvfs.compression.zlib_decompressor module

The zlib and DEFLATE decompressor implementations.

class dfvfs.compression.zlib_decompressor.DeflateDecompressor[source]

Bases: ZlibDecompressor

DEFLATE without zlib data decompressor using zlib.

COMPRESSION_METHOD = 'deflate'
class dfvfs.compression.zlib_decompressor.ZlibDecompressor(window_size=15)[source]

Bases: Decompressor

DEFLATE with zlib data decompressor using zlib.

COMPRESSION_METHOD = 'zlib'
Decompress(compressed_data)[source]

Decompresses the compressed data.

Parameters

compressed_data (bytes) – compressed data.

Returns

uncompressed data and remaining compressed data.

Return type

tuple(bytes, bytes)

Raises

BackEndError – if the zlib compressed stream cannot be decompressed.

property unused_data

data past the end of the compressed data.

Type

bytes

Module contents

Imports for the compression manager.