ó
†/–Sc           @   s@  d  Z  d d l Z d d l m Z m Z m Z d d l Z d e f d „  ƒ  YZ d e f d „  ƒ  YZ	 d e f d	 „  ƒ  YZ
 d
 e d „ Z d e f d „  ƒ  YZ d e f d „  ƒ  YZ d e f d „  ƒ  YZ d e f d „  ƒ  YZ d d „ Z d e j f d „  ƒ  YZ d „  Z d „  Z d „  Z d e j f d „  ƒ  YZ d S(   sÚ  Access and/or modify INI files

* Compatiable with ConfigParser
* Preserves order of sections & options
* Preserves comments/blank lines/etc
* More conveninet access to data

Example:

    >>> from StringIO import StringIO
    >>> sio = StringIO('''# configure foo-application
    ... [foo]
    ... bar1 = qualia
    ... bar2 = 1977
    ... [foo-ext]
    ... special = 1''')

    >>> cfg = INIConfig(sio)
    >>> print cfg.foo.bar1
    qualia
    >>> print cfg['foo-ext'].special
    1
    >>> cfg.foo.newopt = 'hi!'
    >>> cfg.baz.enabled = 0

    >>> print cfg
    # configure foo-application
    [foo]
    bar1 = qualia
    bar2 = 1977
    newopt = hi!
    [foo-ext]
    special = 1
    <BLANKLINE>
    [baz]
    enabled = 0

iÿÿÿÿN(   t   DEFAULTSECTt   ParsingErrort   MissingSectionHeaderErrort   LineTypec           B   s5   e  Z d Z d d  „ Z d „  Z d „  Z d „  Z RS(   c         C   s%   | d  k	 r! | j d ƒ |  _ n  d  S(   Ns   
(   t   Nonet   stript   line(   t   selfR   (    (    s0   /usr/lib/python2.7/site-packages/iniparse/ini.pyt   __init__4   s    c         C   s$   |  j  d  k	 r |  j  S|  j ƒ  Sd  S(   N(   R   R   t	   to_string(   R   (    (    s0   /usr/lib/python2.7/site-packages/iniparse/ini.pyt   __str__:   s    c         C   s0   t  |  | ƒ r d  |  j d <n  | |  j | <d  S(   NR   (   t   hasattrR   t   __dict__(   R   t   namet   value(    (    s0   /usr/lib/python2.7/site-packages/iniparse/ini.pyt   __setattr__B   s    c         C   s   t  d ƒ ‚ d  S(   Ns1   This method must be overridden in derived classes(   t	   Exception(   R   (    (    s0   /usr/lib/python2.7/site-packages/iniparse/ini.pyR	   G   s    N(   t   __name__t
   __module__R   R   R   R
   R   R	   (    (    (    s0   /usr/lib/python2.7/site-packages/iniparse/ini.pyR   1   s
   		t   SectionLinec           B   sJ   e  Z e j d  ƒ Z d d d d d „ Z d „  Z d „  Z e	 e ƒ Z RS(   s7   ^\[(?P<name>[^]]+)\]\s*((?P<csep>;|#)(?P<comment>.*))?$iÿÿÿÿc         C   s>   t  t |  ƒ j | ƒ | |  _ | |  _ | |  _ | |  _ d  S(   N(   t   superR   R   R   t   commentt   comment_separatort   comment_offset(   R   R   R   R   R   R   (    (    s0   /usr/lib/python2.7/site-packages/iniparse/ini.pyR   Q   s
    			c         C   sQ   d |  j  d } |  j d  k	 rM | d j |  j ƒ } | |  j |  j } n  | S(   Nt   [t   ]t    (   R   R   R   t   ljustR   R   (   R   t   out(    (    s0   /usr/lib/python2.7/site-packages/iniparse/ini.pyR	   Y   s
    c         C   sb   |  j  j | j ƒ  ƒ } | d  k r( d  S|  | j d ƒ | j d ƒ | j d ƒ | j d ƒ | ƒ S(   NR   R   t   csep(   t   regext   matcht   rstripR   t   groupt   start(   t   clsR   t   m(    (    s0   /usr/lib/python2.7/site-packages/iniparse/ini.pyt   parsea   s    N(
   R   R   t   ret   compileR   R   R   R	   R%   t   classmethod(    (    (    s0   /usr/lib/python2.7/site-packages/iniparse/ini.pyR   K   s   		t
   OptionLinec           B   sM   e  Z d  d d d d d „ Z d „  Z e j d ƒ Z d „  Z e	 e ƒ Z RS(   s    = iÿÿÿÿc         C   sP   t  t |  ƒ j | ƒ | |  _ | |  _ | |  _ | |  _ | |  _ | |  _ d  S(   N(	   R   R)   R   R   R   t	   separatorR   R   R   (   R   R   R   R*   R   R   R   R   (    (    s0   /usr/lib/python2.7/site-packages/iniparse/ini.pyR   l   s    					c         C   s\   d |  j  |  j |  j f } |  j d  k	 rX | d j |  j ƒ } | |  j |  j } n  | S(   Ns   %s%s%sR   (   R   R*   R   R   R   R   R   R   (   R   R   (    (    s0   /usr/lib/python2.7/site-packages/iniparse/ini.pyR	   v   s
    s7   ^(?P<name>[^:=\s[][^:=]*)(?P<sep>[:=]\s*)(?P<value>.*)$c   	   	   C   s  |  j  j | j ƒ  ƒ } | d  k r( d  S| j d ƒ j ƒ  } | j d ƒ } | j d ƒ t | ƒ | j d ƒ } | j d ƒ } | d k rß | | d j ƒ  rß | | d } | | } | |  j ƒ  } | j d ƒ | } n d  } d  } d } |  | | | | | | | ƒ S(   NR   R   t   sept   ;iÿÿÿÿi   (	   R   R   R    R   R!   t   lent   findt   isspaceR"   (	   R#   R   R$   R   R   R+   t   coffR   R   (    (    s0   /usr/lib/python2.7/site-packages/iniparse/ini.pyR%   ‚   s     & 
N(
   R   R   R   R   R	   R&   R'   R   R%   R(   (    (    (    s0   /usr/lib/python2.7/site-packages/iniparse/ini.pyR)   k   s   			 s   %;#c         C   sR   t  j d d |  ƒ }  d |  } | r2 | d 7} n  | d 7} t  j | ƒ t _ d  S(   Ns
   ([\]\-\^])s   \\\1s   ^(?P<csep>[%s]s   |[rR][eE][mM]s   )(?P<comment>.*)$(   R&   t   subR'   t   CommentLineR   (   t   comment_charst	   allow_remR   (    (    s0   /usr/lib/python2.7/site-packages/iniparse/ini.pyt   change_comment_syntax¥   s    

R2   c           B   sG   e  Z e j d  ƒ Z d d d d „ Z d „  Z d „  Z e	 e ƒ Z RS(   s.   ^(?P<csep>[;#]|[rR][eE][mM] +)(?P<comment>.*)$t    t   #c         C   s,   t  t |  ƒ j | ƒ | |  _ | |  _ d  S(   N(   R   R2   R   R   R*   (   R   R   R*   R   (    (    s0   /usr/lib/python2.7/site-packages/iniparse/ini.pyR   ±   s    	c         C   s   |  j  |  j S(   N(   R*   R   (   R   (    (    s0   /usr/lib/python2.7/site-packages/iniparse/ini.pyR	   ¶   s    c         C   sJ   |  j  j | j ƒ  ƒ } | d  k r( d  S|  | j d ƒ | j d ƒ | ƒ S(   NR   R   (   R   R   R    R   R!   (   R#   R   R$   (    (    s0   /usr/lib/python2.7/site-packages/iniparse/ini.pyR%   ¹   s    N(
   R   R   R&   R'   R   R   R   R	   R%   R(   (    (    (    s0   /usr/lib/python2.7/site-packages/iniparse/ini.pyR2   ­   s
   		t	   EmptyLinec           B   s5   e  Z d  „  Z e d „  ƒ Z d „  Z e e ƒ Z RS(   c         C   s   d S(   NR6   (    (   R   (    (    s0   /usr/lib/python2.7/site-packages/iniparse/ini.pyR	   Ã   s    c         C   s   d S(   NR6   (    (   t   _(    (    s0   /usr/lib/python2.7/site-packages/iniparse/ini.pyt   <lambda>Æ   s    c         C   s   | j  ƒ  r d  S|  | ƒ S(   N(   R   R   (   R#   R   (    (    s0   /usr/lib/python2.7/site-packages/iniparse/ini.pyR%   È   s     (   R   R   R	   t   propertyR   R%   R(   (    (    (    s0   /usr/lib/python2.7/site-packages/iniparse/ini.pyR8   Á   s   		t   ContinuationLinec           B   sD   e  Z e j d  ƒ Z d d d „ Z d „  Z d „  Z e	 e ƒ Z RS(   s   ^\s+(?P<value>.*)$c         C   sA   t  t |  ƒ j | ƒ | |  _ | d  k r4 d } n  | |  _ d  S(   Ni   (   R   R<   R   R   R   t   value_offset(   R   R   R=   R   (    (    s0   /usr/lib/python2.7/site-packages/iniparse/ini.pyR   Ñ   s
    		c         C   s   d |  j  |  j S(   NR   (   R=   R   (   R   (    (    s0   /usr/lib/python2.7/site-packages/iniparse/ini.pyR	   Ø   s    c         C   sJ   |  j  j | j ƒ  ƒ } | d  k r( d  S|  | j d ƒ | j d ƒ | ƒ S(   NR   (   R   R   R    R   R!   R"   (   R#   R   R$   (    (    s0   /usr/lib/python2.7/site-packages/iniparse/ini.pyR%   Û   s    N(
   R   R   R&   R'   R   R   R   R	   R%   R(   (    (    (    s0   /usr/lib/python2.7/site-packages/iniparse/ini.pyR<   Î   s
   		t   LineContainerc           B   sƒ   e  Z d
 d  „ Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 e
 e e ƒ Z e
 e e	 ƒ Z d „  Z d „  Z d	 „  Z RS(   c         C   sK   g  |  _  d  |  _ | rG t | t ƒ r7 |  j | ƒ qG |  j | ƒ n  d  S(   N(   t   contentsR   t   orgvaluet
   isinstancet   listt   extendt   add(   R   t   d(    (    s0   /usr/lib/python2.7/site-packages/iniparse/ini.pyR   ä   s    		 c         C   s   |  j  j | ƒ d  S(   N(   R?   t   append(   R   t   x(    (    s0   /usr/lib/python2.7/site-packages/iniparse/ini.pyRD   ë   s    c         C   s"   x | D] } |  j  | ƒ q Wd  S(   N(   RD   (   R   RG   t   i(    (    s0   /usr/lib/python2.7/site-packages/iniparse/ini.pyRC   î   s     c         C   s   |  j  d j S(   Ni    (   R?   R   (   R   (    (    s0   /usr/lib/python2.7/site-packages/iniparse/ini.pyt   get_nameñ   s    c         C   s   | |  j  d _ d  S(   Ni    (   R?   R   (   R   t   data(    (    s0   /usr/lib/python2.7/site-packages/iniparse/ini.pyt   set_nameô   s    c         C   sv   |  j  d  k	 r |  j  St |  j ƒ d k r9 |  j d j Sd j g  |  j D]" } t | t ƒ sI d | j ^ qI ƒ Sd  S(   Ni   i    s   
s   %s(   R@   R   R-   R?   R   t   joinRA   R2   (   R   RG   (    (    s0   /usr/lib/python2.7/site-packages/iniparse/ini.pyt	   get_value÷   s    c         C   sÊ   | |  _  d | j d ƒ } d  } x- |  j D]" } t | t ƒ r, | j } Pq, q, W|  j d d !|  _ | d |  j d _ | d =xC | D]; } | j ƒ  r² |  j	 t | | ƒ ƒ q‡ |  j	 t
 ƒ  ƒ q‡ Wd  S(   Ns   %ss   
i    i   (   R@   t   splitR   R?   RA   R<   R=   R   R   RD   R8   (   R   RJ   t   linesR=   t   vR   (    (    s0   /usr/lib/python2.7/site-packages/iniparse/ini.pyt	   set_value   s    		c         C   s/   g  |  j  D] } | j ƒ  ^ q
 } d j | ƒ S(   Ns   
(   R?   R
   RL   (   R   RG   t   s(    (    s0   /usr/lib/python2.7/site-packages/iniparse/ini.pyR
     s    "c         c   sK   xD |  j  d  d  d … D], } t | d ƒ r | j | k r | Vq q Wd  S(   NiÿÿÿÿR   (   R?   R   R   (   R   t   keyRG   (    (    s0   /usr/lib/python2.7/site-packages/iniparse/ini.pyt   finditer  s    c         C   s+   x |  j  | ƒ D] } | SWt | ƒ ‚ d  S(   N(   RT   t   KeyError(   R   RS   RG   (    (    s0   /usr/lib/python2.7/site-packages/iniparse/ini.pyR.   !  s    N(   R   R   R   R   RD   RC   RI   RK   RM   RQ   R;   R   R   R
   RT   R.   (    (    (    s0   /usr/lib/python2.7/site-packages/iniparse/ini.pyR>   ã   s   									c            s`   |  d ‰  |  d ‰ ˆ d  k r) |  ‰ n  ‡  ‡ ‡ f d †  } ‡  ‡ ‡ f d †  } t | | ƒ S(   NR   t   sourcec            s9   t  |  ˆ ƒ } | d  k	 r( t  | ˆ ƒ St  |  ˆ  ƒ Sd  S(   N(   t   getattrR   (   R   t   srcobj(   t   private_attrnamet   private_srcnamet   srcattrname(    s0   /usr/lib/python2.7/site-packages/iniparse/ini.pyt   getfn-  s    c            sB   t  |  ˆ ƒ } | d  k	 r. t | ˆ | ƒ n t |  ˆ  | ƒ d  S(   N(   RW   R   t   setattr(   R   R   RX   (   RY   RZ   R[   (    s0   /usr/lib/python2.7/site-packages/iniparse/ini.pyt   setfn4  s    (   R   R;   (   t
   myattrnameR[   R\   R^   (    (   RY   RZ   R[   s0   /usr/lib/python2.7/site-packages/iniparse/ini.pyt   _make_xform_property'  s    

	t
   INISectionc           B   sƒ   e  Z d Z d Z d Z d Z d Z e ƒ  Z	 d d d d  „ Z
 e d ƒ Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z RS(	   c         C   s4   | g |  _  | |  _ | |  _ | |  _ i  |  _ d  S(   N(   t   _linest	   _defaultst   _optionxformvaluet   _optionxformsourcet   _options(   R   t   lineobjt   defaultst   optionxformvaluet   optionxformsource(    (    s0   /usr/lib/python2.7/site-packages/iniparse/ini.pyR   E  s
    			t   _optionxformc         C   sÔ   | d k r |  j  d j S|  j r5 |  j | ƒ } n  y# |  j | j } | |  j k } WnW t k
 r± |  j r« | |  j j k r« |  j j | j } | |  j j k } q² ‚  n X| rÐ t j	 d d | ƒ } n  | S(   NR   iÿÿÿÿs   
+s   
(
   Rb   R   Rk   Rf   R   t   _compat_skip_empty_linesRU   Rc   R&   R1   (   R   RS   R   t	   del_empty(    (    s0   /usr/lib/python2.7/site-packages/iniparse/ini.pyt   _compat_getO  s    	 c         C   sŽ   | d k r |  j  d j S|  j r5 |  j | ƒ } n  y |  j | j SWn@ t k
 r‰ |  j rƒ | |  j j k rƒ |  j j | j S‚  n Xd  S(   NR   iÿÿÿÿ(   Rb   R   Rk   Rf   R   RU   Rc   (   R   RS   (    (    s0   /usr/lib/python2.7/site-packages/iniparse/ini.pyt   _getitemb  s    	 c         C   sŸ   |  j  r |  j  | ƒ } n | } | |  j k rC |  j j | ƒ n  | |  j k r‹ t t | d ƒ ƒ } |  j d j | ƒ | |  j | <n  | |  j | _ d  S(   NR6   iÿÿÿÿ(	   Rk   Rl   t   removeRf   R>   R)   Rb   RD   R   (   R   RS   R   t   xkeyt   obj(    (    s0   /usr/lib/python2.7/site-packages/iniparse/ini.pyt   __setitem__n  s    	 c         C   sá   |  j  r |  j  | ƒ } n  | |  j k r= |  j j | ƒ n  x“ |  j D]ˆ } g  } xp | j D]e } t | t ƒ rµ | j } |  j  r– |  j  | ƒ } n  | | k rÂ | j | ƒ qÂ q] | j | ƒ q] W| | _ qG W|  j	 | =d  S(   N(
   Rk   Rl   Rp   Rb   R?   RA   R>   R   RF   Rf   (   R   RS   t   lt	   remainingt   ot   n(    (    s0   /usr/lib/python2.7/site-packages/iniparse/ini.pyt   __delitem__|  s     	 		  c         c   sÐ   t  ƒ  } x |  j D]t } xk | j D]` } t | t ƒ r# |  j rV |  j | j ƒ } n	 | j } | | k rƒ | V| j | ƒ qƒ q# q# Wq W|  j rÌ x5 |  j D]' } | | k rž | V| j | ƒ qž qž Wn  d  S(   N(	   t   setRb   R?   RA   R>   Rk   R   RD   Rc   (   R   RE   Rt   RG   t   ans(    (    s0   /usr/lib/python2.7/site-packages/iniparse/ini.pyt   __iter__Œ  s    				c         C   s   t  d | ƒ ‚ d  S(   Ns   No sub-sections allowed(   R   (   R   R   (    (    s0   /usr/lib/python2.7/site-packages/iniparse/ini.pyt   _new_namespacež  s    N(   R   R   R   Rb   Rf   Rc   Rd   Re   Ry   Rl   R   R`   Rk   Rn   Ro   Rs   Rx   R{   R|   (    (    (    s0   /usr/lib/python2.7/site-packages/iniparse/ini.pyRa   >  s   						c         C   s   t  |  j d ƒ ƒ S(   Ns   
(   R2   R    (   R   (    (    s0   /usr/lib/python2.7/site-packages/iniparse/ini.pyt   make_comment¢  s    c         c   s^   t  } xQ t rY |  j ƒ  } | s3 | r/ d Vn  d S| j d ƒ rK t } n t  } | Vq	 Wd S(   sC   iterate over a file by only using the file object's readline methodR6   Ns   
(   t   Falset   Truet   readlinet   endswith(   t   ft   have_newlineR   (    (    s0   /usr/lib/python2.7/site-packages/iniparse/ini.pyt   readline_iterator¦  s    		c         C   s
   |  j  ƒ  S(   N(   t   lower(   RG   (    (    s0   /usr/lib/python2.7/site-packages/iniparse/ini.pyR…   º  s    t	   INIConfigc           B   sÝ   e  Z d Z d Z d Z d Z d Z d Z d Z	 d Z
 e Z d d e e d d d d  „ Z e d d ƒ Z e d d ƒ Z d „  Z d „  Z d „  Z d „  Z d „  Z d	 „  Z e Z e e e e e g Z d
 „  Z  d „  Z! RS(   c   
      C   s¹   t  ƒ  |  _ | |  _ | |  _ | |  _ | |  _ | |  _ i  |  _ | d  k rW i  } n  t	 t  ƒ  d |  ƒ|  _
 x' | j ƒ  D] \ } }	 |	 |  j
 | <q| W| d  k	 rµ |  j | ƒ n  d  S(   NRj   (   R>   t   _datat
   _parse_excRd   Re   t   _sectionxformvaluet   _sectionxformsourcet	   _sectionsR   Ra   Rc   t	   iteritemst   _readfp(
   R   t   fpRh   t	   parse_excRi   Rj   t   sectionxformvaluet   sectionxformsourceR   R   (    (    s0   /usr/lib/python2.7/site-packages/iniparse/ini.pyR   È  s    						 	Rk   t   optionxformt   _sectionxformc         C   s9   | t  k r |  j S|  j r. |  j | ƒ } n  |  j | S(   N(   R    Rc   R“   R‹   (   R   RS   (    (    s0   /usr/lib/python2.7/site-packages/iniparse/ini.pyRo   Ü  s
    	 c         C   s   t  d | | ƒ ‚ d  S(   Ns   Values must be inside sections(   R   (   R   RS   R   (    (    s0   /usr/lib/python2.7/site-packages/iniparse/ini.pyRs   â  s    c         C   sW   |  j  r |  j  | ƒ } n  x+ |  j | j D] } |  j j j | ƒ q, W|  j | =d  S(   N(   R“   R‹   Rb   R‡   R?   Rp   (   R   RS   R   (    (    s0   /usr/lib/python2.7/site-packages/iniparse/ini.pyRx   å  s
    	 c         c   sm   t  ƒ  } | j t ƒ xP |  j j D]B } t | t ƒ r# | j | k re | j V| j | j ƒ qe q# q# Wd  S(   N(   Ry   RD   R    R‡   R?   RA   R>   R   (   R   RE   RG   (    (    s0   /usr/lib/python2.7/site-packages/iniparse/ini.pyR{   ë  s    	c         C   sº   |  j  j r" |  j  j t ƒ  ƒ n  t t | ƒ ƒ } |  j  j | ƒ |  j r_ |  j | ƒ } n  | |  j k rŽ |  j | } | j j	 | ƒ n( t
 | d |  j d |  ƒ} | |  j | <| S(   NRh   Rj   (   R‡   R?   RD   R8   R>   R   R“   R‹   Rb   RF   Ra   Rc   (   R   R   Rr   t   ns(    (    s0   /usr/lib/python2.7/site-packages/iniparse/ini.pyR|   ô  s    	 	c         C   s)   |  j  r d } n d } | |  j j ƒ  S(   Nu   ï»¿%ss   %s(   t   _bomR‡   R
   (   R   t   fmt(    (    s0   /usr/lib/python2.7/site-packages/iniparse/ini.pyR
     s    		c         C   s5   x. |  j  D] } | j | ƒ } | r
 | Sq
 Wd  Sd  S(   N(   t   _line_typesR%   R   (   R   R   t   linetypeRg   (    (    s0   /usr/lib/python2.7/site-packages/iniparse/ini.pyt   _parse  s
    c      	   C   s;  d  } d  } d  } d  } g  } t } y | j } Wn t k
 rJ d } n Xd }	 d  }
 d  } xŒt | ƒ D]~} |	 d k r´ t | t ƒ r´ | d d k r´ | d } t |  _ q´ n  |  j	 | ƒ } |	 d 7}	 | rt | t
 t t f ƒ r|  j rt | |	 | ƒ ‚ qt | ƒ } n  | d  k rl|  j r]|
 d  k rJt | ƒ }
 n  |
 j |	 | ƒ n  t | ƒ } n  t | t ƒ r| rÌ| r¼| j | ƒ g  } | r¼| j j | ƒ t } q¼n  | j | ƒ q|  j r|
 d  k rðt | ƒ }
 n  |
 j |	 | ƒ n  t | ƒ } n  t | t ƒ r¸| rC| j | ƒ g  } t } n  t | ƒ } | j | ƒ |  j rz|  j | j ƒ } n	 | j } | t k r›|  j } n |  j | } | | j | <n  t | t ƒ r«|  j j | ƒ g  } t } t | ƒ } |  j j | ƒ d  } d  } | j t k r6|  j j j | ƒ t } q«|  j rT|  j | j ƒ } n	 | j } | |  j k r‘t  | d |  j d |  ƒ|  j | <q«|  j | j j | ƒ n  t | t
 t f ƒ rj | j | ƒ t | t ƒ rèt } qèqj qj W|  j j | ƒ | r(| d d k r(|  j j t ƒ  ƒ n  |
 r7|
 ‚ n  d  S(	   Ns   <???>i    u   ï»¿i   Rh   Rj   iÿÿÿÿs   
(!   R   R~   R   t   AttributeErrorR„   RA   t   unicodeR   R•   R™   R2   R8   R   Rˆ   R   R}   R   RF   R<   RC   Rl   RD   R)   R>   Rk   R    Rc   R‹   Rf   R‡   Rb   R“   Ra   (   R   RŽ   t   cur_sectiont
   cur_optiont   cur_section_namet   cur_option_namet   pending_linest   pending_empty_linest   fnamet	   linecountt   excR   Rg   t   optobj(    (    s0   /usr/lib/python2.7/site-packages/iniparse/ini.pyR     s¬    


		 	 						N("   R   R   R   R‡   R‹   Rc   Rd   Re   R‰   RŠ   Rˆ   R~   R•   R   R…   R   R`   Rk   R“   Ro   Rs   Rx   R{   R|   R
   t   __unicode__R8   R2   R   R)   R<   R—   R™   R   (    (    (    s0   /usr/lib/python2.7/site-packages/iniparse/ini.pyR†   ¾  s4   											(   t   __doc__R&   t   ConfigParserR    R   R   t   configt   objectR   R   R)   R~   R5   R2   R8   R<   R>   R   R`   t   ConfigNamespaceRa   R}   R„   R…   R†   (    (    (    s0   /usr/lib/python2.7/site-packages/iniparse/ini.pyt   <module>&   s"    :Dd			