fix fillSimilarList
[enigma2.git] / lib / python / Components / NimManager.py
index 00f9c18b631ee6ddde06c1a63f21d1a5330ecbd0..22c99520a8b5c669c6aa04483e07ba55e2327725 100644 (file)
@@ -7,15 +7,9 @@ from enigma import eDVBSatelliteEquipmentControl as secClass, \
        eDVBSatelliteRotorParameters as rotorParam, \
        eDVBResourceManager
 
-import xml.dom.minidom
-from xml.dom import EMPTY_NAMESPACE
-from skin import elementsWithTag
-from Tools import XMLTools
-
 from xml.sax import make_parser
 from xml.sax.handler import ContentHandler
 
-from Tools.BoundFunction import boundFunction
 from time import localtime, mktime
 from datetime import datetime
 
@@ -108,6 +102,8 @@ class SecConfigure:
 
                nim_slots = self.NimManager.nim_slots
 
+               used_nim_slots = [ ]
+
                for slot in nim_slots:
                        x = slot.slot
                        nim = slot.config
@@ -116,13 +112,18 @@ class SecConfigure:
                                # this is stored in the *value* (not index!) of the config list
                                if nim.configMode.value == "equal":
                                        self.equal[int(nim.equalTo.value)]=x
-                               if nim.configMode.value == "loopthrough":
+                               elif nim.configMode.value == "loopthrough":
                                        self.linkNIMs(sec, x, int(nim.linkedTo.value))
                                        self.linked[int(nim.linkedTo.value)]=x
                                elif nim.configMode.value == "satposdepends":
                                        self.setSatposDepends(sec, x, int(nim.satposDependsTo.value))
                                        self.satposdepends[int(nim.satposDependsTo.value)]=x
 
+                       if slot.type is not None:
+                               used_nim_slots.append((slot.slot, slot.description, nim.configMode.value != "nothing" and True or False))
+
+               eDVBResourceManager.getInstance().setFrontendSlotInformations(used_nim_slots)
+
                for slot in nim_slots:
                        x = slot.slot
                        nim = slot.config
@@ -769,17 +770,12 @@ def InitNimManager(nimmgr):
        for x in range(len(nimmgr.nim_slots)):
                config.Nims.append(ConfigSubsection())
 
-       used_nim_slots = [ ]
-
        for slot in nimmgr.nim_slots:
                x = slot.slot
                nim = config.Nims[x]
                
                # HACK: currently, we can only looptrough to socket A
 
-               if slot.type is not None:
-                       used_nim_slots.append((slot.slot, slot.description))
-
                if slot.isCompatible("DVB-S"):
                        if slot.slot == 0:
                                nim.configMode = ConfigSelection(
@@ -844,7 +840,8 @@ def InitNimManager(nimmgr):
                        etime = datetime(1970, 1, 1, 19, 0);
                        nim.fastTurningEnd = ConfigDateTime(default = mktime(etime.timetuple()), formatstring = _("%H:%M"), increment = 900)
                        # get other frontends of the same type
-                       satNimList = nimmgr.getNimListOfType(slot.type, slot.slot)
+
+                       satNimList = nimmgr.getNimListOfType("DVB-S", slot.slot)
                        satNimListNames = {}
 
                        for x in satNimList:
@@ -976,8 +973,6 @@ def InitNimManager(nimmgr):
                        print "pls add support for this frontend type!"         
 #                      assert False
 
-       eDVBResourceManager.getInstance().setFrontendSlotInformations(used_nim_slots)
-
        nimmgr.sec = SecConfigure(nimmgr)
 
 nimmanager = NimManager()