File: //opt/alt/python35/lib64/python3.5/encodings/__pycache__/bz2_codec.cpython-35.pyc
��Yf�  �               @   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+   | d k s t  � t j |  � t |  � f S)Nr   )�AssertionError�bz2�compress�len)�input�errors� r	   �8/opt/alt/python35/lib64/python3.5/encodings/bz2_codec.py�
bz2_encode   s    r   c             C   s+   | d k s t  � t j |  � t |  � f S)Nr   )r   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.   | d k s t  � | |  _ t j �  |  _ d  S)Nr   )r   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.   | d k s t  � | |  _ t j �  |  _ d  S)Nr   )r   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"