X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/1557c715e461d5a7deb04bb008c6497441351bbe..cfb7ccb1ee949337ebbbde784828ed46943af6eb:/lib/python/Components/Sources/FrontendStatus.py diff --git a/lib/python/Components/Sources/FrontendStatus.py b/lib/python/Components/Sources/FrontendStatus.py index f1402f11..60b70102 100644 --- a/lib/python/Components/Sources/FrontendStatus.py +++ b/lib/python/Components/Sources/FrontendStatus.py @@ -16,24 +16,32 @@ class FrontendStatus(Source): self.snr = self.agc = self.ber = self.lock = None def updateFrontendStatus(self): - feinfo = self.getFrontendInfo() - if feinfo is None: + status = self.getFrontendStatus() + if not status: self.invalidate() else: - (self.snr, self.agc, self.ber, self.lock) = \ - [feinfo.getFrontendInfo(x) \ - for x in [iFrontendInformation.signalPower, - iFrontendInformation.signalQuality, - iFrontendInformation.bitErrorRate, - iFrontendInformation.lockState] ] - + self.snr = status.get("tuner_signal_power") + self.agc = status.get("tuner_signal_quality") + self.ber = status.get("tuner_bit_error_rate") + self.lock = status.get("tuner_locked") self.changed((self.CHANGED_ALL, )) - def getFrontendInfo(self): + def getFrontendStatus(self): if self.frontend_source: - return self.frontend_source() + frontend = self.frontend_source() + if frontend: + dict = { } + frontend.getFrontendStatus(dict) elif self.service_source: service = self.service_source() - return service and service.frontendInfo() + feinfo = service and service.frontendInfo() + return feinfo and feinfo.getFrontendStatus() else: return None + + def doSuspend(self, suspended): + if suspended: + self.poll_timer.stop() + else: + self.poll_timer.start(1000) +