Your IP : 216.73.216.213


Current Path : /opt/alt/python37/lib/python3.7/site-packages/setoptconf/__pycache__/
Upload File :
Current File : //opt/alt/python37/lib/python3.7/site-packages/setoptconf/__pycache__/config.cpython-37.opt-1.pyc

B

��]�	�@s4ddlmZmZddlmZdZGdd�de�ZdS)�)�MissingRequiredError�
ReadOnlyError)�UnicodeMixin)�
Configurationc@s~eZdZddd�Zdd�Zdd�Zdd	�Zd
d�Zdd
�Zdd�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�ZdS)rNcCs2||jd<i|jd<x|D]}||j|j<qWdS)N�_parent�	_settings)�__dict__r�name)�selfZsettings�parent�setting�r
�B/opt/alt/python37/lib/python3.7/site-packages/setoptconf/config.py�__init__s


zConfiguration.__init__cCsb||jkr>|j|}|jr^|js^|jr4|j�|�q^t|��n |jrR|j�|�ntd|��dS)NzNo such setting "%s")rZrequired�establishedr�validate_settingr�AttributeError)r
r	rr
r
rrs


zConfiguration.validate_settingcCsx|D]}|�|�qWdS)N)r)r
r	r
r
r�validates
zConfiguration.validatecCsd||jkrB|j|jr"|j|jS|jr4t|j|�S|j|jSn|jrTt|j|�Std|��dS)NzNo such setting "%s")rr�valuer�getattr�defaultr)r
r	r
r
r�__getattr__#s
zConfiguration.__getattr__cCs
t||�S)N)r)r
�keyr
r
r�__getitem__0szConfiguration.__getitem__cCstd��dS)Nz#Cannot change the value of settings)r)r
r	rr
r
r�__setattr__3szConfiguration.__setattr__cCst|||�dS)N)�setattr)r
rrr
r
r�__setitem__6szConfiguration.__setitem__cCstd��dS)NzCannot delete settings)r)r
r	r
r
r�__delattr__9szConfiguration.__delattr__cCst||�dS)N)�delattr)r
rr
r
r�__delitem__<szConfiguration.__delitem__cCs,t|j���}|jr$|�t|j��t|�S)N)�setr�keysr�update�iter)r
Z	all_namesr
r
r�__iter__?szConfiguration.__iter__cCsttt|���S)N)�len�listr#)r
r
r
r�__len__EszConfiguration.__len__cCs|tt|��kS)N)r&r#)r
�itemr
r
r�__contains__HszConfiguration.__contains__csdd��fdd��D��S)NzConfiguration(%s)z, cs g|]}d|t�|�f�qS)z%s=%s)�repr)�.0r	)r
r
r�
<listcomp>Nsz-Configuration.__unicode__.<locals>.<listcomp>)�join)r
r
)r
r�__unicode__Ks
zConfiguration.__unicode__cCsdt|�S)Nz<%s>)�str)r
r
r
r�__repr__SszConfiguration.__repr__)N)�__name__�
__module__�__qualname__rrrrrrrrrr$r'r)r.r0r
r
r
rr
s


rN)Z	exceptionrr�utilr�__all__rr
r
r
r�<module>s