Example #1
0
 def test_hit_registered_for_None(self):
     from zope.interface import Interface
     from zope.interface import implementer
     from guillotina.component import getGlobalSiteManager
     class IFoo(Interface):
         pass
     @implementer(IFoo)
     class Baz(object):
         def __init__(self, context):
             self.context = context
     getGlobalSiteManager().registerAdapter(Baz, (None,), IFoo, '')
     ctx = object()
     adapted = IFoo(ctx)
     self.assertTrue(adapted.__class__ is Baz)
     self.assertTrue(adapted.context is ctx)
Example #2
0
 def del_async_utility(self, config):
     self.cancel_async_utility(config['provides'])
     interface = import_class(config['provides'])
     utility = getUtility(interface)
     gsm = getGlobalSiteManager()
     gsm.unregisterUtility(utility, provided=interface)
     del self._async_utilities[config['provides']]
Example #3
0
 def test_hit(self):
     from zope.interface import Interface
     from zope.interface import implementer
     from guillotina.component import getGlobalSiteManager
     class IFoo(Interface):
         pass
     class IBar(Interface):
         pass
     @implementer(IBar)
     class Bar(object):
         pass
     @implementer(IFoo)
     class Baz(object):
         def __init__(self, context):
             self.context = context
     getGlobalSiteManager().registerAdapter(Baz, (IBar,), IFoo, '')
     bar = Bar()
     adapted = IFoo(bar)
     self.assertTrue(adapted.__class__ is Baz)
     self.assertTrue(adapted.context is bar)
Example #4
0
async def get_all_subscribers(context, request):
    subscribers = {
    }
    sm = component.getGlobalSiteManager()
    for registration in sm.registeredHandlers():
        if len(registration.required) != 2:
            continue
        handler = get_dotted_name(registration.handler)
        event = get_dotted_name(registration.required[1])
        resource = get_dotted_name(registration.required[0])
        if resource not in subscribers:
            subscribers[resource] = {}
        if event not in subscribers[resource]:
            subscribers[resource][event] = []
        subscribers[resource][event].append(handler)
    return subscribers