X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/927c65c04c7e538a32fa81ac337f541f35eb477d..2a885ae564bd51910fac4cb2f134c7349019df68:/lib/python/Screens/Satconfig.py diff --git a/lib/python/Screens/Satconfig.py b/lib/python/Screens/Satconfig.py index 29219721..bd97948f 100644 --- a/lib/python/Screens/Satconfig.py +++ b/lib/python/Screens/Satconfig.py @@ -1,9 +1,11 @@ +from enigma import eDVBDB from Screen import Screen from Components.ActionMap import ActionMap -from Components.ConfigList import ConfigList, ConfigListScreen +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 @@ -22,22 +24,23 @@ class NimSetup(Screen, ConfigListScreen): list.append(getConfigListEntry(_("Port D"), self.nimConfig.diseqcD)) def createPositionerSetup(self, list): -# list.append(getConfigListEntry(_("Positioner mode"), self.nimConfig.positionerMode)) -# if self.nimConfig.positionerMode.value == "usals": # USALS - list.append(getConfigListEntry(_("Longitude"), self.nimConfig.longitude)) - list.append(getConfigListEntry(" ", self.nimConfig.longitudeOrientation)) - list.append(getConfigListEntry(_("Latitude"), self.nimConfig.latitude)) - list.append(getConfigListEntry(" ", self.nimConfig.latitudeOrientation)) - self.turningSpeed = getConfigListEntry(_("Rotor turning speed"), self.nimConfig.turningSpeed) - self.list.append(self.turningSpeed) - if self.nimConfig.turningSpeed.value == "fast epoch": - self.turnFastEpochBegin = getConfigListEntry(_("Begin time"), self.nimConfig.fastTurningBegin) - self.turnFastEpochEnd = getConfigListEntry(_("End time"), self.nimConfig.fastTurningEnd) - self.list.append(self.turnFastEpochBegin) - self.list.append(self.turnFastEpochEnd) + nim = self.nimConfig + list.append(getConfigListEntry(_("Longitude"), nim.longitude)) + list.append(getConfigListEntry(" ", nim.longitudeOrientation)) + list.append(getConfigListEntry(_("Latitude"), nim.latitude)) + list.append(getConfigListEntry(" ", nim.latitudeOrientation)) -# elif self.nimConfig.positionerMode.value == "manual": # manual -# pass + self.advancedPowerMeasurement = getConfigListEntry(_("Use Power Measurement"), nim.powerMeasurement) + list.append(self.advancedPowerMeasurement) + if nim.powerMeasurement.value: + list.append(getConfigListEntry(_("Power threshold in mA"), nim.powerThreshold)) + self.turningSpeed = getConfigListEntry(_("Rotor turning speed"), nim.turningSpeed) + list.append(self.turningSpeed) + if nim.turningSpeed.value == "fast epoch": + self.turnFastEpochBegin = getConfigListEntry(_("Begin time"), nim.fastTurningBegin) + self.turnFastEpochEnd = getConfigListEntry(_("End time"), nim.fastTurningEnd) + list.append(self.turnFastEpochBegin) + list.append(self.turnFastEpochEnd) def createSetup(self): print "Creating setup" @@ -117,6 +120,7 @@ class NimSetup(Screen, ConfigListScreen): 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)) @@ -137,7 +141,7 @@ class NimSetup(Screen, ConfigListScreen): 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.. @@ -145,7 +149,37 @@ class NimSetup(Screen, ConfigListScreen): dt = datetime(1970, 1, 1, tm.tm_hour, tm.tm_min) x[1].value = int(mktime(dt.timetuple())) x[1].save() + + old_configured_sats = nimmanager.getConfiguredSats() nimmanager.sec.update() + 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 def fillListWithAdvancedSatEntrys(self, Sat): currLnb = self.nimConfig.advanced.lnb[int(Sat.lnb.value)]