X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/4b8c8a054ffa5cf8bf15ad1a6cafaa07c14432e2..abcc03fa546d408b9a858c0e1681deabfbdc3cd5:/lib/python/Components/Converter/FrontendInfo.py diff --git a/lib/python/Components/Converter/FrontendInfo.py b/lib/python/Components/Converter/FrontendInfo.py index a1064b97..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 @@ -6,8 +7,8 @@ class FrontendInfo(Converter, object): AGC = 2 LOCK = 3 - def __init__(self, type, *args, **kwargs): - Converter.__init__(self) + def __init__(self, type): + Converter.__init__(self, type) if type == "BER": self.type = self.BER elif type == "SNR": @@ -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,14 +37,19 @@ class FrontendInfo(Converter, object): return "%d %%" % (percent * 100 / 65536) + @cached def getBool(self): - assert self.type == LOCK, "the boolean output of FrontendInfo can only be used for lock info" - return self.source.lock + 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: + return self.source.lock + else: + return self.source.ber > 0 text = property(getText) - bool = property(getBool) + 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: