�`^c@s�dZddlZddlZddlZdddgZdefd��YZddd�Zdddd �Z d
�Z
edkr�e
�ndS(s�Implementation of the UUencode and UUdecode functions.
encode(in_file, out_file [,name, mode])
decode(in_file [, out_file, mode])
i�NtErrortencodetdecodecBseZRS((t__name__t
__module__(((s/sys/lib/python2.7/uu.pyR'scCs�g}z�|dkr!tj}n�t|t�r�|d
krQtjj|�}n|d
kr�ytj|�j }Wq�t
k
r�q�Xnt|d�}|j|�n|dkr�tj
}n.t|t�r�|d�}|j|�n|d
krd}n|d
krd}n|jd|d@|f�|jd�}x;t|�dkr�|jtj|��|jd�}qFW|jd �Wd
x|D]}|j�q�WXd
S(s
Uuencode filet-trbtwbi�sbegin %o %s
i�i-is
end
N(tsyststdint
isinstancet
basestringtNonetostpathtbasenametstattst_modetAttributeErrortopentappendtstdouttwritetreadtlentbinasciitb2a_uutclose(tin_filetout_filetnametmodetopened_filestdatatf((s/sys/lib/python2.7/uu.pyR*s>
ic
Cs�g}|dkrtj}n+t|t�rIt|�}|j|�nz^x�tr�j�}|svtd��n|j d�s�qOn|j
dd�}t|�dkrO|ddkrOyt|dd �PWq�t
k
r�q�qOqOW|dkr4|dj�}tjj|�r4td
|��q4n|dkrVt|dd �}n|dkrntj}n_t|t�r�t|d�}ytjj||�Wntk
r�nX|}|j|�n|j�}x�|r�|j�dkr�ytj|�} Wnjtjk
rs}
t|d�d
d@ddd}tj|| �} |sttjjd|
�qtnX|j| �|j�}q�W|s�td��nWdx|D]}|j�q�WXdS(sDecode uuencoded fileRs'No valid begin line found in input filetbegint iiiiis"Cannot overwrite existing file: %sRtendi i?iisWarning: %s
sTruncated input fileN(RR R
RRRtTruetreadlineRt
startswithtsplitRtintt
ValueErrorRtrstripR
RtexistsRtchmodRtstripRta2b_uutordtstderrRR(
RRRtquietR thdrt hdrfieldstfptsR!tvtnbytesR"((s/sys/lib/python2.7/uu.pyRZsf "
$
cCs�ddl}|jdd�}|jddddd d
dtdd
�|jddddd ddtdd
�|j�\}}t|�dkr�|jd�tjd�ntj }tj
}t|�dkr�d}nt|�dkr�d}n|jrb|jrRt
|t�r2t|d�}qRtjdGdGHtjd�nt||�nW|jr�t
|t�r�t|d�}q�tjdGdGHtjd�nt||�dS(suuencode/uudecode main programi�Ntusages'usage: %prog [-d] [-t] [input [output]]s-ds--decodetdestRthelpsDecode (instead of encode)?tdefaulttactiont
store_trues-ts--textttexts2data is text, encoded format unix-compatible text?isincorrect number of argumentsiitws: cannot do -t to stdouttrs: cannot do -t from stdin(toptparsetOptionParsert
add_optiontFalset
parse_argsRterrorRtexitR RRR@R
RRtargvR(RCtparsertoptionstargstinputtoutput((s/sys/lib/python2.7/uu.pyttest�s6((
t__main__(t__doc__RR
Rt__all__t ExceptionRRRRRPR(((s/sys/lib/python2.7/uu.pyt<module>s0D %
|