File: //opt/alt/python35/lib64/python3.5/encodings/__pycache__/bz2_codec.cpython-35.opt-1.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   t  j |  � t |  � f S)N)�bz2�compress�len)�input�errors� r   �8/opt/alt/python35/lib64/python3.5/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!   <