î j fÉ ã @ sÏ d Z d d l Z d d l Z d d d „ Z d d d „ Z Gd d „ d e j ƒ Z Gd d „ d e j ƒ Z Gd d „ d e j ƒ Z Gd d „ d e e j ƒ Z Gd d „ d e e j ƒ Z d d „ Z d S)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). é NÚstrictc C s t j | ƒ t | ƒ f S)N)Úbz2ÚcompressÚlen)ÚinputÚerrors© r ú8/opt/alt/python34/lib64/python3.4/encodings/bz2_codec.pyÚ bz2_encode s r c C s t j | ƒ t | ƒ f S)N)r Ú decompressr )r r r r r Ú bz2_decode s r c @ s. e Z d Z d d d „ Z d d d „ Z d S)ÚCodecr c C s t | | ƒ S)N)r )Úselfr r r r r Úencode s zCodec.encodec C s t | | ƒ S)N)r )r r r r r r Údecode s zCodec.decodeN)Ú__name__Ú __module__Ú__qualname__r r r r r r r s r c @ s: e Z d Z d d d „ Z d d d „ Z d d „ Z d S) ÚIncrementalEncoderr c C s | | _ t j ƒ | _ d S)N)r r Ú BZ2CompressorÚcompressobj)r r r r r Ú__init__ s zIncrementalEncoder.__init__Fc C s= | r) | j j | ƒ } | | j j ƒ S| j j | ƒ Sd S)N)r r Úflush)r r ÚfinalÚcr r r r # s zIncrementalEncoder.encodec C s t j ƒ | _ d S)N)r r r )r r r r Úreset* s zIncrementalEncoder.resetN)r r r r r r r r r r r s r c @ s: e Z d Z d d d „ Z d d d „ Z d d „ Z d S) ÚIncrementalDecoderr c C s | | _ t j ƒ | _ d S)N)r r ÚBZ2DecompressorÚ decompressobj)r r r r r r . s zIncrementalDecoder.__init__Fc C s1 y | j j | ƒ SWn t k r, d SYn Xd S)NÚ )r r ÚEOFError)r r r r r r r 3 s zIncrementalDecoder.decodec C s t j ƒ | _ d S)N)r r r )r r r r r 9 s zIncrementalDecoder.resetN)r r r r r r r r r r r - s r c @ s e Z d Z e Z d S)ÚStreamWriterN)r r r ÚbytesÚcharbuffertyper r r r r! <