Plan 9 from Bell Labs’s /usr/web/sources/contrib/stallion/root/sys/lib/python2.7/uu.pyc

Copyright © 2021 Plan 9 Foundation.
Distributed under the MIT License.
Download the Plan 9 distribution.


�`^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�sbegin %o %s
i�i-is 
end
N(tsyststdint
isinstancet
basestringtNonetostpathtbasenametstattst_modetAttributeErrortopentappendtstdouttwritetreadtlentbinasciitb2a_uutclose(tin_filetout_filetnametmodetopened_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�dkr�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?iisWarning: %s
sTruncated input fileN(RR	R
RRRtTruetreadlineRt
startswithtsplitRtintt
ValueErrorRtrstripR
RtexistsRtchmodRtstripRta2b_uutordtstderrRR(
RRRtquietR thdrt	hdrfieldstfptsR!tvtnbytesR"((s/sys/lib/python2.7/uu.pyRZsf	"

$

cCs�ddl}|jdd�}|jddddd	d
dtdd
�|jddddd	ddtdd
�|j�\}}t|�dkr�|jd�tjd�ntj	}tj
}t|�dkr�d}nt|�dkr�d}n|jrb|jrRt
|t�r2t|d�}qRtjdGdGHtjd�nt||�nW|jr�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(toptparsetOptionParsert
add_optiontFalset
parse_argsRterrorRtexitR	RRR@R
RRtargvR(RCtparsertoptionstargstinputtoutput((s/sys/lib/python2.7/uu.pyttest�s6((
		

			t__main__(t__doc__RR
Rt__all__t	ExceptionRRRRRPR(((s/sys/lib/python2.7/uu.pyt<module>s0D	%

Bell Labs OSI certified Powered by Plan 9

(Return to Plan 9 Home Page)

Copyright © 2021 Plan 9 Foundation. All Rights Reserved.
Comments to [email protected].