From 7fb6346d5db27b8bb0671d18af2c69355dacfce0 Mon Sep 17 00:00:00 2001 From: Felix Domke Date: Mon, 24 Sep 2007 01:43:46 +0000 Subject: [PATCH] allow ServicePosition to be used with Progress renderer --- lib/python/Components/Converter/ServicePosition.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/lib/python/Components/Converter/ServicePosition.py b/lib/python/Components/Converter/ServicePosition.py index 089ca6c1..e3110179 100644 --- a/lib/python/Components/Converter/ServicePosition.py +++ b/lib/python/Components/Converter/ServicePosition.py @@ -27,6 +27,8 @@ class ServicePosition(Converter, Poll, object): self.type = self.TYPE_REMAINING elif type == "Gauge": self.type = self.TYPE_GAUGE + else: + raise "type must be {Length|Position|PositionDetaileed|Remaining|Gauge}" self.poll_enabled = self.type != self.TYPE_LENGTH @@ -87,10 +89,22 @@ class ServicePosition(Converter, Poll, object): else: return sign + "%d:%02d:%03d" % ((l/60/90000), (l/90000)%60, (l%90000)/90) + # range/value are for the Progress renderer + range = 10000 + + @cached + def getValue(self): + pos = self.position + len = self.length + if pos is None or len is None or len <= 0: + return None + return pos * 10000 / len + position = property(getPosition) length = property(getLength) cutlist = property(getCutlist) text = property(getText) + value = property(getValue) def changed(self, what): cutlist_refresh = what[0] != self.CHANGED_SPECIFIC or what[1] in [iPlayableService.evCuesheetChanged] -- 2.30.2