cubicweb/server/hook.py
branch3.27
changeset 12870 2695357a8bfc
parent 12869 50db521e3e53
child 12900 2cc3f481ecd0
equal deleted inserted replaced
12869:50db521e3e53 12870:2695357a8bfc
   246 .. autoclass:: cubicweb.server.hook.DataOperationMixIn
   246 .. autoclass:: cubicweb.server.hook.DataOperationMixIn
   247 """
   247 """
   248 
   248 
   249 from logging import getLogger
   249 from logging import getLogger
   250 from itertools import chain
   250 from itertools import chain
   251 from typing import Union, Tuple
       
   252 
   251 
   253 from logilab.common.decorators import classproperty, cached
   252 from logilab.common.decorators import classproperty, cached
   254 from logilab.common.logging_ext import set_log_methods
   253 from logilab.common.logging_ext import set_log_methods
   255 from logilab.common.registry import (NotPredicate, OrPredicate,
   254 from logilab.common.registry import (NotPredicate, OrPredicate,
   256                                      objectify_predicate)
   255                                      objectify_predicate)
   520 
   519 
   521       else your hooks will be called madly, whatever the event.
   520       else your hooks will be called madly, whatever the event.
   522     """
   521     """
   523     __select__ = enabled_category()
   522     __select__ = enabled_category()
   524     # set this in derivated classes
   523     # set this in derivated classes
       
   524     events = None
   525     category = None
   525     category = None
   526     events: Union[None, Tuple[str], Tuple[str, str]] = None
       
   527     order = 0
   526     order = 0
   528     # stop pylint from complaining about missing attributes in Hooks classes
   527     # stop pylint from complaining about missing attributes in Hooks classes
   529     eidfrom = eidto = entity = rtype = repo = None
   528     eidfrom = eidto = entity = rtype = repo = None
   530 
   529 
   531     @classmethod
   530     @classmethod