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úé¶ 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&