U if @ s d Z ddlZddlZdddZdddZG dd d ejZG d d dejZG dd d ejZG dd deejZG dd deej Z dd Z dS )a Python 'bz2_codec' Codec - bz2 compression encoding. This codec de/encodes from bytes to bytes and is therefore usable with bytes.transform() and bytes.untransform(). Adapted by Raymond Hettinger from zlib_codec.py which was written by Marc-Andre Lemburg (mal@lemburg.com). Nstrictc C s t | t| fS N)bz2compressleninputerrors r 8/opt/alt/python38/lib64/python3.8/encodings/bz2_codec.py bz2_encode s r c C s t | t| fS r )r decompressr r r r r bz2_decode s r c @ s e Zd ZdddZdddZdS ) Codecr c C s t ||S r )r selfr r r r r encode s zCodec.encodec C s t ||S r )r r r r r decode s zCodec.decodeN)r )r )__name__ __module____qualname__r r r r r r r s r c @ s( e Zd Zd ddZdddZdd Zd S )IncrementalEncoderr c C s || _ t | _d S r )r r BZ2Compressorcompressobjr r r r r __init__ s zIncrementalEncoder.__init__Fc C s. |r| j |}|| j S | j |S d S r )r r flush)r r finalcr r r r # s zIncrementalEncoder.encodec C s t | _d S r )r r r r r r r reset* s zIncrementalEncoder.resetN)r )F)r r r r r r r r r r r s r c @ s( e Zd Zd ddZdddZdd Zd S )IncrementalDecoderr c C s || _ t | _d S r )r r BZ2Decompressor decompressobjr r r r r . s zIncrementalDecoder.__init__Fc C s* z| j |W S tk r$ Y dS X d S )N )r# r EOFError)r r r r r r r 3 s zIncrementalDecoder.decodec C s t | _d S r )r r" r# r r r r r 9 s zIncrementalDecoder.resetN)r )F)r r r r r r r r r r r! - s r! c @ s e Zd ZeZdS )StreamWriterNr r r bytescharbuffertyper r r r r&