U
e5d# ã @ 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 s” |dkst ‚t| ƒ}tƒ }|j}|j}| dd¡}| dd¡}|d|d@ |f d¡ƒ |d ƒ}|r||t |¡ƒ |d ƒ}q`|d
ƒ | ¡ t | ƒfS )Nr Ú
z\nú
z\rzbegin %o %s
iÿ Úasciié- s
end
)
ÚAssertionErrorr ÚreadÚwriteÚreplaceÚencodeÚbinasciiZb2a_uuÚgetvalueÚlen) ÚinputÚerrorsÚfilenameÚmodeÚinfileÚoutfiler r Úchunk© r ú*/usr/lib64/python3.8/encodings/uu_codec.pyÚ uu_encode s
r c
C sè |dkst ‚t| ƒ}tƒ }|j}|j}|ƒ }|s8tdƒ‚|d d… dkr&qLq&|ƒ }|rÌ|dkr`qÌzt |¡}W nR tjk
rÀ } z2|d d d@ d d d
} t |d | … ¡}W 5 d }~X Y nX ||ƒ qL|sØtdƒ‚| ¡ t | ƒfS )Nr z"Missing "begin" line in input dataé s begins end
r é é? é é zTruncated input data)
r
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 G s zCodec.encodec C s
t ||ƒS r* )r( r+ r r r ÚdecodeJ s zCodec.decodeN)r )r )Ú__name__Ú
__module__Ú__qualname__r r- r r r r r) F s
r) c @ s e Zd Zddd„ZdS )ÚIncrementalEncoderFc C s t || jƒd S ©Nr )r r ©r, r Úfinalr r r r N s zIncrementalEncoder.encodeN)F)r. r/ r0 r r r r r r1 M s r1 c @ s e Zd Zddd„ZdS )ÚIncrementalDecoderFc C s t || jƒd S r2 )r( r r3 r r r r- R s zIncrementalDecoder.decodeN)F)r. r/ r0 r- r r r r r5 Q s r5 c @ s e Zd ZeZdS )ÚStreamWriterN©r. r/ r0 ÚbytesÚcharbuffertyper r r r r6 U s r6 c @ s e Zd ZeZdS )ÚStreamReaderNr7 r r r r r: X s r: c
C s t jdttttttdd�S )NÚuuF)Únamer r- ÚincrementalencoderÚincrementaldecoderÚstreamreaderÚstreamwriterÚ_is_text_encoding)ÚcodecsÚ CodecInfor r( r1 r5 r: r6 r r r r Úgetregentry] s ørD )r r r )r )
Ú__doc__rB r Úior r r( r) r1 r5 r6 r: rD r r r r Ú