o
    jf                     @   s0   dddZ e  Ze dd ZG dd deZd S )Nc                    s   G  fdddt   S )Nc                       s   e Zd Zdd Z f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u r8dd Zdd ZdS fddZfddZdS )zTAttrDict.<locals>.AttrDictc                 _   s   t |i || _d S N)dict_AttrDict__data)selfargskwargs r   S/var/www/html/LicenciasMiG/venv/lib/python3.10/site-packages/spyne/util/attrdict.py__init__      z$TAttrDict.<locals>.AttrDict.__init__c                    s0    | j  }| D ]
\}}t||| q|S r   )r   itemssetattr)r   r   retvalkv)AttrDictr   r   __call__   s   z$TAttrDict.<locals>.AttrDict.__call__c                 S   s4   |dkrt | ||S |dkrtd|| j|< d S )Nr   r   z!'items' is part of dict interface)object__setattr__
ValueErrorr   r   keyvaluer   r   r   r       s
   z'TAttrDict.<locals>.AttrDict.__setattr__c                 S   s   || j |< d S r   r   r   r   r   r   __setitem__'   s   z'TAttrDict.<locals>.AttrDict.__setitem__c                 S   s
   t | jS r   )iterr   r   r   r   r   __iter__*      
z$TAttrDict.<locals>.AttrDict.__iter__c                 S   s
   | j  S r   )r   r   r   r   r   r   r   -   r   z!TAttrDict.<locals>.AttrDict.itemsc                 W   s   | j j|g|R  S r   )r   get)r   r   r   r   r   r   r   0   r
   zTAttrDict.<locals>.AttrDict.getc                 S   s   | j |S r   )r   update)r   dr   r   r   r   3   s   z"TAttrDict.<locals>.AttrDict.updatec                 S   s*   dd dd t| j dd dD  S )NzAttrDict(%s)z, c                 S   s   g | ]
\}}d ||f qS )z%s=%rr   ).0r   r   r   r   r   
<listcomp>7   s    z8TAttrDict.<locals>.AttrDict.__repr__.<locals>.<listcomp>c                 S   s   | d S )N    r   )xr   r   r   <lambda>8   s    z6TAttrDict.<locals>.AttrDict.__repr__.<locals>.<lambda>)r   )joinsortedr   r   r   r   r   r   __repr__6   s   
z$TAttrDict.<locals>.AttrDict.__repr__Nc                 S   
   | j | S r   r   r   r   r   r   r   __getattr__;   r   z'TAttrDict.<locals>.AttrDict.__getattr__c                 S   r)   r   r   r*   r   r   r   __getitem__=   r   z'TAttrDict.<locals>.AttrDict.__getitem__c                    s   || j v r
| j | S   S r   r   r*   defaultr   r   r,   @   s   

c                    s.   |dv r
t | dS || jv r| j| S   S )N)r   r   r   r   __data)r   __getattribute__r   r*   r-   r   r   r+   E   s
   

)__name__
__module____qualname__r	   r   r   r   r   r   r   r   r(   r+   r,   r   r   r.   r   r   r      s    r   )r   r-   r   r4   r   	TAttrDict   s   7r5   c                   C   s   d S r   r   r   r   r   r   r%   P   s    r%   c                   @   s   e Zd ZeZdd ZdS )AttrDictCollc                 G   s"   |D ]}t | |tj|d qd S )N)NAME)r   r6   AttrDictImpl)r   r   ar   r   r   r	   U   s   zAttrDictColl.__init__N)r1   r2   r3   DefaultAttrDictr8   r	   r   r   r   r   r6   S   s    r6   r   )r5   r   r:   r   r6   r   r   r   r   <module>   s   
: