Show system message on bootup (if present)
[enigma2.git] / mytest.py
index efbc34bb4d61e1a63eb572cd61a72b5b6cf8f382..17fdcaf164bc3c5168fec1ad0fb6ef219a89b52e 100755 (executable)
--- a/mytest.py
+++ b/mytest.py
@@ -50,6 +50,11 @@ eDVBDB.getInstance().reloadBouquets()
 
 config.misc.radiopic = ConfigText(default = resolveFilename(SCOPE_SKIN_IMAGE)+"radio.mvi")
 config.misc.isNextRecordTimerAfterEventActionAuto = ConfigYesNo(default=False)
+config.misc.useTransponderTime = ConfigYesNo(default=True)
+
+def useTransponderTimeChanged(configElement):
+       enigma.eDVBLocalTimeHandler.getInstance().setUseDVBTime(configElement.value)
+config.misc.useTransponderTime.addNotifier(useTransponderTimeChanged)
 
 profile("Twisted")
 try:
@@ -371,7 +376,7 @@ class PowerKey:
                        self.standby()
 
        def standby(self):
-               if not Screens.Standby.inStandby and self.session.current_dialog and self.session.current_dialog.ALLOW_SUSPEND:
+               if not Screens.Standby.inStandby and self.session.current_dialog and self.session.current_dialog.ALLOW_SUSPEND and self.session.in_exec:
                        self.session.open(Screens.Standby.Standby)
 
 profile("Scart")
@@ -440,11 +445,12 @@ def runScreenTest():
                        return
 
                screen = screensToRun[0][1]
+               args = screensToRun[0][2:]
 
                if screensToRun:
-                       session.openWithCallback(boundFunction(runNextScreen, session, screensToRun[1:]), screen)
+                       session.openWithCallback(boundFunction(runNextScreen, session, screensToRun[1:]), screen, *args)
                else:
-                       session.open(screen)
+                       session.open(screen, *args)
 
        runNextScreen(session, screensToRun)
 
@@ -461,8 +467,8 @@ def runScreenTest():
        runReactor()
 
        profile("wakeup")
-       from time import time
-       from Tools.DreamboxHardware import setFPWakeuptime, getFPWakeuptime
+       from time import time, strftime, localtime
+       from Tools.DreamboxHardware import setFPWakeuptime, getFPWakeuptime, setRTCtime
        #get currentTime
        nowTime = time()
        wakeupList = [
@@ -474,11 +480,16 @@ def runScreenTest():
        wakeupList.sort()
        recordTimerWakeupAuto = False
        if wakeupList:
+               from time import strftime
                startTime = wakeupList[0]
                if (startTime[0] - nowTime) < 330: # no time to switch box back on
                        wptime = nowTime + 30  # so switch back on in 30 seconds
                else:
                        wptime = startTime[0] - 300
+               if not config.misc.useTransponderTime.value:
+                       print "dvb time sync disabled... so set RTC now to current linux time!", strftime("%Y/%m/%d %H:%M", localtime(nowTime))
+                       setRTCtime(nowTime)
+               print "set wakeup time to", strftime("%Y/%m/%d %H:%M", localtime(wptime))
                setFPWakeuptime(wptime)
                recordTimerWakeupAuto = startTime[1] == 0 and startTime[2]
        config.misc.isNextRecordTimerAfterEventActionAuto.value = recordTimerWakeupAuto