+# -*- 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, *args, **kwargs):
- Converter.__init__(self)
+ 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
return "N/A"
return info.getInfoString(what)
+ @cached
def getText(self):
service = self.source.service
info = service and service.info()
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)