git.cweiske.de
/
enigma2.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fix frontend number query
[enigma2.git]
/
lib
/
python
/
Components
/
Converter
/
ServiceName.py
diff --git
a/lib/python/Components/Converter/ServiceName.py
b/lib/python/Components/Converter/ServiceName.py
index fcabe42727e7e6ca7c4a8c0a078b1f3cf21effc4..18b1f2a592b015233b2041868e56552b9cb27c5c 100644
(file)
--- a/
lib/python/Components/Converter/ServiceName.py
+++ b/
lib/python/Components/Converter/ServiceName.py
@@
-1,6
+1,6
@@
# -*- coding: utf-8 -*-
from Components.Converter.Converter import Converter
# -*- coding: utf-8 -*-
from Components.Converter.Converter import Converter
-from enigma import iServiceInformation, iPlayableService
+from enigma import iServiceInformation, iPlayableService
, iPlayableServicePtr
from Components.Element import cached
class ServiceName(Converter, object):
from Components.Element import cached
class ServiceName(Converter, object):
@@
-17,26
+17,33
@@
class ServiceName(Converter, object):
else:
self.type = self.NAME
else:
self.type = self.NAME
- def getServiceInfoValue(self, info, what):
- v = info.getInfo(what)
- if v !=
-2
:
+ def getServiceInfoValue(self, info, what
, ref=None
):
+ v =
ref and info.getInfo(ref, what) or
info.getInfo(what)
+ if v !=
iServiceInformation.resIsString
:
return "N/A"
return "N/A"
- return info.getInfoString(what)
+ return
ref and info.getInfoString(ref, what) or
info.getInfoString(what)
@cached
def getText(self):
service = self.source.service
@cached
def getText(self):
service = self.source.service
- info = service and service.info()
+ if isinstance(service, iPlayableServicePtr):
+ info = service and service.info()
+ ref = None
+ else: # reference
+ info = service and self.source.info
+ ref = service
if info is None:
return ""
if info is None:
return ""
-
if self.type == self.NAME:
if self.type == self.NAME:
- return info.getName().replace('\xc2\x86', '').replace('\xc2\x87', '')
+ name = ref and info.getName(ref)
+ if name is None:
+ name = info.getName()
+ return name.replace('\xc2\x86', '').replace('\xc2\x87', '')
elif self.type == self.PROVIDER:
elif self.type == self.PROVIDER:
- return self.getServiceInfoValue(info, iServiceInformation.sProvider)
+ return self.getServiceInfoValue(info, iServiceInformation.sProvider
, ref
)
elif self.type == self.REFERENCE:
elif self.type == self.REFERENCE:
- return self.getServiceInfoValue(info, iServiceInformation.sServiceref)
-
+ return self.getServiceInfoValue(info, iServiceInformation.sServiceref
, ref
)
+
text = property(getText)
def changed(self, what):
text = property(getText)
def changed(self, what):