def __call__(self, action, *args, **kwargs):
_action = self._actions.get(action)
if _action:
action_logger.debug("Calling action %s on %s" % (action, self.ce))
if isinstance(_action, (types.InstanceType,
types.ObjectType, staticmethod)):
return _action(self.ce, *args, **kwargs)
elif isinstance(_action, types.FunctionType):
return _action(self, *args, **kwargs)
else:
raise UnknownAction(action)
else:
action_logger.error("Unknown action requested :%s" % action)
raise UnknownAction(action)
评论列表
文章目录