git.cweiske.de
/
enigma2.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
lib/python/Components/config.py: revert previous change because of side effects
[enigma2.git]
/
lib
/
python
/
Components
/
Sources
/
FrontendStatus.py
diff --git
a/lib/python/Components/Sources/FrontendStatus.py
b/lib/python/Components/Sources/FrontendStatus.py
index 60b701026549cb7e18bbd9aa3d5de5904eef6a81..8f1b36dc73fd3eb28ce57b1f9b85b41217e702cc 100644
(file)
--- a/
lib/python/Components/Sources/FrontendStatus.py
+++ b/
lib/python/Components/Sources/FrontendStatus.py
@@
-1,37
+1,40
@@
from Source import Source
from Source import Source
-from enigma import eTimer
, iFrontendInformation
+from enigma import eTimer
class FrontendStatus(Source):
class FrontendStatus(Source):
- def __init__(self, service_source = None, frontend_source = None):
+ def __init__(self, service_source = None, frontend_source = None
, update_interval = 1000
):
Source.__init__(self)
Source.__init__(self)
+ self.update_interval = update_interval
self.service_source = service_source
self.frontend_source = frontend_source
self.invalidate()
self.service_source = service_source
self.frontend_source = frontend_source
self.invalidate()
-
self.poll_timer = eTimer()
self.poll_timer = eTimer()
- self.poll_timer.
timeout.get()
.append(self.updateFrontendStatus)
- self.poll_timer.start(
1000
)
+ self.poll_timer.
callback
.append(self.updateFrontendStatus)
+ self.poll_timer.start(
update_interval, True
)
def invalidate(self):
def invalidate(self):
- self.snr = self.agc = self.ber = self.lock = None
+ self.snr = self.agc = self.ber = self.lock =
self.snr_db =
None
def updateFrontendStatus(self):
status = self.getFrontendStatus()
if not status:
self.invalidate()
else:
def updateFrontendStatus(self):
status = self.getFrontendStatus()
if not status:
self.invalidate()
else:
- self.snr = status.get("tuner_signal_power")
- self.agc = status.get("tuner_signal_quality")
+ self.snr = status.get("tuner_signal_quality")
+ self.snr_db = status.get("tuner_signal_quality_db")
+ self.agc = status.get("tuner_signal_power")
self.ber = status.get("tuner_bit_error_rate")
self.lock = status.get("tuner_locked")
self.changed((self.CHANGED_ALL, ))
self.ber = status.get("tuner_bit_error_rate")
self.lock = status.get("tuner_locked")
self.changed((self.CHANGED_ALL, ))
+ self.poll_timer.start(self.update_interval, True)
def getFrontendStatus(self):
if self.frontend_source:
frontend = self.frontend_source()
def getFrontendStatus(self):
if self.frontend_source:
frontend = self.frontend_source()
+ dict = { }
if frontend:
if frontend:
- dict = { }
frontend.getFrontendStatus(dict)
frontend.getFrontendStatus(dict)
+ return dict
elif self.service_source:
service = self.service_source()
feinfo = service and service.frontendInfo()
elif self.service_source:
service = self.service_source()
feinfo = service and service.frontendInfo()
@@
-43,5
+46,9
@@
class FrontendStatus(Source):
if suspended:
self.poll_timer.stop()
else:
if suspended:
self.poll_timer.stop()
else:
- self.poll_timer.start(1000)
+ self.updateFrontendStatus()
+
+ def destroy(self):
+ self.poll_timer.callback.remove(self.updateFrontendStatus)
+ Source.destroy(self)