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
self.start_prepare = 0
self.justplay = justplay
self.afterEvent = afterEvent
- self.session = None
self.log_entries = []
self.resetState()
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
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