
    Og                         d Z ddlZddlZ ej                         dv Zej
                  j                  de      Z G d de      Z		 ddl
mZ esee	ZyeZy# e$ r dZY w xY w)zHookable object support
    N)PyPyJythonPURE_PYTHONc                   x    e Zd ZdZd Zed        Zed        Zed        Zed        Z	ed        Z
d Zd	 Zd
 Zy)_py_hookable	_original_implementationc                     |sd|v r|j                  d      f}|rt        d      t        |      dk7  rt        d      |d   x| _        | _        y )NimplementationzUnknown keyword arguments   zExactly one argument requiredr   )pop	TypeErrorlenr	   r
   selfargskws      Q/var/www/djangounited/venv/lib/python3.12/site-packages/zope/hookable/__init__.py__init__z_py_hookable.__init__   sX    (B.FF+,.D788t9>;<<04Q7-    c                     | j                   S N)r	   r   s    r   originalz_py_hookable.original$   s    ~~r   c                     | j                   S r   r
   r   s    r   r   z_py_hookable.implementation(   s    ###r   c                 .    | j                   j                  S r   )r	   __doc__r   s    r   r   z_py_hookable.__doc__,   s    ~~%%%r   c                 0    t        | j                  di       S )N__dict__getattrr	   r   s    r   r!   z_py_hookable.__dict__0   s    t~~z266r   c                 0    t        | j                  dd      S )N	__bases__ r"   r   s    r   r%   z_py_hookable.__bases__4   s    t~~{B77r   c                 .    | j                   |c}| _         |S r   r   )r   new_callableolds      r   sethookz_py_hookable.sethook8   s    $($8$8,!T!
r   c                 &    | j                   | _        y r   r   r   s    r   resetz_py_hookable.reset<   s    #~~r   c                 &     | j                   |i |S r   r   r   s      r   __call__z_py_hookable.__call__?   s    #t##T0R00r   N)__name__
__module____qualname__	__slots__r   propertyr   r   r   r!   r%   r*   r,   r.   r&   r   r   r   r      s    0I8   $ $ & & 7 7 8 8.1r   r   )hookable)r   osplatformpython_implementation_PYPYenvironget_PURE_PYTHONobjectr   zope.hookable._zope_hookabler4   _c_hookableImportErrorr&   r   r   <module>r@      s{    	  	'&&(,>>zz~~mU3(16 (1VD ;&HH  Ks   A A A 