some logic to detect useable nims for rotor plugin
[enigma2.git] / lib / python / Components / NimManager.py
index 950f48fdabd632c55c88c186c166658c7fbb2fec..824f9f71df253ee1581db16ffe9c4ef9a2c333d2 100644 (file)
@@ -434,7 +434,6 @@ class NimManager:
        def getTerrestrialFlags(self, nim):
                return self.terrestrialsList[config.Nims[nim].terrestrial.value][1]
 
-
        def getConfiguredSats(self):
                return self.sec.getSatList()
 
@@ -600,6 +599,28 @@ class NimManager:
                                                list.append(x)
                return list
 
+       def getRotorSatListForNim(self, slotid):
+               list = []
+               if (self.getNimType(slotid) == self.nimType["DVB-S"]):
+                       #print "slotid:", slotid
+
+                       #print "self.satellites:", self.satList[config.Nims[slotid].diseqcA.value]
+                       #print "diseqcA:", config.Nims[slotid].diseqcA.value
+                       configMode = currentConfigSelectionElement(config.Nims[slotid].configMode)
+                       if configMode == "simple":
+                               if (config.Nims[slotid].diseqcMode.value == 4):
+                                       for x in self.satList:
+                                               list.append(x)
+                       elif configMode == "advanced":
+                               for x in self.satList:
+                                       nim = config.Nims[slotid]
+                                       lnbnum = nim.advanced.sat[x[1]].lnb.value
+                                       if lnbnum != 0:
+                                               lnb = nim.advanced.lnb[lnbnum]
+                                               if lnb.diseqcMode.value == 3: # diseqc 1.2
+                                                       list.append(x)
+               return list
+
        def nimDiseqcModeChanged(self, slotid, mode):
                #print "nimDiseqcModeChanged set to " + str(mode)
                pass