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(nim.diseqcA.getSat())
+ list.append(self.satList[nim.diseqcA.index-1])
if dm in ("toneburst_a_b", "diseqc_a_b", "diseqc_a_b_c_d"):
if nim.diseqcB.orbital_position != 3601:
- list.append(nim.diseqcB.getSat())
+ list.append(self.satList[nim.diseqcB.index-1])
if dm == "diseqc_a_b_c_d":
if nim.diseqcC.orbital_position != 3601:
- list.append(nim.diseqcC.getSat())
+ list.append(self.satList[nim.diseqcC.index-1])
if nim.diseqcD.orbital_position != 3601:
- list.append(nim.diseqcD.getSat())
+ list.append(self.satList[nim.diseqcD.index-1])
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)
- self._satList = list
- choices = [(str(orbpos), desc) for (orbpos, desc, flags) in list]
-
- ConfigSelection.__init__(self, choices = choices, default = default)
+ ConfigSelection.__init__(self, choices = [(str(orbpos), desc) for (orbpos, desc, flags) in list], 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)
self.updateTransponders()
def updateTransponders(self):
- if len(tuning.sat.satList):
- transponderlist = nimmanager.getTransponders(tuning.sat.orbital_position)
+ if len(tuning.sat.choices):
+ transponderlist = nimmanager.getTransponders(int(tuning.sat.value))
tps = []
cnt=0
for x in transponderlist:
assert len(self.scan_satselection) > index_to_scan
nimsats = self.satList[index_to_scan]
- orbpos = self.scan_satselection[index_to_scan].getOrbitalPosition()
+ selsatidx = self.scan_satselection[index_to_scan].index
# 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.scan_satselection[index_to_scan].getSat()
+ sat = self.satList[index_to_scan][self.scan_satselection[index_to_scan].index]
getInitialTransponderList(tlist, sat[0])
elif self.scan_type.value.find("multisat") != -1:
SatList = nimmanager.getSatListForNim(index_to_scan)