Your IP : 3.143.1.255


Current Path : /lib64/python3.6/__pycache__/
Upload File :
Current File : //lib64/python3.6/__pycache__/netrc.cpython-36.pyc

3


 \4�@sXdZddlZddlZddlZddgZGdd�de�ZGdd�d�ZedkrTe	e��dS)z-An object-oriented interface to .netrc files.�N�netrc�NetrcParseErrorc@s"eZdZdZddd�Zdd�ZdS)rz5Exception raised on syntax errors in the .netrc file.NcCs"||_||_||_tj||�dS)N)�filename�lineno�msg�	Exception�__init__)�selfrrr�r
�/usr/lib64/python3.6/netrc.pyrszNetrcParseError.__init__cCsd|j|j|jfS)Nz%s (%s, line %s))rrr)r	r
r
r�__str__szNetrcParseError.__str__)NN)�__name__�
__module__�__qualname__�__doc__rrr
r
r
rr
s
c@s.eZdZd
dd�Zdd�Zdd�Zdd	�ZdS)rNcCsx|dk}|dkrFytjjtjdd�}Wntk
rDtd��YnXi|_i|_t|��}|j	|||�WdQRXdS)N�HOMEz.netrcz'Could not find .netrc: $HOME is not set)
�os�path�join�environ�KeyError�OSError�hosts�macros�open�_parse)r	�file�
default_netrc�fpr
r
rrs
znetrc.__init__cCs�tj|�}|jd7_|jjdd�|_�x�|j}|j�}}|sFPn�|ddkrv|j|kr,t|�dkr,|jj�q,n�|dkr�|j�}nz|dkr�d}nl|dkr�|j�}g|j	|<d	|_
x4|jj�}	|	s�|	d
kr�d|_
P|j	|j|	�q�Wq,ntd|||j��d}
d}}i|j
|<�x�|j�}|jd��s:|dk�r~|�r^|
||f|j
|<|j|�Pntd
||t|�f||j���q|dk�s�|dk�r�|j�}
�q|dk�r�|j�}�q|dk�r�tjdk�r�|�r�tj|j��}
|
jtj�k�r|ddl}y|j|
j�d}Wn tk
�r*d|
j}YnXy|jtj��d}Wn"tk
�rddtj�}YnXtd||f||j��|
jtjtjB@�r�td||j��|j�}ntd|||j���qWq,WdS)Nz !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~�#�r��machine�default�macdefz 	�
z 	
zbad toplevel token %rz&malformed %s entry %s terminated by %s�login�user�account�password�posixzuid %sz9~/.netrc file owner (%s) does not match current user (%s)zY~/.netrc access too permissive: access permissions must restrict access to only the ownerzbad follower token %r>r r$r#r")�shlexZ	wordcharsZ
commenters�replacerZ	get_token�lenZinstream�readlinerZ
whitespace�appendrr�
startswithZ
push_token�reprr�name�fstat�fileno�st_uid�getuid�pwd�getpwuidr�st_mode�stat�S_IRWXG�S_IRWXO)r	rrrZlexerZsaved_linenoZtoplevelZttZ	entryname�liner&r(r)Zpropr7Zfownerr'r
r
rr#s�












znetrc._parsecCs0||jkr|j|Sd|jkr(|jdSdSdS)z8Return a (user, account, password) tuple for given host.r#N)r)r	�hostr
r
r�authenticatorsts




znetrc.authenticatorscCs�d}xf|jj�D]X}|j|}|d|�d|d�d�7}|drT|d|d�d�7}|d|d	�d�7}qWxF|jj�D]8}|d
|�d�7}x|j|D]}||7}q�W|d7}qxW|S)z3Dump the class data in the format of a .netrc file.r zmachine z
	login rr%r!z		account z
	password �zmacdef )r�keysr)r	Zrepr>ZattrsZmacror=r
r
r�__repr__}s
znetrc.__repr__)N)r
rrrrr?rBr
r
r
rrs
Q	�__main__)
rrr+r:�__all__rrrr
�printr
r
r
r�<module>sw