server/hook.py
changeset 3383 c6aff16e5aed
parent 3376 f5c69485381f
child 3396 fb261afd49cd
equal deleted inserted replaced
3382:435286b8fe10 3383:c6aff16e5aed
   135     # XXX deprecated
   135     # XXX deprecated
   136     enabled = True
   136     enabled = True
   137 
   137 
   138     @classproperty
   138     @classproperty
   139     def __regid__(cls):
   139     def __regid__(cls):
   140         warn('[3.6] %s: please specify an id for your hook' % cls)
   140         warn('[3.6] %s.%s: please specify an id for your hook'
       
   141              % (cls.__module__, cls.__name__), DeprecationWarning)
   141         return str(id(cls))
   142         return str(id(cls))
   142 
   143 
   143     @classmethod
   144     @classmethod
   144     def __registered__(cls, vreg):
   145     def __registered__(cls, vreg):
   145         super(Hook, cls).__registered__(vreg)
   146         super(Hook, cls).__registered__(vreg)
   146         if getattr(cls, 'accepts', None):
   147         if getattr(cls, 'accepts', None):
   147             warn('[3.6] %s: accepts is deprecated, define proper __select__' % cls)
   148             warn('[3.6] %s.%s: accepts is deprecated, define proper __select__'
       
   149                  % (cls.__module__, cls.__name__), DeprecationWarning)
   148             rtypes = []
   150             rtypes = []
   149             for ertype in cls.accepts:
   151             for ertype in cls.accepts:
   150                 if ertype.islower():
   152                 if ertype.islower():
   151                     rtypes.append(ertype)
   153                     rtypes.append(ertype)
   152                 else:
   154                 else:
   163         super(Hook, self).__init__(req, **kwargs)
   165         super(Hook, self).__init__(req, **kwargs)
   164         self.event = event
   166         self.event = event
   165 
   167 
   166     def __call__(self):
   168     def __call__(self):
   167         if hasattr(self, 'call'):
   169         if hasattr(self, 'call'):
   168             warn('[3.6] %s: call is deprecated, implements __call__' % self.__class__,
   170             cls = self.__class__
   169                  DeprecationWarning)
   171             warn('[3.6] %s.%s: call is deprecated, implements __call__'
       
   172                  % (cls.__module__, cls.__name__), DeprecationWarning)
   170             if self.event.endswith('_relation'):
   173             if self.event.endswith('_relation'):
   171                 self.call(self._cw, self.eidfrom, self.rtype, self.eidto)
   174                 self.call(self._cw, self.eidfrom, self.rtype, self.eidto)
   172             elif 'delete' in self.event:
   175             elif 'delete' in self.event:
   173                 self.call(self._cw, self.entity.eid)
   176                 self.call(self._cw, self.entity.eid)
   174             elif self.event.startswith('server_'):
   177             elif self.event.startswith('server_'):