B
    d                 @   sH   d dl mZmZmZ G dd deZG dd deZG dd deZdS )	    )absolute_importdivisionprint_functionc               @   s$   e Zd Zdd Zdd Zdd ZdS )easyc             K   s   t | | d S )N)dictupdate)selfkw r
   x/mnt/filia/a/genomebrowser/www/genomebrowser/fleming/tools/molprobity/modules/cctbx_project/scitbx/python_utils/dicts.py__init__   s    zeasy.__init__c             C   s*   yt | |S  tk
r$   tY nX d S )N)r   __getitem__KeyErrorAttributeError)r   keyr
   r
   r   __getattr__   s      zeasy.__getattr__c             C   s   t | || d S )N)r   __setitem__)r   r   valuer
   r
   r   __setattr__   s    zeasy.__setattr__N)__name__
__module____qualname__r   r   r   r
   r
   r
   r   r      s   r   c               @   s   e Zd Zdd Zdd ZdS )with_default_valuec             C   s
   || _ d S )N)default_value)r   r   r
   r
   r   r      s    zwith_default_value.__init__c             C   s:   yt | |S  tk
r    Y nX | j}t | || |S )N)r   r   	Exceptionr   r   )r   r   valr
   r
   r   r      s      zwith_default_value.__getitem__N)r   r   r   r   r   r
   r
   r
   r   r      s   r   c               @   s   e Zd Zdd Zdd ZdS )with_default_factoryc             C   s
   || _ d S )N)default_factory)r   r   r
   r
   r   r      s    zwith_default_factory.__init__c             C   s<   yt | |S  tk
r    Y nX |  }t | || |S )N)r   r   r   r   r   )r   r   r   r
   r
   r   r      s      z with_default_factory.__getitem__N)r   r   r   r   r   r
   r
   r
   r   r      s   r   N)
__future__r   r   r   r   r   r   r   r
   r
   r
   r   <module>   s   