ó
6j/Qc           @   s    d  Z  d e f d „  ƒ  YZ d S(   sG    This module supplies a pure-Python version of zope.hookable.hookable.
t   hookablec           B   sP   e  Z d Z e d „  ƒ Z e d „  ƒ Z d „  Z d „  Z d „  Z d „  Z	 RS(	   t
   __originalt   __implementationc         C   s   |  j  S(   N(   t   _hookable__original(   t   self(    (    s;   /usr/lib/python2.7/site-packages/zope/component/hookable.pyt   <lambda>   s    c         C   s   |  j  S(   N(   t   _hookable__implementation(   R   (    (    s;   /usr/lib/python2.7/site-packages/zope/component/hookable.pyR      s    c         C   s   | |  _  |  _ d  S(   N(   R   R   (   R   t   implementation(    (    s;   /usr/lib/python2.7/site-packages/zope/component/hookable.pyt   __init__   s    c         C   s   |  j  | } |  _  | S(   N(   R   (   R   t   newimplementationt   old(    (    s;   /usr/lib/python2.7/site-packages/zope/component/hookable.pyt   sethook   s    c         C   s   |  j  |  _ d  S(   N(   R   R   (   R   (    (    s;   /usr/lib/python2.7/site-packages/zope/component/hookable.pyt   reset   s    c         O   s   |  j  | | Ž  S(   N(   R   (   R   t   argst   kw(    (    s;   /usr/lib/python2.7/site-packages/zope/component/hookable.pyt   __call__    s    (   s
   __originals   __implementation(
   t   __name__t
   __module__t	   __slots__t   propertyt   originalR   R   R   R   R   (    (    (    s;   /usr/lib/python2.7/site-packages/zope/component/hookable.pyR       s   			N(   t   __doc__t   objectR    (    (    (    s;   /usr/lib/python2.7/site-packages/zope/component/hookable.pyt   <module>   s   