add-determinism 0.7.3

RPM buildroot helper to strip nondeterministic bits in files
Documentation
U

�AT^-c@sjdZddlZddlZddlZdddgZGdd�de�Zddd�d	d�Zdd
d�Zdd�Z	e
d
krfe	�dS)z�Implementation of the UUencode and UUdecode functions.

encode(in_file, out_file [,name, mode], *, backtick=False)
decode(in_file [, out_file, mode, quiet])
�N�Error�encode�decodec@seZdZdS)rN)�__name__Z
__module__Z__qualname__�rr�/usr/lib64/python3.8/uu.pyr'sF��backtickc	Csjg}�zH|dkrtjj}n`t|t�rz|dkr8tj�|�}|dkrfzt�	|�j
}Wntk
rdYnXt|d�}|�
|�|dkr�tjj}nt|t�r�t|d�}|�
|�|dkr�d}|dkr�d}|�dd�}|�dd	�}|�d
|d@|f�d��|�d
�}t|�dk�r0|�tj||d��|�d
�}�q|�rB|�d�n
|�d�W5|D]}|���qTXdS)z
Uuencode file�-N�rb�wbi�Z
z\nz
z\rzbegin %o %s
i��asciii-rrs`
end
s 
end
)�close�sys�stdin�buffer�
isinstance�str�os�pathZbasenameZstatZst_modeZAttributeError�open�append�stdoutZreplace�writerZread�len�binasciiZb2a_uu)�in_file�out_fileZname�moder�opened_files�f�datarrrr*sF








c

Csg}|dkrtjj}nt|t�r4t|d�}|�|��z�|��}|sLt	d��|�
d�sXq8|�dd�}t|�dkr8|ddkr8zt
|d	d
�Wq�Wq8tk
r�Yq8Xq8|dkr�|d�d��d
�}tj�|�r�t	d|��|dkr�t
|d	d
�}|dk�rtjj}n0t|t��r8t|d�}t�||�|}|�|�|��}	|	�r�|	�d�dk�r�zt�|	�}
Wnjtj	k
�r�}zH|	ddd@ddd}t�|	d|��}
|�s�tj�d|�W5d}~XYnX|�|
�|��}	�q@|	�s�t	d��W5|D]}|���q�XdS)zDecode uuencoded filer	r
z'No valid begin line found in input filesbegins �ir�iNs 	
rz"Cannot overwrite existing file: %srsendi i?iizWarning: %s
zTruncated input file)rrrrrrrr
ZreadlinerZ
startswithZsplitrZintZ
ValueErrorZrstriprrrZexistsrZchmodZstriprZa2b_uuZstderrr)
rrrZquietrrZhdrZ	hdrfieldsZfpZsr ZvZnbytesrrrrds^








"
cCs4ddl}|jdd�}|jddddd	d
d�|jdd
ddd	d
d�|��\}}t|�dkrl|�d�t�d�tjj	}tj
j	}t|�dkr�|d}t|�dkr�|d}|jr�|jr�t
|t�r�t|d�}nttjdd�t�d�t||�nD|j�r&t
|t��rt|d�}nttjdd�t�d�t||�dS)zuuencode/uudecode main programrNz'usage: %prog [-d] [-t] [input [output]])Zusagez-dz--decoderzDecode (instead of encode)?FZ
store_true)ZdestZhelpZdefaultZactionz-tz--text�textz2data is text, encoded format unix-compatible text?r!zincorrect number of argumentsr"rz: cannot do -t to stdoutr
z: cannot do -t from stdin)�optparseZOptionParserZ
add_optionZ
parse_argsrZerrorrZexitrrrrr#rrrZprintZargvr)r$ZparserZoptionsZargsZinputZoutputrrr�test�s6




r%Z__main__)NN)NNF)Z__doc__rrrZ__all__Z	Exceptionrrrr%rrrrrZ<module>s
:
C&