
    Ogw                     ^    d Z ddlZddlmZmZ  G d de      Zd Zd Zd Z	 G d	 d
e      Z
y)zAdapter declarations
    N)CLASS_TYPES_BLANKc                       e Zd Zd Zd Zy)adapterc                     || _         y N
interfacesselfr
   s     V/var/www/djangounited/venv/lib/python3.12/site-packages/zope/component/_declaration.py__init__zadapter.__init__   	    $    c                     t        |t              rt        | j                        |_        |S | j                  |_        |S r   )
isinstancer   _adapts_descrr
   __component_adapts__)r   obs     r   __call__zadapter.__call__   s7    b+&&3DOO&DB# 	 '+ooB#	r   N)__name__
__module____qualname__r   r    r   r   r   r      s    %r   r   c                      t        j                  d      }|j                  }||j                  u sd|vrt	        d      d|v rt	        d      t        |       |d<   y )N   r   z0adapts can be used only from a class definition.r   z3adapts can be used only once in a class definition.)sys	_getframef_locals	f_globals	TypeErrorr   )r
   framelocalss      r   adaptsr$   !   s^    MM!E^^F  L$>JKK'MNN%2:%>F!"r   c                     t        | dd       S Nr   )getattrr   s    r   	adaptedByr)   .   s    2-t44r   c                 $    t        | dt              S )N__component_name__)r'   r   r(   s    r   getNamer,   1   s    2+V44r   c                       e Zd Zd Zd Zy)r   c                     || _         y r   r	   r   s     r   r   z_adapts_descr.__init__5   r   r   c                 4    || j                   S t        d      r&   )r
   AttributeError)r   instclss      r   __get__z_adapts_descr.__get__8   s    <??"344r   N)r   r   r   r   r3   r   r   r   r   r   4   s    %5r   r   )__doc__r   zope.component._compatr   r   objectr   r$   r)   r,   r   r   r   r   <module>r7      s7    
 6f ?555F 5r   