Your IP : 3.22.79.165


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

3


 \k�@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�/usr/lib64/python3.6/uu.pyr'scCsBg}�z|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}|jd|d@|fjd��|jd	�}x,t|�d
k�r|jtj|��|jd	�}q�W|jd�Wdx|D]}|j��q*WXdS)z
Uuencode file�-N�rb�wbi�zbegin %o %s
i��ascii�-rs 
end
)�sys�stdin�buffer�
isinstance�str�os�path�basename�stat�st_mode�AttributeError�open�append�stdout�writer�read�len�binasciiZb2a_uu�close)�in_file�out_file�name�mode�opened_files�data�frrr	r*s>









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 	
r
z"Cannot overwrite existing file: %srsend� �?��zWarning: %s
zTruncated input file)rrrrrrr�readliner�
startswith�splitr�int�
ValueError�rstriprrr�existsr�chmodr�stripr Za2b_uu�stderrrr!)
r"r#r%�quietr&ZhdrZ	hdrfields�fp�sr'�v�nbytesr(rrr	rZsf









"

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�exitrrrrrFrrr�print�argvr)rG�parserZoptions�args�input�outputrrr	�test�s6




rQ�__main__)NN)NNF)�__doc__r rr�__all__�	ExceptionrrrrQrrrrr	�<module>s

0
F&

?>