X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/98e1d63e94f09905477aa04ed1b6cb91016f48de..f479fb3234634c7e9464f1af81d64b97a08bb0bb:/lib/python/Plugins/SystemPlugins/Satfinder/plugin.py diff --git a/lib/python/Plugins/SystemPlugins/Satfinder/plugin.py b/lib/python/Plugins/SystemPlugins/Satfinder/plugin.py index fc1d3ab3..74568855 100644 --- a/lib/python/Plugins/SystemPlugins/Satfinder/plugin.py +++ b/lib/python/Plugins/SystemPlugins/Satfinder/plugin.py @@ -1,4 +1,4 @@ -from enigma import eTimer, eDVBResourceManager,\ +from enigma import eDVBResourceManager,\ eDVBFrontendParametersSatellite, eDVBFrontendParameters from Screens.Screen import Screen @@ -69,11 +69,11 @@ class Satfinder(ScanSetup): BER - + LOCK - + LOCK Invert @@ -115,6 +115,10 @@ class Satfinder(ScanSetup): self["introduction"].setText("") self["Frontend"] = FrontendStatus(frontend_source = lambda : self.frontend, update_interval = 100) self.initcomplete = True + self.onClose.append(self.__onClose) + + def __onClose(self): + self.session.nav.playService(self.oldref) def createSetup(self): self.typeOfTuningEntry = None @@ -154,10 +158,14 @@ class Satfinder(ScanSetup): if satpos is not None: if self.tuning_type.value == "manual_transponder": returnvalue = (self.scan_sat.frequency.value, self.scan_sat.symbolrate.value, self.scan_sat.polarization.index, self.scan_sat.fec.index, self.scan_sat.inversion.index, satpos) + self.tune(returnvalue) elif self.tuning_type.value == "predefined_transponder": - transponder = nimmanager.getTransponders(satpos)[self.tuning_transponder.index] - returnvalue = (int(transponder[1] / 1000), int(transponder[2] / 1000), transponder[3], transponder[4], 2, satpos) - self.tune(returnvalue) + tps = nimmanager.getTransponders(satpos) + l = len(tps) + if l > self.tuning_transponder.index: + transponder = nimmanager.getTransponders(satpos)[self.tuning_transponder.index] + returnvalue = (int(transponder[1] / 1000), int(transponder[2] / 1000), transponder[3], transponder[4], 2, satpos) + self.tune(returnvalue) def createConfig(self, foo): self.tuning_transponder = None @@ -180,6 +188,7 @@ class Satfinder(ScanSetup): if orb_pos is not None: transponderlist = nimmanager.getTransponders(orb_pos) list = [] + default = None for x in transponderlist: if x[3] == 0: pol = "H" @@ -203,14 +212,23 @@ class Satfinder(ScanSetup): fec = "FEC_5_6" elif x[4] == 5: fec = "FEC_7_8" - elif x[4] == 5: - fec = "FEC_8_9" elif x[4] == 6: + fec = "FEC_8_9" + elif x[4] == 7: + fec = "FEC_3_5" + elif x[4] == 8: + fec = "FEC_4_5" + elif x[4] == 9: + fec = "FEC_9_10" + elif x[4] == 15: fec = "FEC_None" else: fec = "FEC_Unknown" - list.append(str(x[1]) + "," + str(x[2]) + "," + pol + "," + fec) - self.tuning_transponder = ConfigSelection(choices = list) + e = str(x[1]) + "," + str(x[2]) + "," + pol + "," + fec + if default is None: + default = e + list.append(e) + self.tuning_transponder = ConfigSelection(choices = list, default = default) self.tuning_transponder.addNotifier(self.retune, initial_call = False) def keyGo(self): @@ -221,7 +239,8 @@ class Satfinder(ScanSetup): if self.frontend: self.frontend = None del self.raw_channel - self.session.nav.playService(self.oldref) + else: + self.oldref = None self.close(None) def keyCancel(self): @@ -235,7 +254,7 @@ class Satfinder(ScanSetup): if transponder is not None: self.tuner.tune(transponder) -class NimSelection(Screen): +class SatNimSelection(Screen): skin = """ @@ -272,7 +291,7 @@ def SatfinderMain(session, **kwargs): if len(nimList) == 1: session.open(Satfinder, nimList[0]) else: - session.open(NimSelection) + session.open(SatNimSelection) def SatfinderStart(menuid, **kwargs): if menuid == "scan":