diff options
| author | Stefan Pluecken <stefan.pluecken@multimedia-labs.de> | 2009-11-06 17:27:26 +0100 |
|---|---|---|
| committer | Stefan Pluecken <stefan.pluecken@multimedia-labs.de> | 2009-11-06 17:27:26 +0100 |
| commit | 67085f6d562d83aaabae670146935a6efb04b97d (patch) | |
| tree | 98f0623e2c12132050863e6b199a43dd27bf3625 /lib/python | |
| parent | 3f01be7d67fc3663ac0551258d7a3b4ee979ac40 (diff) | |
| parent | 56068e5ec25361c2a06eb9f0133eeebb32cf44c1 (diff) | |
| download | enigma2-67085f6d562d83aaabae670146935a6efb04b97d.tar.gz enigma2-67085f6d562d83aaabae670146935a6efb04b97d.zip | |
Merge branch 'bug_258_sorting_of_configsatlist'
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/Plugins/SystemPlugins/PositionerSetup/plugin.py | 4 | ||||
| -rw-r--r-- | lib/python/Screens/ScanSetup.py | 5 |
4 files changed, 19 insertions, 10 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 d17f7711..9ef6dd94 100755 --- a/lib/python/Components/config.py +++ b/lib/python/Components/config.py @@ -1184,15 +1184,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/Plugins/SystemPlugins/PositionerSetup/plugin.py b/lib/python/Plugins/SystemPlugins/PositionerSetup/plugin.py index fa533c0b..ea62550b 100644 --- a/lib/python/Plugins/SystemPlugins/PositionerSetup/plugin.py +++ b/lib/python/Plugins/SystemPlugins/PositionerSetup/plugin.py @@ -484,8 +484,8 @@ class TunerScreen(ScanSetup): self.updateTransponders() def updateTransponders(self): - if len(tuning.sat.choices): - transponderlist = nimmanager.getTransponders(int(tuning.sat.value)) + if len(tuning.sat.satList): + transponderlist = nimmanager.getTransponders(tuning.sat.orbital_position) tps = [] cnt=0 for x in transponderlist: 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) |
