From: Felix Domke Date: Wed, 30 Nov 2005 00:55:58 +0000 (+0000) Subject: timer: stop user services if user wants it so X-Git-Url: http://code.vuplus.com/gitweb/?p=vuplus_dvbapp;a=commitdiff_plain;h=8c446ddb6c42ea330318ae62347b4b86beeb3004 timer: stop user services if user wants it so --- diff --git a/RecordTimer.py b/RecordTimer.py index 602828a..4724876 100644 --- a/RecordTimer.py +++ b/RecordTimer.py @@ -56,36 +56,55 @@ class RecordTimerEntry(timer.TimerEntry): # # print "------------ record filename: %s" % (self.Filename) - + def tryPrepare(self): + self.calculateFilename() + self.record_service = NavigationInstance.instance.recordService(self.service_ref) + if self.record_service == None: + return False + else: + if self.record_service.prepare(self.Filename + ".ts"): + self.record_service = None + return False + + f = open(self.Filename + ".ts.meta", "w") + f.write(str(self.service_ref) + "\n") + f.write(self.epg_data + "\n") + del f + return True + def activate(self, event): if event == self.EventPrepare: - self.calculateFilename() - self.record_service = NavigationInstance.instance.recordService(self.service_ref) - if self.record_service == None: - print "timer record failed." - else: - if self.record_service.prepare(self.Filename + ".ts"): - # error. - Notifications.AddNotificationWithCallback(self.failureCB, MessageBox, _("A timer failed to record!\nReason: unknown.")) - - f = open(self.Filename + ".ts.meta", "w") - f.write(str(self.service_ref) + "\n") - f.write(self.epg_data + "\n") - del f + self.prepareOK = False + if self.tryPrepare(): + self.prepareOK = True + else: + # error. + Notifications.AddNotificationWithCallback(self.failureCB, MessageBox, _("A timer failed to record!\nDisable TV and try again?\n")) elif self.record_service == None: if event != self.EventAbort: print "timer record start failed, can't finish recording." elif event == self.EventStart: - self.record_service.start() - print "timer started!" + if self.prepareOK: + self.record_service.start() + print "timer started!" + else: + print "prepare failed, thus start failed, too." elif event == self.EventEnd or event == self.EventAbort: - self.record_service.stop() - self.record_service = None - print "Timer successfully ended" + if self.prepareOK: + self.record_service.stop() + self.record_service = None + print "Timer successfully ended" + else: + print "prepare failed, thus nothing was recorded." + + def abort(): + # fixme + pass def failureCB(self, answer): if answer == True: - print "kill user to record" + NavigationInstance.instance.stopUserServices() + self.activate(self.EventPrepare) else: print "user killed record" diff --git a/timer.py b/timer.py index f5aee84..87ecfa9 100644 --- a/timer.py +++ b/timer.py @@ -15,7 +15,7 @@ class TimerEntry: def __init__(self, begin, end): self.begin = begin - self.prepare_time = 10 + self.prepare_time = 20 self.end = end self.state = 0 self.resetRepeated()