fix more ConfigSatlist defaults
[enigma2.git] / lib / python / Components / NimManager.py
index 7677a5026192181ec46413c8092f7e9c1cd61ff5..2ac7b8deda84de85e0b3cf8af46ae2ea4d3f2025 100644 (file)
@@ -1,4 +1,4 @@
-from config import config, ConfigSubsection, ConfigSelection, ConfigFloat, ConfigSatlist, ConfigYesNo, ConfigInteger, ConfigSubList, ConfigNothing, ConfigSubDict
+from config import config, ConfigSubsection, ConfigSelection, ConfigFloat, ConfigSatlist, ConfigYesNo, ConfigInteger, ConfigSubList, ConfigNothing, ConfigSubDict, ConfigOnOff
 
 from enigma import eDVBSatelliteEquipmentControl, \
        eDVBSatelliteLNBParameters as lnbParam, \
@@ -16,6 +16,14 @@ from xml.sax.handler import ContentHandler
 
 from Tools.BoundFunction import boundFunction
 
+def getConfigSatlist(orbpos, satlist):
+       default_orbpos = None
+       for x in satlist:
+               if x[0] == orbpos:
+                       default_orbpos = orbpos
+                       break
+       return ConfigSatlist(satlist, default_orbpos)
+
 def tryOpen(filename):
        try:
                procFile = open(filename)
@@ -416,10 +424,10 @@ class NimManager:
                return (config.Nims[nim].cabletype.value == "quick")
 
        def getTerrestrialDescription(self, nim):
-               return self.terrestrialsList[config.Nims[nim].terrestrial.value][0]
+               return self.terrestrialsList[config.Nims[nim].terrestrial.index][0]
 
        def getTerrestrialFlags(self, nim):
-               return self.terrestrialsList[config.Nims[nim].terrestrial.value][1]
+               return self.terrestrialsList[config.Nims[nim].terrestrial.index][1]
 
        def getConfiguredSats(self):
                return self.sec.getSatList()
@@ -698,8 +706,9 @@ def InitNimManager(nimmgr):
                                        ("diseqc_a_b_c_d", _("DiSEqC A/B/C/D")),
                                        ("positioner", _("Positioner"))],
                                default = "diseqc_a_b")
-                       nim.diseqcA = ConfigSatlist(default = 192, list = nimmgr.satList)
-                       nim.diseqcB = ConfigSatlist(default = 130, list = nimmgr.satList)
+
+                       nim.diseqcA = getConfigSatlist(192, nimmgr.satList)
+                       nim.diseqcB = getConfigSatlist(130, nimmgr.satList)
                        nim.diseqcC = ConfigSatlist(list = nimmgr.satList)
                        nim.diseqcD = ConfigSatlist(list = nimmgr.satList)
                        nim.positionerMode = ConfigSelection(
@@ -730,7 +739,7 @@ def InitNimManager(nimmgr):
                        
                        # advanced config:
                        nim.advanced = ConfigSubsection()
-                       nim.advanced.sats = ConfigSatlist(default = 192, list = nimmgr.satList)
+                       nim.advanced.sats = getConfigSatlist(192,nimmgr.satList)
                        nim.advanced.sat = ConfigSubDict()
                        lnbs = [("0", "not available")]
                        for y in range(1, 33):
@@ -789,8 +798,10 @@ def InitNimManager(nimmgr):
                        nim.cabletype = ConfigSelection(choices = [("quick", _("Quick")), ("complete", _("Complete"))])
                elif slot.nimType == nimmgr.nimType["DVB-T"]:
                        list = []
+                       n = 0
                        for x in nimmgr.terrestrialsList:
-                               list.append(x[0])
+                               list.append((str(n), x[0]))
+                               n += 1
                        nim.terrestrial = ConfigSelection(choices = list)
                        nim.terrestrial_5V = ConfigOnOff()
                else: