From: Felix Domke Date: Mon, 26 Jun 2006 16:31:52 +0000 (+0000) Subject: provide source/converter for current service name, current service provider X-Git-Tag: 2.6.0~3266 X-Git-Url: https://git.cweiske.de/enigma2.git/commitdiff_plain/1f820106cba412af1408ba56aa9cf51657e48857 provide source/converter for current service name, current service provider --- diff --git a/lib/python/Components/Converter/Makefile.am b/lib/python/Components/Converter/Makefile.am index 5b55ac42..d449bccb 100644 --- a/lib/python/Components/Converter/Makefile.am +++ b/lib/python/Components/Converter/Makefile.am @@ -2,5 +2,6 @@ installdir = $(LIBDIR)/enigma2/python/Components/Converter install_PYTHON = \ __init__.py ClockToText.py Converter.py EventName.py StaticText.py EventTime.py \ - Poll.py RemainingToText.py StringList.py + Poll.py RemainingToText.py StringList.py ServiceName.py + diff --git a/lib/python/Components/Converter/ServiceName.py b/lib/python/Components/Converter/ServiceName.py new file mode 100644 index 00000000..79e0c997 --- /dev/null +++ b/lib/python/Components/Converter/ServiceName.py @@ -0,0 +1,32 @@ +from Components.Converter.Converter import Converter +from enigma import iServiceInformation + +class ServiceName(Converter, object): + NAME = 0 + PROVIDER = 1 + + def __init__(self, type, *args, **kwargs): + Converter.__init__(self) + if type == "Provider": + self.type = self.PROVIDER + else: + self.type = self.NAME + + def getServiceInfoValue(self, info, what): + v = info.getInfo(what) + if v != -2: + return "N/A" + return info.getInfoString(what) + + def getText(self): + service = self.source.service + info = service and service.info() + if info is None: + return "" + + if self.type == self.NAME: + return service.getName() + elif self.type == self.PROVIDER: + return self.getServiceInfoValue(info, iServiceInformation.sProvider) + + text = property(getText) diff --git a/lib/python/Components/Sources/CurrentService.py b/lib/python/Components/Sources/CurrentService.py new file mode 100644 index 00000000..bec6d2dc --- /dev/null +++ b/lib/python/Components/Sources/CurrentService.py @@ -0,0 +1,22 @@ +from Components.PerServiceDisplay import PerServiceBase +from enigma import iPlayableService +from Source import Source + +class CurrentService(PerServiceBase, Source): + def __init__(self, navcore): + Source.__init__(self) + PerServiceBase.__init__(self, navcore, + { + iPlayableService.evStart: self.changed, + iPlayableService.evEnd: self.changed + }) + self.navcore = navcore + + def getCurrentService(self): + service = self.navcore.getCurrentService() + return service + + def stopEvent(self): + self.changed() + + service = property(getCurrentService) diff --git a/lib/python/Components/Sources/Makefile.am b/lib/python/Components/Sources/Makefile.am index 9e151123..a7d5ae90 100644 --- a/lib/python/Components/Sources/Makefile.am +++ b/lib/python/Components/Sources/Makefile.am @@ -1,5 +1,6 @@ installdir = $(LIBDIR)/enigma2/python/Components/Sources install_PYTHON = \ - __init__.py Clock.py EventInfo.py Source.py MenuList.py + __init__.py Clock.py EventInfo.py Source.py MenuList.py CurrentService.py +