linspector-old/lib/tasks/task.py
Rafael.Timmerberg 1a9841d6f6 added rest
2013-06-18 01:50:01 +02:00

60 lines
No EOL
1.6 KiB
Python

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