From 6f281bfa8fb9eccc5e623b67c39f5b9e478eeeb0 Mon Sep 17 00:00:00 2001 From: ghost Date: Mon, 19 Jan 2009 21:02:12 +0100 Subject: allow non string choices in ConfigSelection --- lib/python/Components/config.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'lib/python/Components') diff --git a/lib/python/Components/config.py b/lib/python/Components/config.py index 1efb8a56..a7724f40 100755 --- a/lib/python/Components/config.py +++ b/lib/python/Components/config.py @@ -183,9 +183,8 @@ class ConfigSelection(ConfigElement): default = self.choices[0] assert default in self.choices, "default must be in choice list, but " + repr(default) + " is not!" - for x in self.choices: - assert isinstance(x, str), "ConfigSelection choices must be strings" - +# for x in self.choices: +# assert isinstance(x, str), "ConfigSelection choices must be strings" self.default = default if self.value == None or not self.value in self.choices: -- cgit v1.2.3 From f3c7b0323c40580aadbfd2c91be681fe97a20071 Mon Sep 17 00:00:00 2001 From: ghost Date: Mon, 19 Jan 2009 22:56:05 +0100 Subject: more codecleanup --- lib/python/Components/TuneTest.py | 16 ++++++-- .../SystemPlugins/PositionerSetup/plugin.py | 44 +++------------------- .../Plugins/SystemPlugins/Satfinder/plugin.py | 1 - 3 files changed, 18 insertions(+), 43 deletions(-) (limited to 'lib/python/Components') diff --git a/lib/python/Components/TuneTest.py b/lib/python/Components/TuneTest.py index 422036cd..de7b0098 100644 --- a/lib/python/Components/TuneTest.py +++ b/lib/python/Components/TuneTest.py @@ -3,7 +3,7 @@ from enigma import eDVBFrontendParametersSatellite, eDVBFrontendParameters, eDVB class Tuner: def __init__(self, frontend): self.frontend = frontend - + # transponder = (frequency, symbolrate, polarisation, fec, inversion, orbpos, system, modulation) # 0 1 2 3 4 5 6 7 def tune(self, transponder): @@ -16,17 +16,25 @@ class Tuner: parm.fec = transponder[3] parm.inversion = transponder[4] parm.orbital_position = transponder[5] - parm.system = 0 # FIXMEE !! HARDCODED DVB-S (add support for DVB-S2) - parm.modulation = 1 # FIXMEE !! HARDCODED QPSK + parm.system = transponder[6] + parm.modulation = transponder[7] + parm.rolloff = transponder[8] + parm.pilot = transponder[9] feparm = eDVBFrontendParameters() feparm.setDVBS(parm) self.lastparm = feparm self.frontend.tune(feparm) - + def retune(self): if self.frontend: self.frontend.tune(self.lastparm) + def getTransponderData(self): + ret = { } + if self.frontend: + self.frontend.getTransponderData(ret, True) + return ret + # tunes a list of transponders and checks, if they lock and optionally checks the onid/tsid combination # 1) add transponders with addTransponder() # 2) call run() diff --git a/lib/python/Plugins/SystemPlugins/PositionerSetup/plugin.py b/lib/python/Plugins/SystemPlugins/PositionerSetup/plugin.py index 9e87d6d5..19076bad 100644 --- a/lib/python/Plugins/SystemPlugins/PositionerSetup/plugin.py +++ b/lib/python/Plugins/SystemPlugins/PositionerSetup/plugin.py @@ -14,6 +14,7 @@ from Components.ActionMap import ActionMap from Components.NimManager import nimmanager from Components.MenuList import MenuList from Components.config import ConfigSatlist, ConfigNothing, ConfigSelection, ConfigSubsection, KEY_LEFT, KEY_RIGHT, getConfigListEntry +from Components.TuneTest import Tuner from time import sleep @@ -81,11 +82,11 @@ class PositionerSetup(Screen): cur.get("symbol_rate", 0) / 1000, cur.get("polarization", eDVBFrontendParametersSatellite.Polarisation_Horizontal), cur.get("fec_inner", eDVBFrontendParametersSatellite.FEC_Auto), - cur.get("inversion", eDVBFrontendParametersSatellite.Inversion_Unknown) - cur.get("orbital_position", 0) - cur.get("system", eDVBFrontendParametersSatellite.System_DVB_S) - cur.get("modulation", eDVBFrontendParametersSatellite.Modulation_QPSK) - cur.get("rolloff", eDVBFrontendParametersSatellite.RollOff_alpha_0_35) + cur.get("inversion", eDVBFrontendParametersSatellite.Inversion_Unknown), + cur.get("orbital_position", 0), + cur.get("system", eDVBFrontendParametersSatellite.System_DVB_S), + cur.get("modulation", eDVBFrontendParametersSatellite.Modulation_QPSK), + cur.get("rolloff", eDVBFrontendParametersSatellite.RollOff_alpha_0_35), cur.get("pilot", eDVBFrontendParametersSatellite.Pilot_Unknown)) self.tuner.tune(tp) @@ -404,39 +405,6 @@ class Diseqc: sleep(0.05) self.frontend.sendDiseqc(cmd) # send 2nd time -class Tuner: - def __init__(self, frontend): - self.frontend = frontend - - def tune(self, transponder): - print "tuning to transponder with data", transponder - parm = eDVBFrontendParametersSatellite() - parm.frequency = transponder[0] * 1000 - parm.symbol_rate = transponder[1] * 1000 - parm.polarisation = transponder[2] - parm.fec = transponder[3] - parm.inversion = transponder[4] - parm.orbital_position = transponder[5] - parm.system = transponder[6] - parm.modulation = transponder[7] - parm.rolloff = transponder[8] - parm.pilot = transponder[9] - feparm = eDVBFrontendParameters() - feparm.setDVBS(parm, True) - self.lastparm = feparm - if self.frontend: - self.frontend.tune(feparm) - - def retune(self): - if self.frontend: - self.frontend.tune(self.lastparm) - - def getTransponderData(self): - ret = { } - if self.frontend: - self.frontend.getTransponderData(ret, True) - return ret - tuning = None class TunerScreen(ScanSetup): diff --git a/lib/python/Plugins/SystemPlugins/Satfinder/plugin.py b/lib/python/Plugins/SystemPlugins/Satfinder/plugin.py index 8174eb64..048bad90 100644 --- a/lib/python/Plugins/SystemPlugins/Satfinder/plugin.py +++ b/lib/python/Plugins/SystemPlugins/Satfinder/plugin.py @@ -14,7 +14,6 @@ from Components.MenuList import MenuList from Components.config import ConfigSelection, getConfigListEntry from Components.TuneTest import Tuner - class Satfinder(ScanSetup): def openFrontend(self): res_mgr = eDVBResourceManager.getInstance() -- cgit v1.2.3 From af3c70e61bf4e7e2e0afc51b0e3a0cd717c20f54 Mon Sep 17 00:00:00 2001 From: ghost Date: Wed, 21 Jan 2009 13:38:00 +0100 Subject: "type" -> "tuner_type"... tuner_type is one of "DVB-S" "DVB-T" "DVB-C" --- lib/python/Components/TimerSanityCheck.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'lib/python/Components') diff --git a/lib/python/Components/TimerSanityCheck.py b/lib/python/Components/TimerSanityCheck.py index 10dc31bd..99b2fba5 100644 --- a/lib/python/Components/TimerSanityCheck.py +++ b/lib/python/Components/TimerSanityCheck.py @@ -173,8 +173,7 @@ class TimerSanityCheck: def getServiceType(ref): # helper function to get a service type of a service reference serviceInfo = serviceHandler.info(ref) serviceInfo = serviceInfo and serviceInfo.getInfoObject(ref, iServiceInformation.sTransponderData) - if serviceInfo: - return { "Satellite" : "DVB-S", "Cable" : "DVB-C", "Terrestrial" : "DVB-T"}[serviceInfo["type"]] + return serviceInfo and serviceInfo["tuner_type"] or "" ref = timer.service_ref.ref if ref.flags & eServiceReference.isGroup: # service group ? -- cgit v1.2.3