î
\á[\œ  ã               @   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)z•Python 'zlib_codec' Codec - zlib compression encoding.

This codec de/encodes from bytes to bytes.

Written by Marc-Andre Lemburg (mal@lemburg.com).
é    NÚstrictc             C   s+   | d k s t  ‚ t j |  ƒ t |  ƒ f S)Nr   )ÚAssertionErrorÚzlibÚcompressÚlen)ÚinputÚerrors© r	   ú*/usr/lib/python3.4/encodings/zlib_codec.pyÚzlib_encode   s    r   c             C   s+   | d k s t  ‚ t j |  ƒ t |  ƒ f S)Nr   )r   r   Ú
decompressr   )r   r   r	   r	   r
   Úzlib_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    zCodec.encodec             C   s   t  | | ƒ S)N)r   )r   r   r   r	   r	   r
   Údecode   s    zCodec.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.   | d k s t  ‚ | |  _ t j ƒ  |  _ d  S)Nr   )r   r   r   Úcompressobj)r   r   r	   r	   r
   Ú__init__   s    	zIncrementalEncoder.__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    zIncrementalEncoder.encodec             C   s   t  j ƒ  |  _ d  S)N)r   r   )r   r	   r	   r
   Úreset(   s    zIncrementalEncoder.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.   | d k s t  ‚ | |  _ t j ƒ  |  _ d  S)Nr   )r   r   r   Údecompressobj)r   r   r	   r	   r
   r   ,   s    	zIncrementalDecoder.__init__Fc             C   s=   | r) |  j  j | ƒ } | |  j  j ƒ  S|  j  j | ƒ Sd  S)N)r   r   r   )r   r   r   r   r	   r	   r
   r   1   s    zIncrementalDecoder.decodec             C   s   t  j ƒ  |  _ d  S)N)r   r   )r   r	   r	   r
   r   8   s    zIncrementalDecoder.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   ;   s   r   c               @   s   e  Z d  Z e Z d S)ÚStreamReaderN)r   r   r   r   r    r	   r	   r	   r
   r!   >   s   r!   c               C   s:   t  j d d d t d t d t d t d t d t d	 d
 ƒ S)NÚnamer   r   r   ÚincrementalencoderÚincrementaldecoderÚstreamreaderÚstreamwriterÚ_is_text_encodingF)ÚcodecsÚ	CodecInfor   r   r   r   r!   r   r	   r	   r	   r
   ÚgetregentryC   s    	r*   )Ú__doc__r(   r   r   r   r   r   r   r   r!   r*   r	   r	   r	   r
   Ú<module>   s   