--- /dev/null
+from Components.VariableText import VariableText\r
+from enigma import eLabel, iServiceInformation\r
+from Renderer import Renderer\r
+\r
+\r
+\r
+class SmartLabel(Renderer, VariableText):\r
+ def __init__(self):\r
+ Renderer.__init__(self)\r
+ VariableText.__init__(self)\r
+\r
+ GUI_WIDGET = eLabel\r
+\r
+ def changed(self, what):\r
+ service = self.source.service\r
+ info = service and service.info()\r
+ if info is not None:\r
+ if (info.getInfo(iServiceInformation.sIsCrypted) == 1):\r
+ decID = ""\r
+ decFrom = ""\r
+ xresol = 0\r
+ yresol = 0\r
+ try:\r
+ f = open("/tmp/ecm.info", "r")\r
+ flines = f.readlines()\r
+ f.close()\r
+ for cell in flines:\r
+ if ("caid" in cell)or("CAID" in cell)or("CaID" in cell)or("caID" in cell)or("Caid" in cell):\r
+ cellmembers = cell.split()\r
+ for x in range(len(cellmembers)):\r
+ if ("caid" in cellmembers[x])or("CAID" in cellmembers[x])or("CaID" in cellmembers[x])or("caID" in cellmembers[x])or("Caid" in cellmembers[x]):\r
+ if x<(len(cellmembers)-1):\r
+ if cellmembers[x+1] != "0x000":\r
+ decID = cellmembers[x+1]\r
+ decID = decID .lstrip("0x")\r
+ decID = decID.strip(",;.:-*_<>()[]{}")\r
+ if (len(decID)<4):\r
+ decID = decID + "0"\r
+ else:\r
+ decID = ""\r
+ if decID != "":\r
+ idnames = ("0100,01FF,SE","0500,05FF,VI","0600,06FF,IR","0900,09FF,NDS","0B00,0BFF,CO","0D00,0DFF,CW","1700,17FF,BC","1800,18FF,NA")\r
+ for idline in idnames:\r
+ IDlist = idline.split(",")\r
+ try:\r
+ if (int(decID,16)>=int(IDlist[0],16)) and (int(decID,16)<=int(IDlist[1],16)):\r
+ decID = IDlist[2] + " " + decID\r
+ break\r
+ except:\r
+ pass\r
+ for cell in flines:\r
+ if ("using:" in cell) or ("source:" in cell):\r
+ cellmembers = cell.split()\r
+ for x in range(len(cellmembers)):\r
+ if ("using:" in cellmembers[x]) or ("source:" in cellmembers[x]):\r
+ if x<(len(cellmembers)-1):\r
+ if cellmembers[x+1] != "fta":\r
+ decFrom = cellmembers[x+1]\r
+ else:\r
+ decFrom = ""\r
+ except:\r
+ pass\r
+ self.text = decFrom + " " + decID\r
+ else:\r
+ xresol = info.getInfo(iServiceInformation.sVideoWidth)\r
+ yresol = info.getInfo(iServiceInformation.sVideoHeight)\r
+ if xresol>0:\r
+ self.text = str(xresol) + " x " + str(yresol)\r
+\r
+\r
+\r