--- /dev/null
+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)
--- /dev/null
+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)