+from enigma import eDVBDB
from Screen import Screen
from Components.ActionMap import ActionMap
from Components.ConfigList import ConfigListScreen
from Components.MenuList import MenuList
from Components.NimManager import nimmanager
from Components.config import getConfigListEntry, config, ConfigNothing
+from Screens.MessageBox import MessageBox
from time import mktime, localtime
from datetime import datetime
self.have_advanced = False
elif self.nim.isCompatible("DVB-T"):
self.configMode = getConfigListEntry(_("Configuration Mode"), self.nimConfig.configMode)
+ self.list.append(self.configMode)
self.have_advanced = False
if self.nimConfig.configMode.value == "enabled":
self.list.append(getConfigListEntry(_("Terrestrial provider"), self.nimConfig.terrestrial))
def run(self):
if self.have_advanced and self.nim.config_mode == "advanced":
self.fillAdvancedList()
- for x in self["config"].list:
+ for x in self.list:
if x in [self.turnFastEpochBegin, self.turnFastEpochEnd]:
# workaround for storing only hour*3600+min*60 value in configfile
# not really needed.. just for cosmetics..
self["config"].list = self.list
def keySave(self):
+ old_configured_sats = nimmanager.getConfiguredSats()
self.run()
- self.close()
+ new_configured_sats = nimmanager.getConfiguredSats()
+ self.unconfed_sats = old_configured_sats - new_configured_sats
+ self.satpos_to_remove = None
+ self.deleteConfirmed(False)
+
+ def deleteConfirmed(self, confirmed):
+ if confirmed:
+ eDVBDB.getInstance().removeServices(-1, -1, -1, self.satpos_to_remove)
+
+ if self.satpos_to_remove is not None:
+ self.unconfed_sats.remove(self.satpos_to_remove)
+
+ self.satpos_to_remove = None
+ for orbpos in self.unconfed_sats:
+ self.satpos_to_remove = orbpos
+ orbpos = self.satpos_to_remove
+ try:
+ # why we need this cast?
+ sat_name = str(nimmanager.getSatDescription(orbpos))
+ except:
+ if orbpos > 1800: # west
+ orbpos = 3600 - orbpos
+ h = _("W")
+ else:
+ h = _("E")
+ sat_name = ("%d.%d" + h) % (orbpos / 10, orbpos % 10)
+ self.session.openWithCallback(self.deleteConfirmed, MessageBox, _("Delete no more configured satellite\n%s?") %(sat_name))
+ break
+ if not self.satpos_to_remove:
+ self.close()
def __init__(self, session, slotid):
Screen.__init__(self, session)