from enigma import eServiceCenter, iServiceInformation RETURN_NONE = "0" RETURN_DESCR = "1" RETURN_EXTDESCR = "2" def GetDescriptionWithFallbackFromService(service): serviceHandler = eServiceCenter.getInstance() info = serviceHandler.info(service) event = info.getEvent(service) descr = info.getInfoString(service, iServiceInformation.sDescription) eventData = GetDescriptionWithFallbackFromEvent(event,descr) descr = eventData[0] descrType = eventData[1] return (descr, descrType) def GetDescriptionWithFallbackFromEvent(event,descr): if event == None: descrType = RETURN_NONE else: descrType = RETURN_DESCR if descr == "": descr = event.getShortDescription() extDescr = event.getExtendedDescription() if descr == "" and extDescr != "": descrType = RETURN_EXTDESCR if extDescr.find("'") > -1: extArr = extDescr.split("'",3) descr = extArr[1] elif extDescr.find('"') > -1: extArr = extDescr.split('"',3) descr = extArr[1] elif extDescr.find(':') > -1: extArr = extDescr.split(':',3) descr = extArr[0] elif extDescr.find('.') > -1: extArr = extDescr.split('.',3) descr = extArr[0] else: descr = extDescr[:20] return (descr, descrType)