aboutsummaryrefslogtreecommitdiff
path: root/lib/python/Components/Converter
diff options
context:
space:
mode:
authorFelix Domke <tmbinc@elitedvb.net>2006-08-09 00:26:15 +0000
committerFelix Domke <tmbinc@elitedvb.net>2006-08-09 00:26:15 +0000
commit9d3112aad388b4369a339b851aa2507a02bb2d4f (patch)
tree744d27b53a25921978f8df8b1b1c2c836caa442c /lib/python/Components/Converter
parentab2ae6bd08a0ef13fc7462d51fc3a9ab15509b17 (diff)
downloadenigma2-9d3112aad388b4369a339b851aa2507a02bb2d4f.tar.gz
enigma2-9d3112aad388b4369a339b851aa2507a02bb2d4f.zip
fix caching
Diffstat (limited to 'lib/python/Components/Converter')
-rw-r--r--lib/python/Components/Converter/ClockToText.py2
-rw-r--r--lib/python/Components/Converter/ConditionalShowHide.py1
-rw-r--r--lib/python/Components/Converter/EventName.py7
-rw-r--r--lib/python/Components/Converter/EventTime.py13
-rw-r--r--lib/python/Components/Converter/FrontendInfo.py4
-rw-r--r--lib/python/Components/Converter/RemainingToText.py3
-rw-r--r--lib/python/Components/Converter/ServiceInfo.py8
-rw-r--r--lib/python/Components/Converter/ServiceName.py3
-rw-r--r--lib/python/Components/Converter/ServicePosition.py5
-rw-r--r--lib/python/Components/Converter/StringList.py4
-rw-r--r--lib/python/Components/Converter/ValueRange.py2
11 files changed, 29 insertions, 23 deletions
diff --git a/lib/python/Components/Converter/ClockToText.py b/lib/python/Components/Converter/ClockToText.py
index 5d5df651..5cc709f2 100644
--- a/lib/python/Components/Converter/ClockToText.py
+++ b/lib/python/Components/Converter/ClockToText.py
@@ -1,5 +1,6 @@
from Converter import Converter
from time import localtime, strftime
+from Components.Element import cached
class ClockToText(Converter, object):
DEFAULT = 0
@@ -21,6 +22,7 @@ class ClockToText(Converter, object):
else:
self.type = self.DEFAULT
+ @cached
def getText(self):
time = self.source.time
if time is None:
diff --git a/lib/python/Components/Converter/ConditionalShowHide.py b/lib/python/Components/Converter/ConditionalShowHide.py
index cc98288f..d72447d9 100644
--- a/lib/python/Components/Converter/ConditionalShowHide.py
+++ b/lib/python/Components/Converter/ConditionalShowHide.py
@@ -1,7 +1,6 @@
from Converter import Converter
class ConditionalShowHide(Converter, object):
-
def __init__(self, type):
Converter.__init__(self, type)
self.invert = type == "Invert"
diff --git a/lib/python/Components/Converter/EventName.py b/lib/python/Components/Converter/EventName.py
index f128133a..919dd3b0 100644
--- a/lib/python/Components/Converter/EventName.py
+++ b/lib/python/Components/Converter/EventName.py
@@ -1,4 +1,5 @@
from Components.Converter.Converter import Converter
+from Components.Element import cached
class EventName(Converter, object):
NAME = 0
@@ -14,12 +15,8 @@ class EventName(Converter, object):
else:
self.type = self.NAME
+ @cached
def getText(self):
- if self.cache is None:
- self.cache = self.__getText()
- return self.cache
-
- def __getText(self):
event = self.source.event
if event is None:
return "N/A"
diff --git a/lib/python/Components/Converter/EventTime.py b/lib/python/Components/Converter/EventTime.py
index 4a73e0ac..955fdbcf 100644
--- a/lib/python/Components/Converter/EventTime.py
+++ b/lib/python/Components/Converter/EventTime.py
@@ -1,6 +1,7 @@
from Converter import Converter
from Poll import Poll
from time import time
+from Components.Element import cached
class EventTime(Poll, Converter, object):
STARTTIME = 0
@@ -29,12 +30,8 @@ class EventTime(Poll, Converter, object):
else:
raise str("'%s' is not <StartTime|EndTime|Remaining|Duration> for EventTime converter" % type)
+ @cached
def getTime(self):
- if self.cache is None or self.cache[0] is None:
- self.cache = (self.__getTime(), self.cache and self.cache[1])
- return self.cache[0]
-
- def __getTime(self):
assert self.type != self.PROGRESS
event = self.source.event
@@ -57,12 +54,8 @@ class EventTime(Poll, Converter, object):
else:
return (duration, None)
+ @cached
def getValue(self):
- if self.cache is None or self.cache[1] is None:
- self.cache = (self.cache and self.cache[0], self.__getValue())
- return self.cache[1]
-
- def __getValue(self):
assert self.type == self.PROGRESS
event = self.source.event
diff --git a/lib/python/Components/Converter/FrontendInfo.py b/lib/python/Components/Converter/FrontendInfo.py
index 347f7a13..e2923a95 100644
--- a/lib/python/Components/Converter/FrontendInfo.py
+++ b/lib/python/Components/Converter/FrontendInfo.py
@@ -1,4 +1,5 @@
from Components.Converter.Converter import Converter
+from Components.Element import cached
class FrontendInfo(Converter, object):
BER = 0
@@ -17,6 +18,7 @@ class FrontendInfo(Converter, object):
else:
self.type = self.LOCK
+ @cached
def getText(self):
assert self.type != self.LOCK, "the text output of FrontendInfo cannot be used for lock info"
if self.type == self.BER: # as count
@@ -35,6 +37,7 @@ class FrontendInfo(Converter, object):
return "%d %%" % (percent * 100 / 65536)
+ @cached
def getBool(self):
assert self.type in [self.LOCK, self.BER], "the boolean output of FrontendInfo can only be used for lock or BER info"
if self.type == self.LOCK:
@@ -46,6 +49,7 @@ class FrontendInfo(Converter, object):
boolean = property(getBool)
+ @cached
def getValue(self):
assert self.type != self.LOCK, "the value/range output of FrontendInfo can not be used for lock info"
if self.type == self.AGC:
diff --git a/lib/python/Components/Converter/RemainingToText.py b/lib/python/Components/Converter/RemainingToText.py
index 007095e0..adefe9cf 100644
--- a/lib/python/Components/Converter/RemainingToText.py
+++ b/lib/python/Components/Converter/RemainingToText.py
@@ -1,11 +1,12 @@
from Components.Converter.Converter import Converter
+from Components.Element import cached
class RemainingToText(Converter, object):
def __init__(self, type):
Converter.__init__(self, type)
+ @cached
def getText(self):
-
r = self.source.time
if r is None:
return ""
diff --git a/lib/python/Components/Converter/ServiceInfo.py b/lib/python/Components/Converter/ServiceInfo.py
index e1351c56..c581ed73 100644
--- a/lib/python/Components/Converter/ServiceInfo.py
+++ b/lib/python/Components/Converter/ServiceInfo.py
@@ -1,5 +1,6 @@
from Components.Converter.Converter import Converter
from enigma import iServiceInformation, iPlayableService
+from Components.Element import cached
class ServiceInfo(Converter, object):
HAS_TELETEXT = 0
@@ -26,18 +27,15 @@ class ServiceInfo(Converter, object):
self.SUBSERVICES_AVAILABLE: [iPlayableService.evUpdatedEventInfo]
}[self.type]
+ @cached
def getServiceInfoValue(self, info, what):
v = info.getInfo(what)
if v != -2:
return "N/A"
return info.getInfoString(what)
+ @cached
def getBoolean(self):
- if self.cache is None:
- self.cache = self.__getBoolean()
- return self.cache
-
- def __getBoolean(self):
service = self.source.service
info = service and service.info()
if not info:
diff --git a/lib/python/Components/Converter/ServiceName.py b/lib/python/Components/Converter/ServiceName.py
index cffe494d..5de89103 100644
--- a/lib/python/Components/Converter/ServiceName.py
+++ b/lib/python/Components/Converter/ServiceName.py
@@ -1,5 +1,6 @@
from Components.Converter.Converter import Converter
from enigma import iServiceInformation, iPlayableService
+from Components.Element import cached
class ServiceName(Converter, object):
NAME = 0
@@ -12,12 +13,14 @@ class ServiceName(Converter, object):
else:
self.type = self.NAME
+ @cached
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()
diff --git a/lib/python/Components/Converter/ServicePosition.py b/lib/python/Components/Converter/ServicePosition.py
index dfb792ad..c285385a 100644
--- a/lib/python/Components/Converter/ServicePosition.py
+++ b/lib/python/Components/Converter/ServicePosition.py
@@ -1,6 +1,7 @@
from Converter import Converter
from Poll import Poll
from enigma import iPlayableService
+from Components.Element import cached
class ServicePosition(Converter, Poll, object):
TYPE_LENGTH = 0,
@@ -27,6 +28,7 @@ class ServicePosition(Converter, Poll, object):
s = self.source.service
return s and s.seek()
+ @cached
def getPosition(self):
seek = self.getSeek()
if seek is None:
@@ -36,6 +38,7 @@ class ServicePosition(Converter, Poll, object):
return 0
return pos[1]
+ @cached
def getLength(self):
seek = self.getSeek()
if seek is None:
@@ -45,11 +48,13 @@ class ServicePosition(Converter, Poll, object):
return 0
return length[1]
+ @cached
def getCutlist(self):
service = self.source.service
cue = service and service.cueSheet()
return cue and cue.getCutList()
+ @cached
def getText(self):
seek = self.getSeek()
if seek is None:
diff --git a/lib/python/Components/Converter/StringList.py b/lib/python/Components/Converter/StringList.py
index ed264651..1304c643 100644
--- a/lib/python/Components/Converter/StringList.py
+++ b/lib/python/Components/Converter/StringList.py
@@ -1,6 +1,6 @@
from Converter import Converter
from enigma import eListboxPythonStringContent
-
+from Components.Element import cached
class StringList(Converter):
"""Turns a simple python list into a list which can be used in a listbox."""
@@ -20,6 +20,7 @@ class StringList(Converter):
if x is not self.master:
x.index = index
+ @cached
def getCurrent(self):
if self.source is None:
return None
@@ -28,6 +29,7 @@ class StringList(Converter):
current = property(getCurrent)
# pass through: getIndex / setIndex to master
+ @cached
def getIndex(self):
if self.master is None:
return None
diff --git a/lib/python/Components/Converter/ValueRange.py b/lib/python/Components/Converter/ValueRange.py
index 443e7a33..774d021c 100644
--- a/lib/python/Components/Converter/ValueRange.py
+++ b/lib/python/Components/Converter/ValueRange.py
@@ -1,10 +1,12 @@
from Converter import Converter
+from Components.Element import cached
class ValueRange(Converter, object):
def __init__(self, arg):
Converter.__init__(self, arg)
(self.lower, self.upper) = [int(x) for x in arg.split(',')]
+ @cached
def getBoolean(self):
if self.lower < self.upper:
return self.lower < self.source.value < self.upper