X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/1c5234b786737f87a4bf14fdd6d19692e683a023..322f9e06f0f823a89b05c9f6ca40e110c25a5ed6:/lib/python/Screens/ServiceInfo.py diff --git a/lib/python/Screens/ServiceInfo.py b/lib/python/Screens/ServiceInfo.py index 5c23b025..4cb9ce6e 100644 --- a/lib/python/Screens/ServiceInfo.py +++ b/lib/python/Screens/ServiceInfo.py @@ -45,15 +45,12 @@ class ServiceInfoList(HTMLComponent, GUIComponent): self.l.setList(self.list) self.l.setFont(0, gFont("Regular", 23)) - def GUIcreate(self, parent): - self.instance = eListbox(parent) + GUI_WIDGET = eListbox + + def postWidgetCreate(self, instance): self.instance.setContent(self.l) self.instance.setItemHeight(25) - def GUIdelete(self): - self.instance.setContent(None) - self.instance = None - class ServiceInfo(Screen): def __init__(self, session): Screen.__init__(self, session) @@ -71,7 +68,8 @@ class ServiceInfo(Screen): service = session.nav.getCurrentService() if service is not None: self.info = service.info() - self.feinfo = service.frontendStatusInfo() + self.feinfo = service.frontendInfo() + print self.info.getInfoObject(iServiceInformation.sCAIDs); else: self.info = None @@ -108,17 +106,20 @@ class ServiceInfo(Screen): ("SID", self.getServiceInfoValue(iServiceInformation.sSID), TYPE_VALUE_HEX_DEC, 4)) self.fillList(Labels) - def transponder(self): - frontendData = self.feinfo.getFrontendData(True) + def showFrontendData(self, real): + frontendData = self.feinfo and self.feinfo.getFrontendData(real) Labels = self.getFEData(frontendData) self.fillList(Labels) + + def transponder(self): + self.showFrontendData(True) def tuner(self): - frontendData = self.feinfo.getFrontendData(False) - Labels = self.getFEData(frontendData) - self.fillList(Labels) + self.showFrontendData(False) def getFEData(self, frontendData): + if frontendData is None: + return [] if frontendData["tuner_type"] == "DVB-S": return ( ("NIM", ['A', 'B', 'C', 'D'][frontendData["tuner_number"]], TYPE_TEXT), ("Type", frontendData["tuner_type"], TYPE_TEXT), @@ -139,13 +140,23 @@ class ServiceInfo(Screen): ("FEC inner", frontendData["fec_inner"], TYPE_TEXT), ) elif frontendData["tuner_type"] == "DVB-T": - return [] + 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), + ("Bandwidth", frontendData["bandwidth"], TYPE_VALUE_DEC), + ("CodeRateLP", frontendData["code_rate_lp"], TYPE_TEXT), + ("CodeRateHP", frontendData["code_rate_hp"], TYPE_TEXT), + ("Constellation", frontendData["constellation"], TYPE_TEXT), + ("Transmission Mode", frontendData["transmission_mode"], TYPE_TEXT), + ("Guard Interval", frontendData["guard_interval"], TYPE_TEXT), + ("Hierarchy Inform.", frontendData["hierarchy_information"], TYPE_TEXT), + ) def fillList(self, Labels): tlist = [ ] for item in Labels: - print item value = item[1] if len(item) < 4: tlist.append(ServiceInfoListEntry(item[0]+":", value, item[2]))