blob: fcabe42727e7e6ca7c4a8c0a078b1f3cf21effc4 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
# -*- 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):
Converter.__init__(self, type)
if type == "Provider":
self.type = self.PROVIDER
elif type == "Reference":
self.type = self.REFERENCE
else:
self.type = self.NAME
def getServiceInfoValue(self, info, what):
v = info.getInfo(what)
if v != -2:
return "N/A"
return info.getInfoString(what)
@cached
def getText(self):
service = self.source.service
info = service and service.info()
if info is None:
return ""
if self.type == self.NAME:
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, what):
if what[0] != self.CHANGED_SPECIFIC or what[1] in [iPlayableService.evStart]:
Converter.changed(self, what)
|