""" Created on Jun 15, 2013 @author: Rafael Timmerberg """ class Task: """ Base class for all built-in Tasks. """ def set_task_type(self, taskType): """ sets the type of this task. Be aware! this method can only get called once! params: taskType: the type of this task """ if hasattr(self, "_taskType"): raise Exception("taskType is only allowed to set once!") self.taskType = taskType def get_task_type(self): """ returns the type set by set_type_task """ return self._taskType def execute_task(self, msg): """ this is the method tasks usually override. It gets called anytime the task should get executed default does nothing params: msg: the msg for this task """ pass def _execute(self, taskType, msg): """ internal method which gets called for any member in a hostgroup. It determines if it has an appropriate type by comparing taskType with get_task_type(). Calls execute_task() if the type matches params: taskType: the type of the fail which is compared with get_task_type() msg: the error message return: True if execute_task() is called succesfully, else False """ if self.get_task_type() == taskType: self.execute_task(msg) return True return False