X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/911466bd5e018b80dfbbd5e12c4923e89a980792..70608ea260f899f0c072b294f7f231ae072f7d6c:/lib/python/Components/Converter/ServiceName.py diff --git a/lib/python/Components/Converter/ServiceName.py b/lib/python/Components/Converter/ServiceName.py index 78a3dca2..fcabe427 100644 --- a/lib/python/Components/Converter/ServiceName.py +++ b/lib/python/Components/Converter/ServiceName.py @@ -1,14 +1,19 @@ +# -*- coding: utf-8 -*- from Components.Converter.Converter import Converter from enigma import iServiceInformation, iPlayableService +from Components.Element import cached class ServiceName(Converter, object): NAME = 0 PROVIDER = 1 + REFERENCE = 2 def __init__(self, type): Converter.__init__(self, type) if type == "Provider": self.type = self.PROVIDER + elif type == "Reference": + self.type = self.REFERENCE else: self.type = self.NAME @@ -18,6 +23,7 @@ class ServiceName(Converter, object): return "N/A" return info.getInfoString(what) + @cached def getText(self): service = self.source.service info = service and service.info() @@ -25,12 +31,14 @@ class ServiceName(Converter, object): return "" if self.type == self.NAME: - return info.getName() + return info.getName().replace('\xc2\x86', '').replace('\xc2\x87', '') elif self.type == self.PROVIDER: return self.getServiceInfoValue(info, iServiceInformation.sProvider) - + elif self.type == self.REFERENCE: + return self.getServiceInfoValue(info, iServiceInformation.sServiceref) + text = property(getText) - def changed(self, *args): - if not len(args) or args[0] in [iPlayableService.evStart, iPlayableService.evEnd]: - Converter.changed(self) + def changed(self, what): + if what[0] != self.CHANGED_SPECIFIC or what[1] in [iPlayableService.evStart]: + Converter.changed(self, what)