grthtrhthjhtyjytjytkergtrhtrjytjerhrfh4:24 29/09/2026 й¼]tã@svddlZddlZddlZddgZGdd„deƒZGdd„dƒZedkrreeƒƒdS)éNÚnetrcÚNetrcParseErrorc@s.eZdZdddd„Zdd„ZdS)rNcCs/||_||_||_tj||ƒdS)N)ÚfilenameÚlinenoÚmsgÚ ExceptionÚ__init__)Úselfrrr©r ú*/opt/alt/python35/lib64/python3.5/netrc.pyr s   zNetrcParseError.__init__cCsd|j|j|jfS)Nz%s (%s, line %s))rrr)r r r r Ú__str__szNetrcParseError.__str__)Ú__name__Ú __module__Ú __qualname__rr r r r r r s c@sCeZdZddd„Zdd„Zdd„Zdd „ZdS) rNcCs˜|dk}|dkrYy tjjtjddƒ}Wntk rXtdƒ‚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 r rs      znetrc.__init__cCs™tj|ƒ}|jd7_|jjddƒ|_x\|j}|jƒ}}|s\Pn|ddkr |j|kr9t|ƒdkr9|jjƒq9nÄ|dkr»|jƒ}n©|dkrÐd}n”|dkrK|jƒ}g|j |?@[\]^_`{|}~ú#Ú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>rr!r"r#)ÚshlexZ wordcharsZ commentersÚreplacerZ get_tokenÚlenZinstreamÚreadlinerÚ whitespaceÚappendrrÚ startswithZ push_tokenÚreprrÚnameÚfstatÚfilenoÚst_uidÚgetuidÚpwdÚgetpwuidrÚst_modeÚstatÚS_IRWXGÚS_IRWXO)r rrrZlexerZ saved_linenoZtoplevelÚttZ entrynameÚliner%r'r(Zpropr7Zfownerr&r r r r#s� !                     z netrc._parsecCs<||jkr|j|Sd|jkr4|jdSdSdS)Nr")r)r Úhostr r r Úauthenticatorsts   znetrc.authenticatorscCsëd}x†|jjƒD]u}|j|}|d|dt|dƒd}|dro|dt|dƒ}|dt|d ƒd}qWxU|jjƒD]D}|d |d}x|j|D]}||}qÅW|d}qŸW|S) Nrzmachine z login rr$r zaccount z password ézmacdef )rÚkeysr1r)r Zrepr?ZattrsZmacror>r r r Ú__repr__}s $  znetrc.__repr__)r rrrrr@rCr r r r rs  Q Ú__main__) rr*r:Ú__all__rrrr Úprintr r r r Ús $  w