ó
gÊù]c           @   si   d  d l  Z  d  d l Z d  d l Z d  d l m Z m Z e j d e j ƒ Z d e	 f d „  ƒ  YZ
 d S(   iÿÿÿÿN(   t   Logst   Utilss   ^(#)*?([^#=]*?)\ =\ (.*?)$t	   ConfigSetc           B   sà   e  Z d Z d d „ Z d „  Z d „  Z d „  Z d „  Z d „  Z	 d „  Z
 d	 „  Z d
 „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z RS(   t   tablet   parentc         C   s#   i  |  _  | r |  j | ƒ n  d  S(   N(   R   t   load(   t   selft   filename(    (    sR   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/ConfigSet.pyt   __init__
   s    	c         C   s@   | |  j  k r t Sy |  j j | ƒ SWn t k
 r; t SXd  S(   N(   R   t   TrueR   t   __contains__t   AttributeErrort   False(   R   t   key(    (    sR   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/ConfigSet.pyR
      s       c         C   s^   t  ƒ  } |  } x2 | rC | j | j j ƒ  ƒ t | d d  ƒ } q Wt | ƒ } | j ƒ  | S(   NR   (   t   sett   updateR   t   keyst   getattrt   Nonet   listt   sort(   R   R   t   cur(    (    sR   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/ConfigSet.pyR      s    		
c         C   s9   d j  g  |  j ƒ  D] } d | |  j | ƒ f ^ q ƒ S(   Ns   
s   %r %r(   t   joinR   t   __getitem__(   R   t   x(    (    sR   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/ConfigSet.pyt   __str__   s    c         C   sR   y9 x2 |  j  j | d  ƒ } | d  k	 r+ | S|  j }  q WWn t k
 rM g  SXd  S(   N(   R   t   getR   R   R   (   R   R   R   (    (    sR   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/ConfigSet.pyR      s    c         C   s   | |  j  | <d  S(   N(   R   (   R   R   t   value(    (    sR   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/ConfigSet.pyt   __setitem__&   s    c         C   s   g  |  | <d  S(   N(    (   R   R   (    (    sR   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/ConfigSet.pyt   __delitem__(   s    c         C   s+   | |  j  k r t j |  | ƒ S|  | Sd  S(   N(   t	   __slots__t   objectt   __getattr__(   R   t   name(    (    sR   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/ConfigSet.pyR    *   s    c         C   s3   | |  j  k r% t j |  | | ƒ n
 | |  | <d  S(   N(   R   R   t   __setattr__(   R   R!   R   (    (    sR   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/ConfigSet.pyR"   /   s    c         C   s-   | |  j  k r" t j |  | ƒ n |  | =d  S(   N(   R   R   t   __delattr__(   R   R!   (    (    sR   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/ConfigSet.pyR#   4   s    c         C   s   t  ƒ  } |  | _ | S(   N(   R   R   (   R   t   newenv(    (    sR   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/ConfigSet.pyt   derive9   s    		c         C   sr   |  j  ƒ  } y t |  d ƒ Wn t k
 r0 n> X| j ƒ  } x% | D] } t j | | ƒ | | <qD W| |  _ d  S(   NR   (   t   get_merged_dictt   delattrR   R   t   copyt   deepcopyR   (   R   t   tblR   R   (    (    sR   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/ConfigSet.pyt   detach=   s    c         C   s*   |  | } t  | t ƒ r | Sd j | ƒ S(   Nt    (   t
   isinstancet   strR   (   R   R   t   s(    (    sR   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/ConfigSet.pyt   get_flatH   s    
 c         C   sž   y |  j  | } Wn^ t k
 rq y |  j | } Wn t k
 rK g  } n Xt | t ƒ re | } q� | g } n Xt | t ƒ s� | g } n  | |  j  | <| S(   N(   R   t   KeyErrorR   R   R-   R   (   R   R   R   (    (    sR   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/ConfigSet.pyt    _get_list_value_for_modificationL   s      

c         C   s;   |  j  | ƒ } t | t ƒ r* | g } n  | j | ƒ d  S(   N(   R2   R-   R.   t   extend(   R   t   vart   valt   current_value(    (    sR   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/ConfigSet.pyt   append_value[   s    c         C   s9   t  | t ƒ r | g } n  | |  j | ƒ |  j | <d  S(   N(   R-   R.   R2   R   (   R   R4   R5   (    (    sR   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/ConfigSet.pyt   prepend_value`   s    c         C   s[   t  | t ƒ r | g } n  |  j | ƒ } x* | D]" } | | k r1 | j | ƒ q1 q1 Wd  S(   N(   R-   R.   R2   t   append(   R   R4   R5   R6   R   (    (    sR   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/ConfigSet.pyt   append_uniqued   s    c         C   sp   g  } |  } x9 | j  d | j ƒ y | j } Wq t k
 rC Pq Xq Wi  } x | D] } | j | ƒ qU W| S(   Ni    (   t   insertR   R   R   R   (   R   t
   table_listt   envt   merged_tableR   (    (    sR   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/ConfigSet.pyR&   k   s      	c         C   så   y! t  j t  j j | ƒ d ƒ Wn t k
 r4 n Xg  } |  j ƒ  } t | j ƒ  ƒ } | j ƒ  y
 t	 } Wn t
 k
 r† t } n Xx> | D]6 } | d k rŽ | j d | | | | ƒ f ƒ qŽ qŽ Wt j | d j | ƒ ƒ d  S(   Ni    t
   undo_stacks   %s = %s
t    (   t   ost   makedirst   patht   splitt   OSErrorR&   R   R   R   t   asciit	   NameErrort   reprR9   R   t   writefR   (   R   R   t   bufR>   R   t   funt   k(    (    sR   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/ConfigSet.pyt   storev   s     !


(c         C   s{   |  j  } t j | d d ƒ} x< t j | ƒ D]+ } | j } t | d ƒ ƒ | | d ƒ <q. Wt j d t	 |  j  ƒ ƒ d  S(   Nt   mt   rUi   i   s   env: %s(
   R   R   t   readft   re_impt   finditert   groupt   evalR    t   debugR.   (   R   R   R*   t   codeRN   t   g(    (    sR   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/ConfigSet.pyR   ‡   s    		 c         C   s+   x$ | j  ƒ  D] \ } } | |  | <q Wd  S(   N(   t   items(   R   t   dRL   t   v(    (    sR   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/ConfigSet.pyR   Ž   s    c         C   sd   |  j  } |  j  j ƒ  } |  _  x+ | j ƒ  D] } t j | | ƒ | | <q, W|  j | g |  _ d  S(   N(   R   R(   R   R)   R?   (   R   t   origR*   R   (    (    sR   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/ConfigSet.pyt   stash‘   s
    	c         C   s   |  j  j d ƒ |  _ d  S(   Niÿÿÿÿ(   R?   t   popR   (   R   (    (    sR   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/ConfigSet.pyt   revert—   s    (   R   R   N(   t   __name__t
   __module__R   R   R   R
   R   R   R   R   R   R    R"   R#   R%   R+   R0   R2   R7   R8   R:   R&   RM   R   R   R\   R^   (    (    (    sR   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/ConfigSet.pyR      s0   																							(   R(   t   reRA   t   waflibR    R   t   compilet   MRQ   R   R   (    (    (    sR   /git_repos/avwlv2/.waf-1.7.11-715590adb2974ef17ddee0c7e2df2d1d/waflib/ConfigSet.pyt   <module>   s   $