X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/a15fb97d2595fd6dedca2f97ca8b875cd789e730..bb349d44c5c3e963d25f31c085e92407d2c2b0a9:/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 90650406..064ac673 100644 --- a/lib/python/Plugins/SystemPlugins/Satfinder/plugin.py +++ b/lib/python/Plugins/SystemPlugins/Satfinder/plugin.py @@ -39,46 +39,6 @@ class Tuner: self.frontend.tune(self.lastparm) class Satfinder(ScanSetup): - skin = """ - - - - - - - - - - SNRdB - - - SNR - - - AGC - - - BER - - - SNR - - - AGC - - - BER - - - LOCK - - - - LOCK - Invert - - """ - def openFrontend(self): res_mgr = eDVBResourceManager.getInstance() if res_mgr: @@ -115,6 +75,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 +118,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 +148,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" @@ -215,8 +184,11 @@ class Satfinder(ScanSetup): 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): @@ -227,7 +199,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): @@ -241,7 +214,7 @@ class Satfinder(ScanSetup): if transponder is not None: self.tuner.tune(transponder) -class NimSelection(Screen): +class SatNimSelection(Screen): skin = """ @@ -278,7 +251,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":