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
TYPE_VALUE_HEX_DEC = 3
TYPE_SLIDER = 4
-def to_unsinged(x):
+def to_unsigned(x):
return x & 0xFFFFFFFF
def ServiceInfoListEntry(a, b, valueType=TYPE_TEXT, param=4):
- res = [ ]
-
- #PyObject *type, *px, *py, *pwidth, *pheight, *pfnt, *pstring, *pflags;
- res.append((eListboxPythonMultiContent.TYPE_TEXT, 0, 0, 200, 30, 0, RT_HALIGN_LEFT, ""))
- res.append((eListboxPythonMultiContent.TYPE_TEXT, 0, 0, 200, 25, 0, RT_HALIGN_LEFT, a))
print "b:", b
- if type(b) is not str:
+ if not isinstance(b, str):
if valueType == TYPE_VALUE_HEX:
b = ("0x%0" + str(param) + "x") % to_unsigned(b)
elif valueType == TYPE_VALUE_DEC:
b = ("0x%0" + str(param) + "x (%dd)") % (to_unsigned(b), b)
else:
b = str(b)
-
- res.append((eListboxPythonMultiContent.TYPE_TEXT, 220, 0, 350, 25, 0, RT_HALIGN_LEFT, b))
- return res
+ return [
+ #PyObject *type, *px, *py, *pwidth, *pheight, *pfnt, *pstring, *pflags;
+ (eListboxPythonMultiContent.TYPE_TEXT, 0, 0, 200, 30, 0, RT_HALIGN_LEFT, ""),
+ (eListboxPythonMultiContent.TYPE_TEXT, 0, 0, 200, 25, 0, RT_HALIGN_LEFT, a),
+ (eListboxPythonMultiContent.TYPE_TEXT, 220, 0, 350, 25, 0, RT_HALIGN_LEFT, b)
+ ]
class ServiceInfoList(HTMLComponent, GUIComponent):
def __init__(self, source):
self.fillList(Labels)
else:
if self.transponder_info:
- conv = { "type" : _("Transponder Type"),
- "frequency" : _("Frequency"),
- "symbolrate" : _("Symbolrate"),
- "orbital position" : _("Orbital Position"),
- "inversion" : _("Inversion"),
- "fec inner" : _("FEC"),
- "modulation" : _("Modulation"),
- "polarization" : _("Polarization"),
- "roll off" : _("Rolloff"),
+ tp_info = ConvertToHumanReadable(self.transponder_info)
+ conv = { "tuner_type" : _("Transponder Type"),
"system" : _("System"),
+ "modulation" : _("Modulation"),
+ "orbital_position" : _("Orbital Position"),
+ "frequency" : _("Frequency"),
+ "symbol_rate" : _("Symbolrate"),
"bandwidth" : _("Bandwidth"),
- "code rate lp" : _("Coderate LP"),
- "code rate hp" : _("Coderate HP"),
+ "polarization" : _("Polarization"),
+ "inversion" : _("Inversion"),
+ "pilot" : _("Pilot"),
+ "rolloff" : _("Rolloff"),
+ "fec_inner" : _("FEC"),
+ "code_rate_lp" : _("Coderate LP"),
+ "code_rate_hp" : _("Coderate HP"),
"constellation" : _("Constellation"),
- "transmission mode": _("Transmission Mode"),
- "guard interval" : _("Guard Interval"),
- "hierarchy" : _("Hierarchy Information") }
- Labels = [ ]
- for i in self.transponder_info.keys():
- Labels.append( (conv[i], self.transponder_info[i], TYPE_TEXT) )
+ "transmission_mode": _("Transmission Mode"),
+ "guard_interval" : _("Guard Interval"),
+ "hierarchy_information": _("Hierarchy Information") }
+ Labels = [(conv[i], tp_info[i], TYPE_VALUE_DEC) for i in tp_info.keys()]
self.fillList(Labels)
def pids(self):
if self.type == TYPE_SERVICE_INFO:
self.showFrontendData(False)
- def getFEData(self, frontendData):
- if frontendData and len(frontendData):
- if frontendData["tuner_type"] == "DVB-S":
- return (("NIM", ['A', 'B', 'C', 'D'][frontendData["tuner_number"]], TYPE_TEXT),
+ 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),
("Orbital position", frontendData["orbital_position"], TYPE_VALUE_DEC),
("Symbolrate", frontendData["symbol_rate"], TYPE_VALUE_DEC),
("Polarization", frontendData["polarization"], TYPE_TEXT),
("Inversion", frontendData["inversion"], TYPE_TEXT),
- ("FEC inner", frontendData["fec_inner"], TYPE_TEXT))
- elif frontendData["tuner_type"] == "DVB-C":
- return (("NIM", ['A', 'B', 'C', 'D'][frontendData["tuner_number"]], TYPE_TEXT),
+ ("FEC inner", frontendData["fec_inner"], TYPE_TEXT),
+ ("Pilot", frontendData.get("pilot", None), TYPE_TEXT),
+ ("Rolloff", frontendData.get("rolloff", None), TYPE_TEXT))
+ 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),
("Symbolrate", frontendData["symbol_rate"], TYPE_VALUE_DEC),
("Modulation", frontendData["modulation"], TYPE_TEXT),
("Inversion", frontendData["inversion"], TYPE_TEXT),
("FEC inner", frontendData["fec_inner"], TYPE_TEXT))
- elif frontendData["tuner_type"] == "DVB-T":
- return (("NIM", ['A', 'B', 'C', 'D'][frontendData["tuner_number"]], TYPE_TEXT),
+ 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),
("Inversion", frontendData["inversion"], TYPE_TEXT),
tlist = [ ]
for item in Labels:
+ if item[1] is None:
+ continue;
value = item[1]
if len(item) < 4:
tlist.append(ServiceInfoListEntry(item[0]+":", value, item[2]))