dm = nim.diseqcMode.value
if dm in ("single", "toneburst_a_b", "diseqc_a_b", "diseqc_a_b_c_d"):
if nim.diseqcA.orbital_position != 3601:
- list.append(self.satList[nim.diseqcA.index-1])
+ list.append(nim.diseqcA.getSat())
if dm in ("toneburst_a_b", "diseqc_a_b", "diseqc_a_b_c_d"):
if nim.diseqcB.orbital_position != 3601:
- list.append(self.satList[nim.diseqcB.index-1])
+ list.append(nim.diseqcB.getSat())
if dm == "diseqc_a_b_c_d":
if nim.diseqcC.orbital_position != 3601:
- list.append(self.satList[nim.diseqcC.index-1])
+ list.append(nim.diseqcC.getSat())
if nim.diseqcD.orbital_position != 3601:
- list.append(self.satList[nim.diseqcD.index-1])
+ list.append(nim.diseqcD.getSat())
if dm == "positioner":
for x in self.satList:
list.append(x)
def __init__(self, list, default = None):
if default is not None:
default = str(default)
+ list.sort(key = lambda x: int(x[0]))
+ self._satList = list
choices = [(str(orbpos), desc) for (orbpos, desc, flags) in list]
- choices.sort(key = lambda x: int(x[0]))
ConfigSelection.__init__(self, choices = choices, default = default)
+ # use this function to get the orbital position, don't rely on .index
def getOrbitalPosition(self):
if self.value == "":
return None
return int(self.value)
+
+ def getSatList(self):
+ return self._satList
+
+ def getSat(self):
+ return self.satList[self.index]
+
+ satList = property(getSatList)
orbital_position = property(getOrbitalPosition)
assert len(self.scan_satselection) > index_to_scan
nimsats = self.satList[index_to_scan]
- selsatidx = self.scan_satselection[index_to_scan].index
+ orbpos = self.scan_satselection[index_to_scan].getOrbitalPosition()
# however, the satList itself could be empty. in that case, "index" is 0 (for "None").
if len(nimsats):
- orbpos = nimsats[selsatidx][0]
if self.scan_sat.system.value == eDVBFrontendParametersSatellite.System_DVB_S:
fec = self.scan_sat.fec.value
else:
self.scan_sat.pilot.value)
removeAll = False
elif self.scan_type.value == "single_satellite":
- sat = self.satList[index_to_scan][self.scan_satselection[index_to_scan].index]
+ sat = self.scan_satselection[index_to_scan].getSat()
getInitialTransponderList(tlist, sat[0])
elif self.scan_type.value.find("multisat") != -1:
SatList = nimmanager.getSatListForNim(index_to_scan)