diff options
-rw-r--r-- | ipsutils/task.py | 23 |
1 files changed, 11 insertions, 12 deletions
diff --git a/ipsutils/task.py b/ipsutils/task.py index 94aed14..d64ce2d 100644 --- a/ipsutils/task.py +++ b/ipsutils/task.py @@ -16,6 +16,9 @@ class TaskException(Exception): pass +class InternalTaskException(Exception): + pass + class Controller(object): def __init__(self): self.stack = [] @@ -69,19 +72,15 @@ class Task(object): def task(self): raise NotImplementedError('Task undefined') - - -class NamedTask(object): - def __init__(self, name, func, *args): - self.name = name - self.task = func - self.task_args = args + +class Internal(Task): + def __init__(self, *args, **kwargs): + super(Internal, self).__init__(self, *args, **kwargs) def run(self): - print("+ Running task: {0:s}".format(self.name)) - status = self.task(self.task_args) + if not self.name: + raise InternalTaskException("Unnamed task in : {}".format(self.name)) + print("> Running internal task: {0:s}".format(self.name)) + status = self.task() return status - -class InternalTask(NamedTask): - pass |