equal
deleted
inserted
replaced
73 if not cls.enabled: |
73 if not cls.enabled: |
74 warn('[3.6] %s: enabled is deprecated' % cls) |
74 warn('[3.6] %s: enabled is deprecated' % cls) |
75 self.unregister(cls) |
75 self.unregister(cls) |
76 |
76 |
77 def register(self, obj, **kwargs): |
77 def register(self, obj, **kwargs): |
78 try: |
|
79 iter(obj.events) |
|
80 except AttributeError: |
|
81 raise |
|
82 except: |
|
83 raise Exception('bad .events attribute %s on %s.%s' % ( |
|
84 obj.events, obj.__module__, obj.__name__)) |
|
85 for event in obj.events: |
78 for event in obj.events: |
86 if event not in ALL_HOOKS: |
79 if event not in ALL_HOOKS: |
87 raise Exception('bad event %s on %s.%s' % ( |
80 raise Exception('bad event %s on %s.%s' % ( |
88 event, obj.__module__, obj.__name__)) |
81 event, obj.__module__, obj.__name__)) |
89 super(HooksRegistry, self).register(obj, **kwargs) |
82 super(HooksRegistry, self).register(obj, **kwargs) |
205 order = 0 |
198 order = 0 |
206 # XXX deprecated |
199 # XXX deprecated |
207 enabled = True |
200 enabled = True |
208 |
201 |
209 @classproperty |
202 @classproperty |
210 def __registries__(self): |
203 def __registries__(cls): |
211 return ['%s_hooks' % ev for ev in self.events] |
204 try: |
|
205 return ['%s_hooks' % ev for ev in cls.events] |
|
206 except AttributeError: |
|
207 raise |
|
208 except TypeError: |
|
209 raise Exception('bad .events attribute %s on %s.%s' % ( |
|
210 cls.events, cls.__module__, cls.__name__)) |
212 |
211 |
213 @classproperty |
212 @classproperty |
214 def __regid__(cls): |
213 def __regid__(cls): |
215 warn('[3.6] %s.%s: please specify an id for your hook' |
214 warn('[3.6] %s.%s: please specify an id for your hook' |
216 % (cls.__module__, cls.__name__), DeprecationWarning) |
215 % (cls.__module__, cls.__name__), DeprecationWarning) |