aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ipsutils/task.py23
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