
    d;                     .    d Z ddlZ G d de          ZdS )z3Proxy dictionary for objects stored in a container.    Nc                   X     e Zd ZdZd Zd Z fdZd Zd Zd Z	d Z
d	 Zd
 Zd Z xZS )	ProxyDictz?A dictionary which uses a container object to store its values.c                 8    t          j        |          | _        d S N)weakrefrefcontainerrefself	containers     5lib/python3.11/site-packages/tables/misc/proxydict.py__init__zProxyDict.__init__   s    #K	22	 	    c                 x    || vrt          |          |                     |                                 |          S r   )KeyError_get_value_from_container_get_containerr   keys     r   __getitem__zProxyDict.__getitem__   s;    d??3-- --d.A.A.C.CSIIIr   c                 L    t                                          |d            d S r   )super__setitem__)r   r   value	__class__s      r   r   zProxyDict.__setitem__   s#    C&&&&&r   c                 6    t                               |           S r   )object__repr__r   s    r   r   zProxyDict.__repr__   s    t$$$r   c                 p    dd                     d |                                 D                       z   dz   S )N{z, c              3       K   | ]	\  }}d V  
dS )z{k!r}: {v!r}N ).0kvs      r   	<genexpr>z$ProxyDict.__str__.<locals>.<genexpr>"   s&      GG$!Q~GGGGGGr   })joinitemsr   s    r   __str__zProxyDict.__str__    s5    TYYGG$**,,GGGGGG#MMr   c                 D      fd                                  D             S )Nc                      g | ]
}|         S r#   r#   r$   r   r   s     r   
<listcomp>z$ProxyDict.values.<locals>.<listcomp>&   s    111cS	111r   keysr   s   `r   valueszProxyDict.values$   s%    1111TYY[[1111r   c              #   L   K   |                                  D ]}| |         V  d S r   r0   r   s     r   
itervalueszProxyDict.itervalues(   s6      99;; 	 	Cs)OOOO	 	r   c                 D      fd                                  D             S )Nc                 $    g | ]}||         fS r#   r#   r.   s     r   r/   z#ProxyDict.items.<locals>.<listcomp>/   s"    888Sd3i 888r   r0   r   s   `r   r*   zProxyDict.items-   s%    8888DIIKK8888r   c              #   P   K   |                                  D ]}|| |         fV  d S r   r0   r   s     r   	iteritemszProxyDict.iteritems1   s?      99;; 	# 	#CS	"""""	# 	#r   c                 P    |                                  }|t          d          |S )Nz)the container object does no longer exist)r	   
ValueErrorr
   s     r   r   zProxyDict._get_container6   s.    %%''	HIIIr   )__name__
__module____qualname____doc__r   r   r   r   r+   r2   r4   r*   r8   r   __classcell__)r   s   @r   r   r      s        II  J J J' ' ' ' '% % %N N N2 2 2  
9 9 9# # #
      r   r   )r>   r   dictr   r#   r   r   <module>rA      sH    9 9 5 5 5 5 5 5 5 5 5 5r   