X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/2b557e7ef4b0518736c5162a501cd9bc743930b3..39627668ca36cecbc78ec5f677061f128957b550:/RecordTimer.py diff --git a/RecordTimer.py b/RecordTimer.py index ab26f24e..8689c056 100644 --- a/RecordTimer.py +++ b/RecordTimer.py @@ -7,9 +7,11 @@ from Components.config import config, ConfigYesNo import timer import xml.dom.minidom -from enigma import quitMainloop, eEPGCache, getBestPlayableServiceReference, eServiceReference +from enigma import eEPGCache, getBestPlayableServiceReference, eServiceReference from Screens.MessageBox import MessageBox +from Screens.Standby import Standby, TryQuitMainloop, inStandby, inTryQuitMainloop + import NavigationInstance from time import localtime @@ -69,7 +71,6 @@ class RecordTimerEntry(timer.TimerEntry): self.start_prepare = 0 self.justplay = justplay self.afterEvent = afterEvent - self.session = None self.log_entries = [] self.resetState() @@ -122,7 +123,8 @@ class RecordTimerEntry(timer.TimerEntry): if event_id is None: event_id = -1 - if self.record_service.prepare(self.Filename + ".ts", self.begin, self.end, event_id): + prep_res=self.record_service.prepare(self.Filename + ".ts", self.begin, self.end, event_id) + if prep_res: self.log(2, "'prepare' failed: error %d" % prep_res) self.record_service = None return False @@ -137,7 +139,7 @@ class RecordTimerEntry(timer.TimerEntry): self.log(3, "prepare ok, writing meta information to %s" % self.Filename) try: f = open(self.Filename + ".ts.meta", "w") - f.write(str(rec_ref) + "\n") + f.write(rec_ref.toString() + "\n") f.write(self.name + "\n") f.write(self.description + "\n") f.write(str(self.begin) + "\n") @@ -211,12 +213,23 @@ class RecordTimerEntry(timer.TimerEntry): NavigationInstance.instance.stopRecordService(self.record_service) self.record_service = None if self.afterEvent == AFTEREVENT.STANDBY: - if self.session is not None: - self.session.open(Standby, self) - elif self.afterEvent == AFTEREVENT.DEEPSTANDBY: - quitMainloop(1) + global inStandby + if not inStandby: + Notifications.AddNotificationWithCallback(self.sendStandbyNotification, MessageBox, _("A finished record timer wants to set your\nDreambox to standby. Do that now?"), timeout = 20) + if self.afterEvent == AFTEREVENT.DEEPSTANDBY: + global inTryQuitMainloop + if not inTryQuitMainloop: + Notifications.AddNotificationWithCallback(self.sendTryQuitMainloopNotification, MessageBox, _("A finished record timer wants to shut down\nyour Dreambox. Shutdown now?"), timeout = 20) return True + def sendStandbyNotification(self, answer): + if answer: + Notifications.AddNotification(Standby) + + def sendTryQuitMainloopNotification(self, answer): + if answer: + Notifications.AddNotification(TryQuitMainloop, 1) + def getNextActivation(self): if self.state == self.StateEnded: return self.end