î
\á[\è  ã               @   sß   d  Z  d d l Z d d l Z d d l m 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)zQCodec for quoted-printable encoding.

This codec de/encodes from bytes to bytes.
é    N)ÚBytesIOÚstrictc             C   sP   | d k s t  ‚ t |  ƒ } t ƒ  } t j | | d ƒ | j ƒ  t |  ƒ f S)Nr   é   )ÚAssertionErrorr   ÚquopriÚencodeÚgetvalueÚlen)ÚinputÚerrorsÚfÚg© r   ú,/usr/lib/python3.4/encodings/quopri_codec.pyÚquopri_encode
   s
    	r   c             C   sM   | d k s t  ‚ t |  ƒ } t ƒ  } t j | | ƒ | j ƒ  t |  ƒ f S)Nr   )r   r   r   Údecoder   r	   )r
   r   r   r   r   r   r   Úquopri_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   r      s    zCodec.encodec             C   s   t  | | ƒ S)N)r   )r   r
   r   r   r   r   r      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 S)ÚIncrementalEncoderFc             C   s   t  | |  j ƒ d S)Nr   )r   r   )r   r
   Úfinalr   r   r   r      s    zIncrementalEncoder.encodeN)r   r   r   r   r   r   r   r   r      s   r   c               @   s   e  Z d  Z d d d „ Z d S)ÚIncrementalDecoderFc             C   s   t  | |  j ƒ d S)Nr   )r   r   )r   r
   r   r   r   r   r   #   s    zIncrementalDecoder.decodeN)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ÚstreamwriterÚstreamreaderÚ_is_text_encodingF)ÚcodecsÚ	CodecInfor   r   r   r   r   r   r   r   r   r   Úgetregentry.   s    	r'   )Ú__doc__r%   r   Úior   r   r   r   r   r   r   r   r'   r   r   r   r   Ú<module>   s   