server/hook.py
changeset 6782 b5d6f5391695
parent 6767 0a18f25c16a7
child 6784 562dd184cbc7
equal deleted inserted replaced
6762:812445504835 6782:b5d6f5391695
   305     def __init__(self, vreg):
   305     def __init__(self, vreg):
   306         self.vreg = vreg
   306         self.vreg = vreg
   307 
   307 
   308     def call_hooks(self, event, session=None, **kwargs):
   308     def call_hooks(self, event, session=None, **kwargs):
   309         try:
   309         try:
   310             self.vreg['%s_hooks' % event].call_hooks(event, session, **kwargs)
   310             registry = self.vreg['%s_hooks' % event]
   311         except RegistryNotFound:
   311         except RegistryNotFound:
   312             pass # no hooks for this event
   312             return # no hooks for this event
       
   313         registry.call_hooks(event, session, **kwargs)
   313 
   314 
   314 
   315 
   315 for event in ALL_HOOKS:
   316 for event in ALL_HOOKS:
   316     VRegistry.REGISTRY_FACTORY['%s_hooks' % event] = HooksRegistry
   317     VRegistry.REGISTRY_FACTORY['%s_hooks' % event] = HooksRegistry
   317 
   318 
   352     """
   353     """
   353     def __init__(self, *expected, **more):
   354     def __init__(self, *expected, **more):
   354         self.expected = expected
   355         self.expected = expected
   355         self.frometypes = more.pop('frometypes', None)
   356         self.frometypes = more.pop('frometypes', None)
   356         self.toetypes = more.pop('toetypes', None)
   357         self.toetypes = more.pop('toetypes', None)
       
   358         assert not more, "unexpected kwargs in match_rtype: %s" % more
   357 
   359 
   358     @lltrace
   360     @lltrace
   359     def __call__(self, cls, req, *args, **kwargs):
   361     def __call__(self, cls, req, *args, **kwargs):
   360         if kwargs.get('rtype') not in self.expected:
   362         if kwargs.get('rtype') not in self.expected:
   361             return 0
   363             return 0