use physical device from framebuffer instead of hardcoded value, blit after compositing
[enigma2.git] / lib / python / Screens / ServiceInfo.py
index d233c9813026d36a775bf4bdd5e0a0ae0c404532..fa2f4474fc5d827406ef4eaa8c0dfc4ca716d811 100644 (file)
@@ -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 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
 
 
 RT_HALIGN_LEFT = 0
 
@@ -18,13 +19,8 @@ def to_unsigned(x):
        return x & 0xFFFFFFFF
 
 def ServiceInfoListEntry(a, b, valueType=TYPE_TEXT, param=4):
        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
        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:
                if valueType == TYPE_VALUE_HEX:
                        b = ("0x%0" + str(param) + "x") % to_unsigned(b)
                elif valueType == TYPE_VALUE_DEC:
@@ -33,10 +29,13 @@ def ServiceInfoListEntry(a, b, valueType=TYPE_TEXT, param=4):
                        b = ("0x%0" + str(param) + "x (%dd)") % (to_unsigned(b), b)
                else:
                        b = str(b)
                        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):
 
 class ServiceInfoList(HTMLComponent, GUIComponent):
        def __init__(self, source):
@@ -131,7 +130,8 @@ class ServiceInfo(Screen):
                        self.fillList(Labels)
                else:
                        if self.transponder_info:
                        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"),
                                                 "system"                       : _("System"),
                                                 "modulation"           : _("Modulation"),
                                                 "orbital_position" : _("Orbital Position"),
@@ -149,9 +149,7 @@ class ServiceInfo(Screen):
                                                 "transmission_mode": _("Transmission Mode"),
                                                 "guard_interval"       : _("Guard Interval"),
                                                 "hierarchy_information": _("Hierarchy Information") }
                                                 "transmission_mode": _("Transmission Mode"),
                                                 "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) )
+                               Labels = [(conv[i], tp_info[i], TYPE_VALUE_DEC) for i in tp_info.keys()]
                                self.fillList(Labels)
 
        def pids(self):
                                self.fillList(Labels)
 
        def pids(self):
@@ -180,10 +178,11 @@ class ServiceInfo(Screen):
                if self.type == TYPE_SERVICE_INFO:
                        self.showFrontendData(False)
 
                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),
                                                        ("Type", frontendData["system"], TYPE_TEXT),
                                                        ("Modulation", frontendData["modulation"], TYPE_TEXT),
                                                        ("Orbital position", frontendData["orbital_position"], TYPE_VALUE_DEC),
@@ -194,16 +193,16 @@ class ServiceInfo(Screen):
                                                        ("FEC inner", frontendData["fec_inner"], TYPE_TEXT),
                                                        ("Pilot", frontendData.get("pilot", None), TYPE_TEXT),
                                                        ("Rolloff", frontendData.get("rolloff", None), TYPE_TEXT))
                                                        ("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":
-                               return (("NIM", ['A', 'B', 'C', 'D'][frontendData["tuner_number"]], 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))
                                                ("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),
                                                ("Type", frontendData["tuner_type"], TYPE_TEXT),
                                                ("Frequency", frontendData["frequency"], TYPE_VALUE_DEC),
                                                ("Inversion", frontendData["inversion"], TYPE_TEXT),