ó
6j/Qc           @   s*  d  Z  d d l m Z d d l m Z d d l m Z d d l m Z d d l	 m
 Z
 d „  Z d e f d	 „  ƒ  YZ e e ƒ d
 e f d „  ƒ  Yƒ Z e d ƒ Z y d d l m Z Wn e k
 rÊ n Xe d „  ƒ [ e Z d „  Z d e
 d „ Z d d e
 d „ Z d d d „ Z d d „ Z d S(   s   Global components support
iÿÿÿÿ(   t   implementer(   t   AdapterRegistry(   t
   Components(   t   IComponentLookup(   t   _BLANKc         C   s   t  |  | ƒ S(   N(   t   getattr(   t
   componentst   registryName(    (    sA   /usr/lib/python2.7/site-packages/zope/component/globalregistry.pyt   GAR   s    t   GlobalAdapterRegistryc           B   s    e  Z d  Z d „  Z d „  Z RS(   s~   A global adapter registry

    This adapter registry's main purpose is to be picklable in combination
    with a site manager.c         C   s)   | |  _  | |  _ t t |  ƒ j ƒ  d  S(   N(   t
   __parent__t   __name__t   superR	   t   __init__(   t   selft   parentt   name(    (    sA   /usr/lib/python2.7/site-packages/zope/component/globalregistry.pyR       s    		c         C   s   t  |  j |  j f f S(   N(   R   R
   R   (   R   (    (    sA   /usr/lib/python2.7/site-packages/zope/component/globalregistry.pyt
   __reduce__%   s    (   R   t
   __module__t   __doc__R   R   (    (    (    sA   /usr/lib/python2.7/site-packages/zope/component/globalregistry.pyR	      s   	t   BaseGlobalComponentsc           B   s   e  Z d  „  Z d „  Z RS(   c         C   s(   t  |  d ƒ |  _ t  |  d ƒ |  _ d  S(   Nt   adapterst	   utilities(   R	   R   R   (   R   (    (    sA   /usr/lib/python2.7/site-packages/zope/component/globalregistry.pyt   _init_registries+   s    c         C   s   |  j  S(   N(   R   (   R   (    (    sA   /usr/lib/python2.7/site-packages/zope/component/globalregistry.pyR   /   s    (   R   R   R   R   (    (    (    sA   /usr/lib/python2.7/site-packages/zope/component/globalregistry.pyR   (   s   	t   base(   t
   addCleanUpc           C   s   t  j d ƒ S(   NR   (   R   R   (    (    (    sA   /usr/lib/python2.7/site-packages/zope/component/globalregistry.pyt   <lambda>:   s    c           C   s   t  S(   N(   t   globalSiteManager(    (    (    sA   /usr/lib/python2.7/site-packages/zope/component/globalregistry.pyt   getGlobalSiteManager>   s    c         C   s   t  j |  | | d t ƒd  S(   Nt   event(   R   t   registerUtilityt   False(   t	   componentt   providesR   (    (    sA   /usr/lib/python2.7/site-packages/zope/component/globalregistry.pyt   provideUtilityE   s    c         C   s    t  j |  | | | d t ƒd  S(   NR   (   R   t   registerAdapterR   (   t   factoryt   adaptsR!   R   (    (    sA   /usr/lib/python2.7/site-packages/zope/component/globalregistry.pyt   provideAdapterH   s    c         C   s   t  j |  | | d t ƒd  S(   NR   (   R   t   registerSubscriptionAdapterR   (   R$   R%   R!   (    (    sA   /usr/lib/python2.7/site-packages/zope/component/globalregistry.pyt   provideSubscriptionAdapterK   s    c         C   s   t  j |  | d t ƒd  S(   NR   (   R   t   registerHandlerR   (   R$   R%   (    (    sA   /usr/lib/python2.7/site-packages/zope/component/globalregistry.pyt   provideHandlerN   s    N(   R   t   zope.interfaceR    t   zope.interface.adapterR   t   zope.interface.registryR   t   zope.component.interfacesR   t   zope.component._compatR   R   R	   R   R   t   zope.testing.cleanupR   t   ImportErrorR   R   t   NoneR"   R&   R(   R*   (    (    (    sA   /usr/lib/python2.7/site-packages/zope/component/globalregistry.pyt   <module>   s,   	
	