server/hooksmanager.py
branchtls-sprint
changeset 719 2a610efe21ce
parent 712 ce49e3885453
child 722 50a99184cf47
equal deleted inserted replaced
718:f7011679437a 719:2a610efe21ce
   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.selectors import yes
   183 from cubicweb.selectors import yes
   184 from cubicweb.common.appobject import AppObject
   184 from cubicweb.common.appobject import AppObject
   185 from cubicweb.common.registerers import yes_registerer
       
   186 
   185 
   187 class autoid(type):
   186 class autoid(type):
   188     """metaclass to create an unique 'id' attribute on the class using it"""
   187     """metaclass to create an unique 'id' attribute on the class using it"""
   189     # XXX is this metaclass really necessary ?
   188     # XXX is this metaclass really necessary ?
   190     def __new__(mcs, name, bases, classdict):
   189     def __new__(mcs, name, bases, classdict):
   193         return cls
   192         return cls
   194 
   193 
   195 class Hook(AppObject):
   194 class Hook(AppObject):
   196     __metaclass__ = autoid
   195     __metaclass__ = autoid
   197     __registry__ = 'hooks'
   196     __registry__ = 'hooks'
   198     __registerer__ = yes_registerer
       
   199     __selectors__ = (yes,)
   197     __selectors__ = (yes,)
   200     # set this in derivated classes
   198     # set this in derivated classes
   201     events = None
   199     events = None
   202     accepts = None
   200     accepts = None
   203     enabled = True
   201     enabled = True