diff options
| author | Stefan Pluecken <stefan.pluecken@multimedia-labs.de> | 2009-11-06 16:23:29 +0100 |
|---|---|---|
| committer | Stefan Pluecken <stefan.pluecken@multimedia-labs.de> | 2009-11-06 16:23:29 +0100 |
| commit | d66c36f6534f32c7362c45965051cf84ccf84ba9 (patch) | |
| tree | 275fc647bcde87cf227400e28e9d1287ca347cec /lib/python | |
| parent | 65ae5578663b82ddf54926047682ec1b6afdf4b6 (diff) | |
| download | enigma2-d66c36f6534f32c7362c45965051cf84ccf84ba9.tar.gz enigma2-d66c36f6534f32c7362c45965051cf84ccf84ba9.zip | |
fixes bug #258
removed some wrong ConfigSatList handling
Diffstat (limited to 'lib/python')
| -rw-r--r-- | lib/python/Components/NimManager.py | 8 | ||||
| -rwxr-xr-x | lib/python/Components/config.py | 12 | ||||
| -rw-r--r-- | lib/python/Screens/ScanSetup.py | 5 |
3 files changed, 17 insertions, 8 deletions
diff --git a/lib/python/Components/NimManager.py b/lib/python/Components/NimManager.py index 5154e2b0..47325327 100644 --- a/lib/python/Components/NimManager.py +++ b/lib/python/Components/NimManager.py @@ -799,15 +799,15 @@ class NimManager: 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) diff --git a/lib/python/Components/config.py b/lib/python/Components/config.py index 49501f95..cf2c5e29 100755 --- a/lib/python/Components/config.py +++ b/lib/python/Components/config.py @@ -1148,15 +1148,25 @@ class ConfigSatlist(ConfigSelection): 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) diff --git a/lib/python/Screens/ScanSetup.py b/lib/python/Screens/ScanSetup.py index d0af8f7e..aed90268 100644 --- a/lib/python/Screens/ScanSetup.py +++ b/lib/python/Screens/ScanSetup.py @@ -729,11 +729,10 @@ class ScanSetup(ConfigListScreen, Screen, CableTransponderSearchSupport): 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: @@ -751,7 +750,7 @@ class ScanSetup(ConfigListScreen, Screen, CableTransponderSearchSupport): 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) |
