Your IP : 3.145.166.223


Current Path : /opt/alt/python36/lib64/python3.6/__pycache__/
Upload File :
Current File : //opt/alt/python36/lib64/python3.6/__pycache__/uu.cpython-36.pyc

3

� f��@sddZddlZddlZddlZdddgZGdd�de�Zd
dd�Zdd	d�Zd
d�Z	e
dkr`e	�dS)z�Implementation of the UUencode and UUdecode functions.

encode(in_file, out_file [,name, mode])
decode(in_file [, out_file, mode])
�N�Error�encode�decodec@seZdZdS)rN)�__name__�
__module__�__qualname__�rr�'/opt/alt/python36/lib64/python3.6/uu.pyr'scCs\g}�z6|dkrtjj}n`t|t�rz|dkr8tjj|�}|dkrfytj|�j	}Wnt
k
rdYnXt|d�}|j|�|dkr�tj
j}nt|t�r�t|d�}|j|�|dkr�d}|dkr�d}|jdd�}|jdd	�}|jd
|d@|fjd��|jd
�}x.t|�dk�r.|jtj|��|jd
�}�qW|jd�Wdx|D]}|j��qDWXdS)z
Uuencode file�-N�rb�wbi��
z\n�
z\rzbegin %o %s
i��ascii�-rs 
end
)�sys�stdin�buffer�
isinstance�str�os�path�basename�stat�st_mode�AttributeError�open�append�stdout�replace�writer�read�len�binasciiZb2a_uu�close)�in_file�out_file�name�mode�opened_files�data�frrr	r*sB









Fc
Cs:g}|dkrtjj}nt|t�r4t|d�}|j|��z�xr|j�}|sNtd��|j	d�sZq:|j
dd�}t|�dkr:|ddkr:yt|d	d
�PWq:t
k
r�Yq:Xq:W|dkr�|djd�jd
�}tjj|�r�td|��|dkr�t|d	d
�}|dk�r
tjj}nNt|t��rXt|d�}ytjj||�Wntk
�rHYnX|}|j|�|j�}x�|�r|jd�dk�rytj|�}	Wnjtjk
�r�}
zJ|ddd@ddd}tj|d|��}	|�s�tjjd|
�WYdd}
~
XnX|j|	�|j�}�qbW|�std��Wdx|D]}|j��q"WXdS)zDecode uuencoded filer
rz'No valid begin line found in input filesbegin� ��r��Ns 	
rz"Cannot overwrite existing file: %srsend� �?��zWarning: %s
zTruncated input file)rrrrrrr�readliner�
startswith�splitr"�int�
ValueError�rstriprrr�existsr�chmodr�stripr#Za2b_uu�stderrr r$)
r%r&r(�quietr)ZhdrZ	hdrfields�fp�sr*�v�nbytesr+rrr	rasf









"

cCs4ddl}|jdd�}|jddddd	d
d�|jdd
ddd	d
d�|j�\}}t|�dkrl|jd�tjd�tjj	}tj
j	}t|�dkr�|d}t|�dkr�|d}|jr�|jr�t
|t�r�t|d�}nttjdd�tjd�t||�nD|j�r&t
|t��rt|d�}nttjdd�tjd�t||�dS)zuuencode/uudecode main programrNz'usage: %prog [-d] [-t] [input [output]])Zusagez-dz--decoderzDecode (instead of encode)?F�
store_true)�dest�help�default�actionz-tz--text�textz2data is text, encoded format unix-compatible text?r-zincorrect number of argumentsr/rz: cannot do -t to stdoutrz: cannot do -t from stdin)�optparseZOptionParserZ
add_option�
parse_argsr"�errorr�exitrrrrrIrrr�print�argvr)rJ�parserZoptions�args�input�outputrrr	�test�s6




rT�__main__)NN)NNF)�__doc__r#rr�__all__�	ExceptionrrrrTrrrrr	�<module>s

7
F&

?>