aboutsummaryrefslogtreecommitdiff
path: root/lib/python/Components
diff options
context:
space:
mode:
authorFraxinas <andreas.frisch@multimedia-labs.de>2008-11-05 17:25:52 +0100
committerAndreas Oberritter <obi@saftware.de>2008-11-06 01:52:05 +0100
commitbe092c47edfd4babfd3b4c5ea511710e6458343f (patch)
tree70362e738c41ee577ae5c0df49a5a05b44874a23 /lib/python/Components
parent8ab0666af66fdb08f955daa70b255a5841ea73fb (diff)
downloadenigma2-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')
-rw-r--r--lib/python/Components/Task.py12
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):