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:
profile("LOAD:Wizard")
from Screens.Wizard import wizardManager
from Screens.DefaultWizard import *
-from Screens.ImageWizard import *
from Screens.StartWizard import *
from Screens.TutorialWizard import *
import Screens.Rc
self.execEnd(last=False)
def popCurrent(self):
- if len(self.dialog_stack):
+ if self.dialog_stack:
(self.current_dialog, do_show) = self.dialog_stack.pop()
self.execBegin(first=False, do_show=do_show)
else:
return dlg
def open(self, screen, *arguments, **kwargs):
- if len(self.dialog_stack) and not self.in_exec:
+ if self.dialog_stack and not self.in_exec:
raise RuntimeError("modal open are allowed only from a screen which is modal!")
# ...unless it's the very first screen.
self.session.open(Screens.Standby.TryQuitMainloop, 1)
def powerlong(self):
+ if Screens.Standby.inTryQuitMainloop or (self.session.current_dialog and not self.session.current_dialog.ALLOW_SUSPEND):
+ return
+
self.standbyblocked = 1
action = config.usage.on_long_powerpress.value
if action == "shutdown":
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")
CiHandler.setSession(session)
- screensToRun = [ ]
-
- for p in plugins.getPlugins(PluginDescriptor.WHERE_WIZARD):
- screensToRun.append(p.__call__)
+ screensToRun = [ p.__call__ for p in plugins.getPlugins(PluginDescriptor.WHERE_WIZARD) ]
profile("wizards")
screensToRun += wizardManager.getWizards()
return
screen = screensToRun[0][1]
+ args = screensToRun[0][2:]
- if len(screensToRun):
- session.openWithCallback(boundFunction(runNextScreen, session, screensToRun[1:]), screen)
+ if screensToRun:
+ session.openWithCallback(boundFunction(runNextScreen, session, screensToRun[1:]), screen, *args)
else:
- session.open(screen)
+ session.open(screen, *args)
runNextScreen(session, screensToRun)
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 = [
]
wakeupList.sort()
recordTimerWakeupAuto = False
- if len(wakeupList):
- startTime = wakeupList.pop(0)
+ 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