181 # self.register_hook(tidy_html_fields('before_update_entity'), 'before_update_entity', '') |
181 # self.register_hook(tidy_html_fields('before_update_entity'), 'before_update_entity', '') |
182 |
182 |
183 from cubicweb.vregistry import autoselectors |
183 from cubicweb.vregistry import autoselectors |
184 from cubicweb.common.appobject import AppObject |
184 from cubicweb.common.appobject import AppObject |
185 from cubicweb.common.registerers import accepts_registerer, yes_registerer |
185 from cubicweb.common.registerers import accepts_registerer, yes_registerer |
186 from cubicweb.common.selectors import yes_selector |
186 from cubicweb.common.selectors import yes |
187 |
187 |
188 class autoid(autoselectors): |
188 class autoid(autoselectors): |
189 """metaclass to create an unique 'id' attribute on the class using it""" |
189 """metaclass to create an unique 'id' attribute on the class using it""" |
190 def __new__(mcs, name, bases, classdict): |
190 def __new__(mcs, name, bases, classdict): |
191 cls = super(autoid, mcs).__new__(mcs, name, bases, classdict) |
191 cls = super(autoid, mcs).__new__(mcs, name, bases, classdict) |
194 |
194 |
195 class Hook(AppObject): |
195 class Hook(AppObject): |
196 __metaclass__ = autoid |
196 __metaclass__ = autoid |
197 __registry__ = 'hooks' |
197 __registry__ = 'hooks' |
198 __registerer__ = accepts_registerer |
198 __registerer__ = accepts_registerer |
199 __selectors__ = (yes_selector,) |
199 __selectors__ = (yes,) |
200 # set this in derivated classes |
200 # set this in derivated classes |
201 events = None |
201 events = None |
202 accepts = None |
202 accepts = None |
203 enabled = True |
203 enabled = True |
204 |
204 |