o
    ,ò¿W$  ã                   @   s   d Z G dd„ deƒZdS )zG This module supplies a pure-Python version of zope.hookable.hookable.
c                   @   sH   e Zd ZdZedd„ ƒZedd„ ƒZdd„ Zdd„ Zd	d
„ Z	dd„ Z
dS )Úhookable)Ú
__originalÚ__implementationc                 C   ó   | j S ©N)Ú_hookable__original©Úself© r	   ú9/usr/lib/python3/dist-packages/zope/component/hookable.pyÚ<lambda>   ó    zhookable.<lambda>c                 C   r   r   ©Ú_hookable__implementationr   r	   r	   r
   r      r   c                 C   s   | | _ | _d S r   ©r   r   )r   Úimplementationr	   r	   r
   Ú__init__   ó   zhookable.__init__c                 C   s   | j |}| _ |S r   r   )r   ÚnewimplementationÚoldr	   r	   r
   Úsethook   s   zhookable.sethookc                 C   s   | j | _d S r   r   r   r	   r	   r
   Úreset   s   zhookable.resetc                 O   s   | j |i |¤ŽS r   r   )r   ÚargsÚkwr	   r	   r
   Ú__call__    r   zhookable.__call__N)Ú__name__Ú
__module__Ú__qualname__Ú	__slots__ÚpropertyÚoriginalr   r   r   r   r   r	   r	   r	   r
   r      s    r   N)Ú__doc__Úobjectr   r	   r	   r	   r
   Ú<module>   s   