provide source/converter for current service name, current service provider
[enigma2.git] / lib / python / Components / Converter / ServiceName.py
diff --git a/lib/python/Components/Converter/ServiceName.py b/lib/python/Components/Converter/ServiceName.py
new file mode 100644 (file)
index 0000000..79e0c99
--- /dev/null
@@ -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)