git.cweiske.de
/
enigma2.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
add remove to ipkg component and screen
[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 5b7e5b0c3a33da9d5ecb4eccb9f069d998b16a28..5eb3445f09080dedb336203a954e15aa9eb09dd1 100644
(file)
--- a/
lib/python/Components/Sources/FrontendStatus.py
+++ b/
lib/python/Components/Sources/FrontendStatus.py
@@
-2,15
+2,15
@@
from Source import Source
from enigma import eTimer
class FrontendStatus(Source):
from enigma import eTimer
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):
self.snr = self.agc = self.ber = self.lock = self.snr_db = None
def invalidate(self):
self.snr = self.agc = self.ber = self.lock = self.snr_db = None
@@
-20,19
+20,21
@@
class FrontendStatus(Source):
if not status:
self.invalidate()
else:
if not status:
self.invalidate()
else:
- self.snr = status.get("tuner_signal_
power
")
- self.snr_db = status.get("tuner_signal_
power
_db")
- 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()
@@
-44,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.poll_timer.start(self.update_interval)
+
+ def destroy(self):
+ self.poll_timer.callback.remove(self.updateFrontendStatus)
+ Source.destroy(self)