aboutsummaryrefslogtreecommitdiff
path: root/lib/python
diff options
context:
space:
mode:
Diffstat (limited to 'lib/python')
-rw-r--r--lib/python/Components/Converter/Makefile.am3
-rw-r--r--lib/python/Components/Converter/ServiceName.py32
-rw-r--r--lib/python/Components/Sources/CurrentService.py22
-rw-r--r--lib/python/Components/Sources/Makefile.am3
4 files changed, 58 insertions, 2 deletions
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
+