1 from Components.Converter.Converter import Converter
2 from Components.Element import cached
4 class FrontendInfo(Converter, object):
10 def __init__(self, type):
11 Converter.__init__(self, type)
23 assert self.type != self.LOCK, "the text output of FrontendInfo cannot be used for lock info"
24 if self.type == self.BER: # as count
25 count = self.source.ber
30 elif self.type == self.AGC:
31 percent = self.source.agc
32 elif self.type == self.SNR:
33 percent = self.source.snr
38 return "%d %%" % (percent * 100 / 65536)
42 assert self.type in [self.LOCK, self.BER], "the boolean output of FrontendInfo can only be used for lock or BER info"
43 if self.type == self.LOCK:
44 return self.source.lock
46 return self.source.ber > 0
48 text = property(getText)
50 boolean = property(getBool)
54 assert self.type != self.LOCK, "the value/range output of FrontendInfo can not be used for lock info"
55 if self.type == self.AGC:
56 return self.source.agc or 0
57 elif self.type == self.SNR:
58 return self.source.snr or 0
59 elif self.type == self.BER:
60 if self.BER < self.range:
66 value = property(getValue)