aboutsummaryrefslogtreecommitdiff
path: root/lib/python/Components
diff options
context:
space:
mode:
authorFelix Domke <tmbinc@elitedvb.net>2007-05-25 00:37:19 +0000
committerFelix Domke <tmbinc@elitedvb.net>2007-05-25 00:37:19 +0000
commit3ec9c0fb7a5fc5d1f5b1f86283861f9c0067e2a1 (patch)
tree6207ad16a344fc45f015c0a09c5b7344c3b085f3 /lib/python/Components
parentae4d58285fffc667653197d17734d5018acef9d4 (diff)
downloadenigma2-3ec9c0fb7a5fc5d1f5b1f86283861f9c0067e2a1.tar.gz
enigma2-3ec9c0fb7a5fc5d1f5b1f86283861f9c0067e2a1.zip
add VideoHeight, VideoWidth to ServiceInfo converter to display video picture resolution in skins
Diffstat (limited to 'lib/python/Components')
-rw-r--r--lib/python/Components/Converter/ServiceInfo.py48
1 files changed, 43 insertions, 5 deletions
diff --git a/lib/python/Components/Converter/ServiceInfo.py b/lib/python/Components/Converter/ServiceInfo.py
index e2d3fc52..71180254 100644
--- a/lib/python/Components/Converter/ServiceInfo.py
+++ b/lib/python/Components/Converter/ServiceInfo.py
@@ -8,6 +8,8 @@ class ServiceInfo(Converter, object):
IS_CRYPTED = 2
IS_WIDESCREEN = 3
SUBSERVICES_AVAILABLE = 4
+ XRES = 5
+ YRES = 6
def __init__(self, type):
Converter.__init__(self, type)
@@ -17,6 +19,8 @@ class ServiceInfo(Converter, object):
"IsCrypted": self.IS_CRYPTED,
"IsWidescreen": self.IS_WIDESCREEN,
"SubservicesAvailable": self.SUBSERVICES_AVAILABLE,
+ "VideoWidth": self.XRES,
+ "VideoHeight": self.YRES,
}[type]
self.interesting_events = {
@@ -24,15 +28,18 @@ class ServiceInfo(Converter, object):
self.IS_MULTICHANNEL: [iPlayableService.evUpdatedInfo],
self.IS_CRYPTED: [iPlayableService.evUpdatedInfo],
self.IS_WIDESCREEN: [iPlayableService.evVideoSizeChanged],
- self.SUBSERVICES_AVAILABLE: [iPlayableService.evUpdatedEventInfo]
+ self.SUBSERVICES_AVAILABLE: [iPlayableService.evUpdatedEventInfo],
+ self.XRES: [iPlayableService.evVideoSizeChanged],
+ self.YRES: [iPlayableService.evVideoSizeChanged],
}[self.type]
- @cached
- def getServiceInfoValue(self, info, what):
+ def getServiceInfoString(self, info, what):
v = info.getInfo(what)
- if v != -2:
+ if v == -1:
return "N/A"
- return info.getInfoString(what)
+ if v == -2:
+ return info.getInfoString(what)
+ return "%d" % v
@cached
def getBoolean(self):
@@ -64,6 +71,37 @@ class ServiceInfo(Converter, object):
return subservices and subservices.getNumberOfSubservices() > 0
boolean = property(getBoolean)
+
+ @cached
+ def getText(self):
+ service = self.source.service
+ info = service and service.info()
+ if not info:
+ return ""
+
+ if self.type == self.XRES:
+ return self.getServiceInfoString(info, iServiceInformation.sVideoWidth)
+ if self.type == self.YRES:
+ return self.getServiceInfoString(info, iServiceInformation.sVideoHeight)
+ return ""
+
+ text = property(getText)
+
+ @cached
+ def getValue(self):
+ service = self.source.service
+ info = service and service.info()
+ if not info:
+ return -1
+
+ if self.type == self.XRES:
+ return info.getInfo(iServiceInformation.sVideoWidth)
+ if self.type == self.YRES:
+ return info.getInfo(iServiceInformation.sVideoHeight)
+
+ return -1
+
+ value = property(getValue)
def changed(self, what):
if what[0] != self.CHANGED_SPECIFIC or what[1] in self.interesting_events: