aboutsummaryrefslogtreecommitdiff
path: root/lib/python
diff options
context:
space:
mode:
Diffstat (limited to 'lib/python')
-rw-r--r--lib/python/Screens/ServiceInfo.py19
-rw-r--r--lib/python/Tools/Makefile.am2
-rw-r--r--lib/python/Tools/Transponder.py56
3 files changed, 68 insertions, 9 deletions
diff --git a/lib/python/Screens/ServiceInfo.py b/lib/python/Screens/ServiceInfo.py
index d233c981..e07b3208 100644
--- a/lib/python/Screens/ServiceInfo.py
+++ b/lib/python/Screens/ServiceInfo.py
@@ -5,6 +5,7 @@ from Components.ActionMap import ActionMap
from Components.Label import Label
from ServiceReference import ServiceReference
from enigma import eListboxPythonMultiContent, eListbox, gFont, iServiceInformation, eServiceCenter
+from Tools.Transponder import ConvertToHumanReadable
RT_HALIGN_LEFT = 0
@@ -131,7 +132,8 @@ class ServiceInfo(Screen):
self.fillList(Labels)
else:
if self.transponder_info:
- conv = { "type" : _("Transponder Type"),
+ tp_info = ConvertToHumanReadable(self.transponder_info)
+ conv = { "tuner_type" : _("Transponder Type"),
"system" : _("System"),
"modulation" : _("Modulation"),
"orbital_position" : _("Orbital Position"),
@@ -150,8 +152,8 @@ class ServiceInfo(Screen):
"guard_interval" : _("Guard Interval"),
"hierarchy_information": _("Hierarchy Information") }
Labels = [ ]
- for i in self.transponder_info.keys():
- Labels.append( (conv[i], self.transponder_info[i], TYPE_VALUE_DEC) )
+ for i in tp_info.keys():
+ Labels.append( (conv[i], tp_info[i], TYPE_VALUE_DEC) )
self.fillList(Labels)
def pids(self):
@@ -180,9 +182,10 @@ class ServiceInfo(Screen):
if self.type == TYPE_SERVICE_INFO:
self.showFrontendData(False)
- def getFEData(self, frontendData):
- if frontendData and len(frontendData):
- if frontendData["tuner_type"] == "DVB-S":
+ def getFEData(self, frontendDataOrg):
+ if frontendDataOrg and len(frontendDataOrg):
+ frontendData = ConvertToHumanReadable(frontendDataOrg)
+ if frontendDataOrg["tuner_type"] == "DVB-S":
return (("NIM", ['A', 'B', 'C', 'D'][frontendData["tuner_number"]], TYPE_TEXT),
("Type", frontendData["system"], TYPE_TEXT),
("Modulation", frontendData["modulation"], TYPE_TEXT),
@@ -194,7 +197,7 @@ class ServiceInfo(Screen):
("FEC inner", frontendData["fec_inner"], TYPE_TEXT),
("Pilot", frontendData.get("pilot", None), TYPE_TEXT),
("Rolloff", frontendData.get("rolloff", None), TYPE_TEXT))
- elif frontendData["tuner_type"] == "DVB-C":
+ elif frontendDataOrg["tuner_type"] == "DVB-C":
return (("NIM", ['A', 'B', 'C', 'D'][frontendData["tuner_number"]], TYPE_TEXT),
("Type", frontendData["tuner_type"], TYPE_TEXT),
("Frequency", frontendData["frequency"], TYPE_VALUE_DEC),
@@ -202,7 +205,7 @@ class ServiceInfo(Screen):
("Modulation", frontendData["modulation"], TYPE_TEXT),
("Inversion", frontendData["inversion"], TYPE_TEXT),
("FEC inner", frontendData["fec_inner"], TYPE_TEXT))
- elif frontendData["tuner_type"] == "DVB-T":
+ elif frontendDataOrg["tuner_type"] == "DVB-T":
return (("NIM", ['A', 'B', 'C', 'D'][frontendData["tuner_number"]], TYPE_TEXT),
("Type", frontendData["tuner_type"], TYPE_TEXT),
("Frequency", frontendData["frequency"], TYPE_VALUE_DEC),
diff --git a/lib/python/Tools/Makefile.am b/lib/python/Tools/Makefile.am
index 609f3bab..5617cb66 100644
--- a/lib/python/Tools/Makefile.am
+++ b/lib/python/Tools/Makefile.am
@@ -4,4 +4,4 @@ install_PYTHON = \
FuzzyDate.py XMLTools.py Directories.py NumericalTextInput.py \
KeyBindings.py BoundFunction.py ISO639.py Notifications.py __init__.py \
RedirectOutput.py DreamboxHardware.py Import.py Event.py CList.py \
- LoadPixmap.py Profile.py HardwareInfo.py
+ LoadPixmap.py Profile.py HardwareInfo.py Transponder.py
diff --git a/lib/python/Tools/Transponder.py b/lib/python/Tools/Transponder.py
new file mode 100644
index 00000000..108397b6
--- /dev/null
+++ b/lib/python/Tools/Transponder.py
@@ -0,0 +1,56 @@
+from enigma import eDVBFrontendParametersSatellite, eDVBFrontendParametersCable, eDVBFrontendParametersTerrestrial
+
+def ConvertToHumanReadable(tp):
+ ret = { }
+ type = tp.get("tuner_type", "None")
+ if type == "DVB-S":
+ ret["tuner_type"] = _("Satellite")
+ ret["frequency"] = tp["frequency"]
+ ret["symbol_rate"] = tp["symbol_rate"]
+ ret["orbital_position"] = tp["orbital_position"]
+ ret["inversion"] = {
+ eDVBFrontendParametersSatellite.Inversion_Unknown : _("Auto"),
+ eDVBFrontendParametersSatellite.Inversion_On : _("On"),
+ eDVBFrontendParametersSatellite.Inversion_Off : _("Off")}[tp["inversion"]]
+ ret["fec_inner"] = {
+ eDVBFrontendParametersSatellite.FEC_None : _("None"),
+ eDVBFrontendParametersSatellite.FEC_Auto : _("Auto"),
+ eDVBFrontendParametersSatellite.FEC_1_2 : "1/2",
+ eDVBFrontendParametersSatellite.FEC_2_3 : "2/3",
+ eDVBFrontendParametersSatellite.FEC_3_4 : "3/4",
+ eDVBFrontendParametersSatellite.FEC_5_6 : "5/6",
+ eDVBFrontendParametersSatellite.FEC_7_8 : "7/8",
+ eDVBFrontendParametersSatellite.FEC_3_5 : "3/5",
+ eDVBFrontendParametersSatellite.FEC_4_5 : "4/5",
+ eDVBFrontendParametersSatellite.FEC_8_9 : "8/9",
+ eDVBFrontendParametersSatellite.FEC_9_10 : "9/10"}[tp["fec_inner"]]
+ ret["modulation"] = {
+ eDVBFrontendParametersSatellite.Modulation_Auto : _("Auto"),
+ eDVBFrontendParametersSatellite.Modulation_QPSK : "QPSK",
+ eDVBFrontendParametersSatellite.Modulation_QAM16 : "QAM16",
+ eDVBFrontendParametersSatellite.Modulation_8PSK : "8PSK"}[tp["modulation"]]
+ ret["polarization"] = {
+ eDVBFrontendParametersSatellite.Polarisation_Horizontal : _("Horizontal"),
+ eDVBFrontendParametersSatellite.Polarisation_Vertical : _("Vertical"),
+ eDVBFrontendParametersSatellite.Polarisation_CircularLeft : _("Circular left"),
+ eDVBFrontendParametersSatellite.Polarisation_CircularRight : _("Circular right")}[tp["polarization"]]
+ ret["system"] = {
+ eDVBFrontendParametersSatellite.System_DVB_S : "DVB-S",
+ eDVBFrontendParametersSatellite.System_DVB_S2 : "DVB-S2"}[tp["system"]]
+ if ret["system"] == "DVB-S2":
+ ret["rolloff"] = {
+ eDVBFrontendParametersSatellite.RollOff_alpha_0_35 : "0.35",
+ eDVBFrontendParametersSatellite.RollOff_alpha_0_25 : "0.25",
+ eDVBFrontendParametersSatellite.RollOff_alpha_0_20 : "0.20"}[tp["rolloff"]]
+ ret["pilot"] = {
+ eDVBFrontendParametersSatellite.Pilot_Unknown : _("Auto"),
+ eDVBFrontendParametersSatellite.Pilot_On : _("On"),
+ eDVBFrontendParametersSatellite.Pilot_Off : _("Off")}[tp["pilot"]]
+ elif type == "DVB-C":
+ ret["tuner_type"] = _("Cable")
+ elif type == "DVB-T":
+ ret["tuner_type"] = _("Terrestrial")
+ for x in tp.keys():
+ if not ret.has_key(x):
+ ret[x] = tp[x]
+ return ret