Merge remote branch 'origin/pootle-import'
[enigma2.git] / lib / python / Tools / Transponder.py
1 from enigma import eDVBFrontendParametersSatellite, eDVBFrontendParametersCable, eDVBFrontendParametersTerrestrial
2 from Components.NimManager import nimmanager
3
4 def ConvertToHumanReadable(tp, type = None):
5         ret = { }
6         if type is None:
7                 type = tp.get("tuner_type", "None")
8         if type == "DVB-S":
9                 ret["tuner_type"] = _("Satellite")
10                 ret["inversion"] = {
11                         eDVBFrontendParametersSatellite.Inversion_Unknown : _("Auto"),
12                         eDVBFrontendParametersSatellite.Inversion_On : _("On"),
13                         eDVBFrontendParametersSatellite.Inversion_Off : _("Off")}[tp["inversion"]]
14                 ret["fec_inner"] = {
15                         eDVBFrontendParametersSatellite.FEC_None : _("None"),
16                         eDVBFrontendParametersSatellite.FEC_Auto : _("Auto"),
17                         eDVBFrontendParametersSatellite.FEC_1_2 : "1/2",
18                         eDVBFrontendParametersSatellite.FEC_2_3 : "2/3",
19                         eDVBFrontendParametersSatellite.FEC_3_4 : "3/4",
20                         eDVBFrontendParametersSatellite.FEC_5_6 : "5/6",
21                         eDVBFrontendParametersSatellite.FEC_7_8 : "7/8",
22                         eDVBFrontendParametersSatellite.FEC_3_5 : "3/5",
23                         eDVBFrontendParametersSatellite.FEC_4_5 : "4/5",
24                         eDVBFrontendParametersSatellite.FEC_8_9 : "8/9",
25                         eDVBFrontendParametersSatellite.FEC_9_10 : "9/10"}[tp["fec_inner"]]
26                 ret["modulation"] = {
27                         eDVBFrontendParametersSatellite.Modulation_Auto : _("Auto"),
28                         eDVBFrontendParametersSatellite.Modulation_QPSK : "QPSK",
29                         eDVBFrontendParametersSatellite.Modulation_QAM16 : "QAM16",
30                         eDVBFrontendParametersSatellite.Modulation_8PSK : "8PSK"}[tp["modulation"]]
31                 ret["orbital_position"] = nimmanager.getSatName(int(tp["orbital_position"]))
32                 ret["polarization"] = {
33                         eDVBFrontendParametersSatellite.Polarisation_Horizontal : _("Horizontal"),
34                         eDVBFrontendParametersSatellite.Polarisation_Vertical : _("Vertical"),
35                         eDVBFrontendParametersSatellite.Polarisation_CircularLeft : _("Circular left"),
36                         eDVBFrontendParametersSatellite.Polarisation_CircularRight : _("Circular right")}[tp["polarization"]]
37                 ret["system"] = {
38                         eDVBFrontendParametersSatellite.System_DVB_S : "DVB-S",
39                         eDVBFrontendParametersSatellite.System_DVB_S2 : "DVB-S2"}[tp["system"]]
40                 if ret["system"] == "DVB-S2":
41                         ret["rolloff"] = {
42                                 eDVBFrontendParametersSatellite.RollOff_alpha_0_35 : "0.35",
43                                 eDVBFrontendParametersSatellite.RollOff_alpha_0_25 : "0.25",
44                                 eDVBFrontendParametersSatellite.RollOff_alpha_0_20 : "0.20"}[tp["rolloff"]]
45                         ret["pilot"] = {
46                                 eDVBFrontendParametersSatellite.Pilot_Unknown : _("Auto"),
47                                 eDVBFrontendParametersSatellite.Pilot_On : _("On"),
48                                 eDVBFrontendParametersSatellite.Pilot_Off : _("Off")}[tp["pilot"]]
49         elif type == "DVB-C":
50                 ret["tuner_type"] = _("Cable")
51                 ret["modulation"] = {
52                         eDVBFrontendParametersCable.Modulation_Auto: _("Auto"),
53                         eDVBFrontendParametersCable.Modulation_QAM16 : "QAM16",
54                         eDVBFrontendParametersCable.Modulation_QAM32 : "QAM32",
55                         eDVBFrontendParametersCable.Modulation_QAM64 : "QAM64",
56                         eDVBFrontendParametersCable.Modulation_QAM128 : "QAM128",
57                         eDVBFrontendParametersCable.Modulation_QAM256 : "QAM256"}[tp["modulation"]]
58                 ret["inversion"] = {
59                         eDVBFrontendParametersCable.Inversion_Unknown : _("Auto"),
60                         eDVBFrontendParametersCable.Inversion_On : _("On"),
61                         eDVBFrontendParametersCable.Inversion_Off : _("Off")}[tp["inversion"]]
62                 ret["fec_inner"] = {
63                         eDVBFrontendParametersCable.FEC_None : _("None"),
64                         eDVBFrontendParametersCable.FEC_Auto : _("Auto"),
65                         eDVBFrontendParametersCable.FEC_1_2 : "1/2",
66                         eDVBFrontendParametersCable.FEC_2_3 : "2/3",
67                         eDVBFrontendParametersCable.FEC_3_4 : "3/4",
68                         eDVBFrontendParametersCable.FEC_5_6 : "5/6",
69                         eDVBFrontendParametersCable.FEC_7_8 : "7/8",
70                         eDVBFrontendParametersCable.FEC_8_9 : "8/9"}[tp["fec_inner"]]
71         elif type == "DVB-T":
72                 ret["tuner_type"] = _("Terrestrial")
73                 ret["bandwidth"] = {
74                         eDVBFrontendParametersTerrestrial.Bandwidth_Auto : _("Auto"),
75                         eDVBFrontendParametersTerrestrial.Bandwidth_8MHz : "8 MHz",
76                         eDVBFrontendParametersTerrestrial.Bandwidth_7MHz : "7 MHz",
77                         eDVBFrontendParametersTerrestrial.Bandwidth_6MHz : "6 MHz"}[tp["bandwidth"]]
78                 ret["code_rate_lp"] = {
79                         eDVBFrontendParametersTerrestrial.FEC_Auto : _("Auto"),
80                         eDVBFrontendParametersTerrestrial.FEC_1_2 : "1/2",
81                         eDVBFrontendParametersTerrestrial.FEC_2_3 : "2/3",
82                         eDVBFrontendParametersTerrestrial.FEC_3_4 : "3/4",
83                         eDVBFrontendParametersTerrestrial.FEC_5_6 : "5/6",
84                         eDVBFrontendParametersTerrestrial.FEC_7_8 : "7/8"}[tp["code_rate_lp"]]
85                 ret["code_rate_hp"] = {
86                         eDVBFrontendParametersTerrestrial.FEC_Auto : _("Auto"),
87                         eDVBFrontendParametersTerrestrial.FEC_1_2 : "1/2",
88                         eDVBFrontendParametersTerrestrial.FEC_2_3 : "2/3",
89                         eDVBFrontendParametersTerrestrial.FEC_3_4 : "3/4",
90                         eDVBFrontendParametersTerrestrial.FEC_5_6 : "5/6",
91                         eDVBFrontendParametersTerrestrial.FEC_7_8 : "7/8"}[tp["code_rate_hp"]]
92                 ret["constellation"] = {
93                         eDVBFrontendParametersTerrestrial.Modulation_Auto : _("Auto"),
94                         eDVBFrontendParametersTerrestrial.Modulation_QPSK : "QPSK",
95                         eDVBFrontendParametersTerrestrial.Modulation_QAM16 : "QAM16",
96                         eDVBFrontendParametersTerrestrial.Modulation_QAM64 : "QAM64"}[tp["constellation"]]
97                 ret["transmission_mode"] = {
98                         eDVBFrontendParametersTerrestrial.TransmissionMode_Auto : _("Auto"),
99                         eDVBFrontendParametersTerrestrial.TransmissionMode_2k : "2k",
100                         eDVBFrontendParametersTerrestrial.TransmissionMode_8k : "8k"}[tp["transmission_mode"]]
101                 ret["guard_interval"] = {
102                         eDVBFrontendParametersTerrestrial.GuardInterval_Auto : _("Auto"),
103                         eDVBFrontendParametersTerrestrial.GuardInterval_1_32 : "1/32",
104                         eDVBFrontendParametersTerrestrial.GuardInterval_1_16 : "1/16",
105                         eDVBFrontendParametersTerrestrial.GuardInterval_1_8 : "1/8",
106                         eDVBFrontendParametersTerrestrial.GuardInterval_1_4 : "1/4"}[tp["guard_interval"]]
107                 ret["hierarchy_information"] = {
108                         eDVBFrontendParametersTerrestrial.Hierarchy_Auto : _("Auto"),
109                         eDVBFrontendParametersTerrestrial.Hierarchy_None : _("None"),
110                         eDVBFrontendParametersTerrestrial.Hierarchy_1 : "1",
111                         eDVBFrontendParametersTerrestrial.Hierarchy_2 : "2",
112                         eDVBFrontendParametersTerrestrial.Hierarchy_4 : "4"}[tp["hierarchy_information"]]
113                 ret["inversion"] = {
114                         eDVBFrontendParametersTerrestrial.Inversion_Unknown : _("Auto"),
115                         eDVBFrontendParametersTerrestrial.Inversion_On : _("On"),
116                         eDVBFrontendParametersTerrestrial.Inversion_Off : _("Off")}[tp["inversion"]]
117         else:
118                 print "ConvertToHumanReadable: no or unknown type in tpdata dict!"
119         for x in tp.keys():
120                 if not ret.has_key(x):
121                         ret[x] = tp[x]
122         return ret