ó
b=0Yc           @   sb   d  d l  Z  d  d l Z d Z d e f d „  ƒ  YZ e d „ Z i  Z e d „ Z d d „ Z
 d S(   iÿÿÿÿNt   asectiont   FakeSecHeadc           B   s   e  Z d  „  Z d „  Z RS(   c         C   s   | |  _  d t d |  _ d  S(   Nt   [s   ]
(   t   fpt   SECHEADt   sechead(   t   selfR   (    (    s7   /usr/lib/python2.7/site-packages/clcommon/clconfpars.pyt   __init__   s    	c         C   s5   |  j  r$ z |  j  SWd  d  |  _  Xn |  j j ƒ  Sd  S(   N(   R   t   NoneR   t   readline(   R   (    (    s7   /usr/lib/python2.7/site-packages/clcommon/clconfpars.pyR	      s
    	 (   t   __name__t
   __module__R   R	   (    (    (    s7   /usr/lib/python2.7/site-packages/clcommon/clconfpars.pyR   
   s   	c         C   sV   t  j  ƒ  } | r t | _ n  | j d t t |  ƒ ƒ d |  ƒ t | j d t ƒ ƒ S(   NR   t   filenamet   section(	   t   ConfigParsert   strt   optionxformt   readfpR   t   opent   dictt   itemsR   (   t   patht   case_sensitivet   config(    (    s7   /usr/lib/python2.7/site-packages/clcommon/clconfpars.pyt   load   s
    "c         C   su   y t  |  } Wn` t k
 rp y t |  ƒ } t  |  <Wqq t t j f k
 rl | s[ ‚  n  i  } t  |  <qq Xn X| S(   sD   
    Read ini file once (cached) and return its content as dict
    (   t   cachet   KeyErrorR   t   IOErrorR   t   Error(   R   t   ignore_errorst   res(    (    s7   /usr/lib/python2.7/site-packages/clcommon/clconfpars.pyt	   load_once!   s    c   
      C   sQ  | s | d } n  t  | d ƒ } t  | d ƒ } g  } x¦ | D]ž } | j ƒ  } | rÏ | j d ƒ rÏ | j d d ƒ \ } }	 | j ƒ  } | |  k rÏ | j | d t |  | ƒ d ƒ | j | ƒ q> qÏ n  | j | ƒ q> W| j ƒ  xF |  j ƒ  D]8 } | | k r÷ | j | d t |  | ƒ d ƒ q÷ q÷ W| j ƒ  t	 j
 | | ƒ d  S(   Ns   .tmpt   rt   wt   #t   =i   s   
(   R   t   stript
   startswitht   splitt   writeR   t   appendt   closet   keyst   ost   rename(
   R   R   t   tmp_patht   fint   foutt	   used_keyst   linet   lt   keyt   value(    (    s7   /usr/lib/python2.7/site-packages/clcommon/clconfpars.pyt   change_settings1   s*    #	
*
(   R   R+   R   t   objectR   t   FalseR   R   R   R   R5   (    (    (    s7   /usr/lib/python2.7/site-packages/clcommon/clconfpars.pyt   <module>   s   