equal
deleted
inserted
replaced
21 before_delete_relation (session, fromeid, rtype, toeid) |
21 before_delete_relation (session, fromeid, rtype, toeid) |
22 after_delete_relation (session, fromeid, rtype, toeid) |
22 after_delete_relation (session, fromeid, rtype, toeid) |
23 |
23 |
24 |
24 |
25 :organization: Logilab |
25 :organization: Logilab |
26 :copyright: 2001-2008 LOGILAB S.A. (Paris, FRANCE), all rights reserved. |
26 :copyright: 2001-2009 LOGILAB S.A. (Paris, FRANCE), all rights reserved. |
27 :contact: http://www.logilab.fr/ -- mailto:contact@logilab.fr |
27 :contact: http://www.logilab.fr/ -- mailto:contact@logilab.fr |
28 """ |
28 """ |
29 __docformat__ = "restructuredtext en" |
29 __docformat__ = "restructuredtext en" |
30 |
30 |
31 ENTITIES_HOOKS = ('before_add_entity', 'after_add_entity', |
31 ENTITIES_HOOKS = ('before_add_entity', 'after_add_entity', |
180 # self.register_hook(tidy_html_fields('before_add_entity'), 'before_add_entity', '') |
180 # self.register_hook(tidy_html_fields('before_add_entity'), 'before_add_entity', '') |
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 yes_registerer |
186 from cubicweb.common.selectors import yes |
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): |
193 return cls |
193 return cls |
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__ = yes_registerer |
199 __selectors__ = (yes,) |
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 |
243 |
243 |
244 def call(self): |
244 def call(self): |
245 raise NotImplementedError |
245 raise NotImplementedError |
246 |
246 |
247 class SystemHook(Hook): |
247 class SystemHook(Hook): |
248 __registerer__ = yes_registerer |
|
249 accepts = ('',) |
248 accepts = ('',) |
250 |
249 |
251 from logging import getLogger |
250 from logging import getLogger |
252 from cubicweb import set_log_methods |
251 from cubicweb import set_log_methods |
253 set_log_methods(HooksManager, getLogger('cubicweb.hooksmanager')) |
252 set_log_methods(HooksManager, getLogger('cubicweb.hooksmanager')) |