progress = property(getProgress)
+ def getStatustext(self):
+ return { self.NOT_STARTED: _("Waiting"), self.IN_PROGRESS: _("In Progress"), self.FINISHED: _("Finished"), self.FAILED: _("Failed") }[self.status]
+
def task_progress_changed_CB(self):
self.state_changed()
def setTool(self, tool):
self.cmd = tool
- self.args = [tool]
self.global_preconditions.append(ToolExistsPrecondition())
self.postconditions.append(ReturncodePostcondition())
self.task_progress_changed = task_progress_changed
from enigma import eConsoleAppContainer
self.container = eConsoleAppContainer()
- self.container.appClosed.get().append(self.processFinished)
- self.container.stdoutAvail.get().append(self.processStdout)
- self.container.stderrAvail.get().append(self.processStderr)
+ self.container.appClosed.append(self.processFinished)
+ self.container.stdoutAvail.append(self.processStdout)
+ self.container.stderrAvail.append(self.processStderr)
assert self.cmd is not None
assert len(self.args) >= 1
if self.cwd is not None:
self.container.setCWD(self.cwd)
- print "execute:", self.container.execute(self.cmd, self.args), self.cmd, " ".join(self.args)
+ #execstr = " ".join([self.cmd]+self.args)
+ print "execute:", self.container.execute(execstr), execstr
if self.initial_input:
self.writeInput(self.initial_input)
self.active_jobs = [ ]
self.failed_jobs = [ ]
self.job_classes = [ ]
+ self.in_background = False
self.active_job = None
def AddJob(self, job):
def jobDone(self, job, task, problems):
print "job", job, "completed with", problems, "in", task
+ from Tools import Notifications
+ if self.in_background:
+ from Screens.TaskView import JobView
+ Notifications.AddNotification(JobView, self.active_job)
if problems:
- from Tools import Notifications
from Screens.MessageBox import MessageBox
if problems[0].RECOVERABLE:
Notifications.AddNotificationWithCallback(self.errorCB, MessageBox, _("Error: %s\nRetry?") % (problems[0].getErrorMessage(task)))
self.active_job = None
self.kick()
+ def getPendingJobs(self):
+ list = [ ]
+ if self.active_job:
+ list.append(self.active_job)
+ list += self.active_jobs
+ return list
# some examples:
#class PartitionExistsPostcondition:
# def __init__(self, device):