ზ3በંવવხްុլRxስសلçໂH℅૩/lib64/python3.6/__pycache__/
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.pyrszNetrcParseError.__init__cCsd|j|j|jfS)Nz%s (%s, line %s))rrr)r r
r
r�__str__szNetrcParseError.__str__)NN)�__name__�
__module__�__qualname__�__doc__rrr
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,ntd|||j��d}
d}}i|j
|<�x�|j�}|jd��s:|dk�r~|�r^|
||f|j
|<|j|�Pntd
||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�}YnXtd||f||j��|
jtjtjB@�r�td||j��|j�}ntd|||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 rrrZlexerZsaved_linenoZtoplevelZttZ entryname�liner&r(r)Zpropr7Zfownerr'r
r
rr#s�
znetrc._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>sw