add a standby counter and a enigma2 startcounter
authorghost <andreas.monzner@multimedia-labs.de>
Fri, 25 Sep 2009 10:42:58 +0000 (12:42 +0200)
committerghost <andreas.monzner@multimedia-labs.de>
Fri, 25 Sep 2009 10:42:58 +0000 (12:42 +0200)
config.misc.standbyCount (not saved to /etc/enigma2/settings)
config.misc.startCounter (saved to /etc/enigma2/settings on clean e2 shutdown)

lib/python/Screens/Standby.py
mytest.py

index b8ccb6c2e219d9644e9f8e8a46adb0ce06ef8f29..c598b5459b9209d7ca705ed5d0f93b5e170b740a 100644 (file)
@@ -65,28 +65,26 @@ class Standby(Screen):
                        self.avswitch.setInput("AUX")
                #set lcd brightness to standby value
                config.lcd.standby.apply()
-               self.onShow.append(self.__onShow)
-               self.onHide.append(self.__onHide)
+               self.onFirstExecBegin.append(self.__onFirstExecBegin)
                self.onClose.append(self.__onClose)
 
        def __onClose(self):
+               global inStandby
+               inStandby = None
                if self.prev_running_service:
                        self.session.nav.playService(self.prev_running_service)
                elif self.paused_service:
                        self.paused_service.unPauseService()
+               self.session.screen["Standby"].boolean = False
 
-       def createSummary(self):
-               return StandbySummary
-
-       def __onShow(self):
+       def __onFirstExecBegin(self):
                global inStandby
                inStandby = self
                self.session.screen["Standby"].boolean = True
+               config.misc.standbyCounter.value += 1
 
-       def __onHide(self):
-               global inStandby
-               inStandby = None
-               self.session.screen["Standby"].boolean = False
+       def createSummary(self):
+               return StandbySummary
 
 class StandbySummary(Screen):
        skin = """
index 7f5d598a0a8795c1a32477119d1cc1f72ad6d5f8..e42c10033a6937a52810195ca26cf53a8b8973e4 100755 (executable)
--- a/mytest.py
+++ b/mytest.py
@@ -42,7 +42,7 @@ from skin import readSkin
 
 profile("LOAD:Tools")
 from Tools.Directories import InitFallbackFiles, resolveFilename, SCOPE_PLUGINS, SCOPE_SKIN_IMAGE
-from Components.config import config, configfile, ConfigText, ConfigYesNo
+from Components.config import config, configfile, ConfigText, ConfigYesNo, ConfigInteger, NoSave
 InitFallbackFiles()
 
 profile("ReloadProfiles")
@@ -51,6 +51,20 @@ 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)
+config.misc.startCounter = ConfigInteger(default=0) # number of e2 starts...
+config.misc.standbyCounter = NoSave(ConfigInteger(default=0)) # number of standby
+
+#demo code for use of standby enter leave callbacks
+#def leaveStandby():
+#      print "!!!!!!!!!!!!!!!!!leave standby"
+
+#def standbyCountChanged(configElement):
+#      print "!!!!!!!!!!!!!!!!!enter standby num", configElement.value
+#      from Screens.Standby import inStandby
+#      inStandby.onClose.append(leaveStandby)
+
+#config.misc.standbyCounter.addNotifier(standbyCountChanged, initial_call = False)
+####################################################
 
 def useTransponderTimeChanged(configElement):
        enigma.eDVBLocalTimeHandler.getInstance().setUseDVBTime(configElement.value)
@@ -413,6 +427,8 @@ profile("Load:VolumeControl")
 from Components.VolumeControl import VolumeControl
 
 def runScreenTest():
+       config.misc.startCounter.value += 1
+
        profile("readPluginList")
        plugins.readPluginList(resolveFilename(SCOPE_PLUGINS))
 
@@ -466,6 +482,8 @@ def runScreenTest():
        profile_final()
        runReactor()
 
+       config.misc.startCounter.save()
+
        profile("wakeup")
        from time import time, strftime, localtime
        from Tools.DreamboxHardware import setFPWakeuptime, getFPWakeuptime, setRTCtime