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 Tools.Directories import InitFallbackFiles, resolveFilename, SCOPE_PLUGINS, SCOPE_CURRENT_SKIN
+from Components.config import config, configfile, ConfigText, ConfigYesNo, ConfigInteger, NoSave
InitFallbackFiles()
profile("ReloadProfiles")
eDVBDB.getInstance().reloadBouquets()
-config.misc.radiopic = ConfigText(default = resolveFilename(SCOPE_SKIN_IMAGE)+"radio.mvi")
+config.misc.radiopic = ConfigText(default = resolveFilename(SCOPE_CURRENT_SKIN, "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)
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")
from Components.VolumeControl import VolumeControl
def runScreenTest():
+ config.misc.startCounter.value += 1
+
profile("readPluginList")
plugins.readPluginList(resolveFilename(SCOPE_PLUGINS))
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)
profile_final()
runReactor()
+ config.misc.startCounter.save()
+
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 = [
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
+ if (startTime[0] - nowTime) < 270: # no time to switch box back on
wptime = nowTime + 30 # so switch back on in 30 seconds
else:
- wptime = startTime[0] - 300
+ wptime = startTime[0] - 240
+ 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