Ñò
mÈKc           @   sp   d  Z  d d k Z d d k Z d d g Z d e f d „  ƒ  YZ d d d „  ƒ  YZ e d j o e ƒ  GHn d S(	   s-   An object-oriented interface to .netrc files.iÿÿÿÿNt   netrct   NetrcParseErrorc           B   s&   e  Z d  Z d d d „ Z d „  Z RS(   s5   Exception raised on syntax errors in the .netrc file.c         C   s/   | |  _  | |  _ | |  _ t i |  | ƒ d  S(   N(   t   filenamet   linenot   msgt	   Exceptiont   __init__(   t   selfR   R   R   (    (    s   /usr/lib/python2.6/netrc.pyR      s    			c         C   s   d |  i  |  i |  i f S(   Ns   %s (%s, line %s)(   R   R   R   (   R   (    (    s   /usr/lib/python2.6/netrc.pyt   __str__   s    N(   t   __name__t
   __module__t   __doc__t   NoneR   R   (    (    (    s   /usr/lib/python2.6/netrc.pyR   
   s   c           B   s&   e  Z d d  „ Z d „  Z d „  Z RS(   c      	   C   s¿  | d  j oF y  t i i t i d d ƒ } WqS t j
 o t d ƒ ‚ qS Xn t | ƒ } h  |  _ h  |  _	 t
 i
 | ƒ } | i d 7_ x)| i ƒ  } } | p PnÐ | d j o | i ƒ  } n³ | d j o
 d } nœ | d j ou | i ƒ  } g  |  i	 | <d | _ xI | i i ƒ  } | p | d	 j o d
 | _ Pn |  i	 | i | ƒ qq’ n t d | | | i ƒ ‚ d } d  }	 }
 h  |  i | <x| i ƒ  } | d j p' | d j p | d j p | d j o[ |
 o( | |	 |
 f |  i | <| i | ƒ Pqµt d | | t | ƒ f | | i ƒ ‚ q| d j p | d j o | i ƒ  } q| d j o | i ƒ  }	 q| d j o | i ƒ  }
 qt d | | | i ƒ ‚ qq’ d  S(   Nt   HOMEs   .netrcs'   Could not find .netrc: $HOME is not sets    !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~t   machinet   defaultt   macdefs    	s   
s    	
s   bad toplevel token %rt    s&   malformed %s entry %s terminated by %st   logint   usert   accountt   passwords   bad follower token %r(   R   t   ost   patht   joint   environt   KeyErrort   IOErrort   opent   hostst   macrost   shlext	   wordcharst	   get_tokent
   whitespacet   instreamt   readlinet   appendR   R   t
   push_tokent   repr(   R   t   filet   fpt   lexert   toplevelt   ttt	   entrynamet   lineR   R   R   (    (    s   /usr/lib/python2.6/netrc.pyR      sl     		
		

c         C   s@   | |  i  j o |  i  | Sd |  i  j o |  i  d Sd Sd S(   s8   Return a (user, account, password) tuple for given host.R   N(   R   R   (   R   t   host(    (    s   /usr/lib/python2.6/netrc.pyt   authenticatorsU   s
    c         C   sð   d } x‹ |  i  i ƒ  D]z } |  i  | } | d | d t | d ƒ d } | d o | d t | d ƒ } n | d t | d	 ƒ d } q WxU |  i i ƒ  D]D } | d
 | d } x |  i | D] } | | } qÊ W| d } q¤ W| S(   s3   Dump the class data in the format of a .netrc file.R   s   machine s   
	login i    s   
i   s   account s
   	password i   s   macdef (   R   t   keysR'   R   (   R   t   repR/   t   attrst   macroR.   (    (    s   /usr/lib/python2.6/netrc.pyt   __repr__^   s      $   N(   R	   R
   R   R   R0   R5   (    (    (    s   /usr/lib/python2.6/netrc.pyR       s   >		t   __main__(    (   R   R   R   t   __all__R   R   R    R	   (    (    (    s   /usr/lib/python2.6/netrc.pyt   <module>   s   X