''' 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