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.

__init__()[source]

Initializes a decompressor.

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'
__init__()[source]

Initializes a decompressor.

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.

__init__()[source]

Initializes a decompressor.

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'
__init__()[source]

Initializes a decompressor.

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.

__init__(window_size=15)[source]

Initializes a decompressor.

Parameters:

window_size (Optional[int]) – base two logarithm of the size of the compression history buffer (aka window size). When the value is negative, the standard zlib data header is suppressed.

property unused_data

data past the end of the compressed data.

Type:

bytes

Module contents

Imports for the compression manager.