diff options
| author | Fraxinas <andreas.frisch@multimedia-labs.de> | 2008-11-05 17:25:52 +0100 |
|---|---|---|
| committer | Andreas Oberritter <obi@saftware.de> | 2008-11-06 01:52:05 +0100 |
| commit | be092c47edfd4babfd3b4c5ea511710e6458343f (patch) | |
| tree | 70362e738c41ee577ae5c0df49a5a05b44874a23 /lib/python/Components/Task.py | |
| parent | 8ab0666af66fdb08f955daa70b255a5841ea73fb (diff) | |
| download | enigma2-be092c47edfd4babfd3b4c5ea511710e6458343f.tar.gz enigma2-be092c47edfd4babfd3b4c5ea511710e6458343f.zip | |
allow setting progress for current task from within resident task, implement rudimentary progress for mplextask in dvdburn (requires dvdauthor patch)
Diffstat (limited to 'lib/python/Components/Task.py')
| -rw-r--r-- | lib/python/Components/Task.py | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/lib/python/Components/Task.py b/lib/python/Components/Task.py index b276438f..9a768425 100644 --- a/lib/python/Components/Task.py +++ b/lib/python/Components/Task.py @@ -45,6 +45,7 @@ class Job(object): def addTask(self, task): task.job = self + task.task_progress_changed = self.task_progress_changed_CB self.tasks.append(task) def start(self, callback): @@ -70,7 +71,7 @@ class Job(object): else: print "still waiting for %d resident task(s) %s to finish" % (len(self.resident_tasks), str(self.resident_tasks)) else: - self.tasks[self.current_task].run(self.taskCallback, self.task_progress_changed_CB) + self.tasks[self.current_task].run(self.taskCallback) self.state_changed() def taskCallback(self, task, res, stay_resident = False): @@ -151,7 +152,7 @@ class Task(object): not_met.append(precondition) return not_met - def run(self, callback, task_progress_changed): + def run(self, callback): failed_preconditions = self.checkPreconditions(True) + self.checkPreconditions(False) if len(failed_preconditions): callback(self, failed_preconditions) @@ -159,7 +160,6 @@ class Task(object): self.prepare() self.callback = callback - self.task_progress_changed = task_progress_changed from enigma import eConsoleAppContainer self.container = eConsoleAppContainer() self.container.appClosed.append(self.processFinished) @@ -235,7 +235,8 @@ class Task(object): if progress < 0: progress = 0 self.__progress = progress - self.task_progress_changed() + if self.task_progress_changed: + self.task_progress_changed() progress = property(getProgress, setProgress) @@ -372,7 +373,8 @@ class ToolExistsPrecondition(Condition): return _("A required tool (%s) was not found.") % (self.realpath) class AbortedPostcondition(Condition): - pass + def getErrorMessage(self, task): + return "Cancelled upon user request" class ReturncodePostcondition(Condition): def check(self, task): |
