£Á°èZ¨Ä…–K§‚«“ô4“ÒÙ´dîfUÙÃÅ WKbyÊ¦•êŽ…È®FÒ¿ÊÎóCozá¬S@6{Í:›œêZÌ:Š•_%:¢¾¾~;‘Ã~èŠ©ÊÇí`ÔÑ©úë™µ'5I¿fš×WO%ø9¾«¾DK|€ùÍD”Ýs]nHÕ¶ê×Ó¼ãžªéUWŸÈË%DÒÕ¬ï‘]/Åcx  ‰ï2ß]ä6G[]S£ÔÏ¯rs{úëóµmÒï#UQxo·õÞCe]"±/aÙ&Eã4ú9Jé_ÞåëdãöKë)AÞ                  ¯¹ægƒÛowÐø^d™ý½ßB7áyMä9ÜÖUã
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
<html>
a
    `8a\	                     @   s4   d dl mZmZ d dlmZ dZG dd deZdS )   )MissingRequiredErrorReadOnlyError)UnicodeMixin)Configurationc                   @   s~   e Zd ZdddZdd Zdd Zdd	 Zd
d Zdd Zdd Z	dd Z
dd Zdd Zdd Zdd Zdd Zdd ZdS )r   Nc                 C   s.   || j d< i | j d< |D ]}|| j|j< qd S )N_parent	_settings)__dict__r   name)selfsettingsparentsetting r   G/home/carl/code/landscape/setoptconf-tmp/build/lib/setoptconf/config.py__init__	   s    

zConfiguration.__init__c                 C   sb   || j v r>| j | }|jr^|js^| jr4| j| q^t|n | jrR| j| ntd| d S NzNo such setting "%s")r   requiredestablishedr   validate_settingr   AttributeError)r
   r	   r   r   r   r   r      s    


zConfiguration.validate_settingc                 C   s   | D ]}|  | qd S N)r   r
   r	   r   r   r   validate   s    zConfiguration.validatec                 C   sd   || j v rB| j | jr"| j | jS | jr4t| j|S | j | jS n| jrTt| j|S td| d S r   )r   r   valuer   getattrdefaultr   r   r   r   r   __getattr__!   s    
zConfiguration.__getattr__c                 C   s
   t | |S r   )r   r
   keyr   r   r   __getitem__.   s    zConfiguration.__getitem__c                 C   s   t dd S )Nz#Cannot change the value of settingsr   )r
   r	   r   r   r   r   __setattr__1   s    zConfiguration.__setattr__c                 C   s   t | || d S r   )setattr)r
   r   r   r   r   r   __setitem__4   s    zConfiguration.__setitem__c                 C   s   t dd S )NzCannot delete settingsr    r   r   r   r   __delattr__7   s    zConfiguration.__delattr__c                 C   s   t | | d S r   )delattrr   r   r   r   __delitem__:   s    zConfiguration.__delitem__c                 C   s,   t | j }| jr$|t| j t|S r   )setr   keysr   updateiter)r
   Z	all_namesr   r   r   __iter__=   s    zConfiguration.__iter__c                 C   s   t tt| S r   )lenlistr*   r
   r   r   r   __len__C   s    zConfiguration.__len__c                 C   s   |t t| v S r   )r-   r*   )r
   itemr   r   r   __contains__F   s    zConfiguration.__contains__c                    s   dd  fdd D  S )NzConfiguration(%s)z, c                    s    g | ]}d |t  | f qS )z%s=%s)repr).0r	   r.   r   r   
<listcomp>K       z-Configuration.__unicode__.<locals>.<listcomp>)joinr.   r   r.   r   __unicode__I   s    zConfiguration.__unicode__c                 C   s   dt |  S )Nz<%s>)strr.   r   r   r   __repr__N   s    zConfiguration.__repr__)N)__name__
__module____qualname__r   r   r   r   r   r!   r#   r$   r&   r+   r/   r1   r7   r9   r   r   r   r   r      s   
r   N)	exceptionr   r   utilr   __all__r   r   r   r   r   <module>   s   