don't use interfaces.tmp instead of interfaces file
[enigma2.git] / mytest.py
index 5bc08914afdab5ad1170ae8f1ce3fee90df9c939..e674a29515e194857ff81ae2e40d4f967551fcb7 100644 (file)
--- a/mytest.py
+++ b/mytest.py
@@ -1,6 +1,6 @@
-from Tools import RedirectOutput
+from Tools import RedirectOutput, RedirectTime
 from enigma import runMainloop, eDVBDB, eTimer, quitMainloop, eDVBVolumecontrol, \
-       getDesktop, ePythonConfigQuery, eAVSwitch, eWindow
+       getDesktop, ePythonConfigQuery, eAVSwitch, eWindow, eServiceEvent
 from tools import *
 
 from Components.Language import language
@@ -387,7 +387,7 @@ class VolumeControl:
                                self.muteDialog.hide()
                                self.volumeDialog.setValue(vol)
 
-from Screens.Standby import Standby, TryQuitMainloop, inTryQuitMainloop
+import Screens.Standby
 
 class PowerKey:
        """ PowerKey stuff - handles the powerkey press and powerkey release actions"""
@@ -398,7 +398,7 @@ class PowerKey:
                self.powerKeyTimer.timeout.get().append(self.powertimer)
                globalActionMap.actions["powerdown"]=self.powerdown
                globalActionMap.actions["powerup"]=self.powerup
-               self.standbyblocked = 0
+               self.standbyblocked = 1
 #              self["PowerKeyActions"] = HelpableActionMap(self, "PowerKeyActions",
                        #{
                                #"powerdown": self.powerdown,
@@ -409,9 +409,8 @@ class PowerKey:
 
        def powertimer(self):   
                print "PowerOff - Now!"
-               global inTryQuitMainloop
-               if not inTryQuitMainloop:
-                       self.session.open(TryQuitMainloop, 1)
+               if not Screens.Standby.inTryQuitMainloop:
+                       self.session.open(Screens.Standby.TryQuitMainloop, 1)
        
        def powerdown(self):
                self.standbyblocked = 0
@@ -424,8 +423,8 @@ class PowerKey:
                        self.standby()
 
        def standby(self):
-               if self.session.current_dialog and self.session.current_dialog.ALLOW_SUSPEND:
-                       self.session.open(Standby)
+               if not Screens.Standby.inStandby and self.session.current_dialog and self.session.current_dialog.ALLOW_SUSPEND:
+                       self.session.open(Screens.Standby.Standby)
 
 from Screens.Scart import Scart
 
@@ -494,13 +493,21 @@ def runScreenTest():
 
        from time import time
        from Tools.DreamboxHardware import setFPWakeuptime
+       #get next record timer start time
        nextRecordingTime = session.nav.RecordTimer.getNextRecordingTime()
-       if nextRecordingTime != -1:
-               if (nextRecordingTime - time() < 330): # no time to switch box back on
-                       setFPWakeuptime(time() + 30) # so switch back on in 30 seconds
+       #get next zap timer start time
+       nextZapTime = session.nav.RecordTimer.getNextZapTime()
+       #get currentTime
+       nowTime = time()
+       if nextZapTime != -1 and nextRecordingTime != -1:
+               startTime = nextZapTime < nextRecordingTime and nextZapTime or nextRecordingTime
+       else:
+               startTime = nextZapTime != -1 and nextZapTime or nextRecordingTime
+       if startTime != -1:
+               if (startTime - nowTime < 330): # no time to switch box back on
+                       setFPWakeuptime(nowTime + 30) # so switch back on in 30 seconds
                else:
-                       setFPWakeuptime(nextRecordingTime - (300))
-       
+                       setFPWakeuptime(startTime - 300)
        session.nav.stopService()
        session.nav.shutdown()