65 try: |
65 try: |
66 iter(obj.events) |
66 iter(obj.events) |
67 except AttributeError: |
67 except AttributeError: |
68 raise |
68 raise |
69 except: |
69 except: |
70 raise Exception('bad .events attribute %s on %s' % (obj.events, obj)) |
70 raise Exception('bad .events attribute %s on %s.%s' % ( |
|
71 obj.events, obj.__module__, obj.__name__)) |
71 for event in obj.events: |
72 for event in obj.events: |
72 if event not in ALL_HOOKS: |
73 if event not in ALL_HOOKS: |
73 raise Exception('bad event %s on %s' % (event, obj)) |
74 raise Exception('bad event %s on %s.%s' % ( |
|
75 event, obj.__module__, obj.__name__)) |
74 super(HooksRegistry, self).register(obj, **kwargs) |
76 super(HooksRegistry, self).register(obj, **kwargs) |
75 |
77 |
76 def call_hooks(self, event, req=None, **kwargs): |
78 def call_hooks(self, event, req=None, **kwargs): |
77 kwargs['event'] = event |
79 kwargs['event'] = event |
78 for hook in sorted(self.possible_objects(req, **kwargs), key=lambda x: x.order): |
80 for hook in sorted(self.possible_objects(req, **kwargs), key=lambda x: x.order): |