File: //lib64/python3.6/encodings/__pycache__/uu_codec.cpython-36.opt-1.pyc
3
  \�
  �               @   s�   d Z ddlZddlZddlmZ ddd�Zdd	d
�ZG dd� dej�ZG d
d� dej�ZG dd� dej	�Z	G dd� deej
�Z
G dd� deej�Zdd� ZdS )a  Python 'uu_codec' Codec - UU content transfer encoding.
This codec de/encodes from bytes to bytes.
Written by Marc-Andre Lemburg (mal@lemburg.com). Some details were
adapted from uu.py which was written by Lance Ellinghouse and
modified by Jack Jansen and Fredrik Lundh.
�    N)�BytesIO�strict�<data>�  c       	      C   st   t | �}t � }|j}|j}|d|d@ |f jd�� |d�}x|rZ|tj|�� |d�}q>W |d� |j� t| �fS )Nzbegin %o %s
i�  �ascii�-   s    
end
)r   �read�write�encode�binasciiZb2a_uu�getvalue�len)	�input�errors�filename�mode�infile�outfiler   r	   �chunk� r   �*/usr/lib64/python3.6/encodings/uu_codec.py�	uu_encode   s    r   c       
      C   s�   t | �}t � }|j}|j}x(|� }|s.td��|d d� dkrP qW x�|� }| sZ|dkr\P ytj|�}W nR tjk
r� } z4|d d d@ d d d	 }	tj|d |	� �}W Y d d }~X nX ||� qFW |s�td
��|j� t| �fS )Nz"Missing "begin" line in input data�   s   begins   end
r   �    �?   �   �   zTruncated input data)	r   �readliner	   �
ValueErrorr   Za2b_uu�Errorr   r
   )
r   r   r   r   r   r	   �s�data�v�nbytesr   r   r   �	uu_decode!   s.    $r$   c               @   s    e Zd Zddd�Zddd�ZdS )	�Codecr   c             C   s
   t ||�S )N)r   )�selfr   r   r   r   r   r
   C   s    zCodec.encodec             C   s
   t ||�S )N)r$   )r&