aboutsummaryrefslogtreecommitdiff
path: root/lib/python
diff options
context:
space:
mode:
Diffstat (limited to 'lib/python')
-rw-r--r--lib/python/Components/config.py9
-rw-r--r--lib/python/Plugins/SystemPlugins/Satfinder/plugin.py16
2 files changed, 13 insertions, 12 deletions
diff --git a/lib/python/Components/config.py b/lib/python/Components/config.py
index cf94614c..b16b93e3 100644
--- a/lib/python/Components/config.py
+++ b/lib/python/Components/config.py
@@ -71,19 +71,20 @@ class ConfigElement(object):
for x in self.notifiers:
x(self)
- def addNotifier(self, notifier):
+ def addNotifier(self, notifier, initial_call = True):
assert callable(notifier), "notifiers must be callable"
self.notifiers.append(notifier)
-
+
# CHECKME:
# do we want to call the notifier
- # - at all when adding it? (yes)
+ # - at all when adding it? (yes, though optional)
# - when the default is active? (yes)
# - when no value *yet* has been set,
# because no config has ever been read (currently yes)
# (though that's not so easy to detect.
# the entry could just be new.)
- notifier(self)
+ if initial_call:
+ notifier(self)
def disableSave(self):
self.save_disabled = True
diff --git a/lib/python/Plugins/SystemPlugins/Satfinder/plugin.py b/lib/python/Plugins/SystemPlugins/Satfinder/plugin.py
index 06a0f3fb..b8f380d3 100644
--- a/lib/python/Plugins/SystemPlugins/Satfinder/plugin.py
+++ b/lib/python/Plugins/SystemPlugins/Satfinder/plugin.py
@@ -175,13 +175,13 @@ class Satfinder(ScanSetup):
self.updateSats()
- self.tuning_type.addNotifier(self.retune)
- self.tuning_sat.addNotifier(self.sat_changed)
- self.scan_sat.frequency.addNotifier(self.retune)
- self.scan_sat.inversion.addNotifier(self.retune)
- self.scan_sat.symbolrate.addNotifier(self.retune)
- self.scan_sat.polarization.addNotifier(self.retune)
- self.scan_sat.fec.addNotifier(self.retune)
+ self.tuning_type.addNotifier(self.retune, initial_call = False)
+ self.tuning_sat.addNotifier(self.sat_changed, initial_call = False)
+ self.scan_sat.frequency.addNotifier(self.retune, initial_call = False)
+ self.scan_sat.inversion.addNotifier(self.retune, initial_call = False)
+ self.scan_sat.symbolrate.addNotifier(self.retune, initial_call = False)
+ self.scan_sat.polarization.addNotifier(self.retune, initial_call = False)
+ self.scan_sat.fec.addNotifier(self.retune, initial_call = False)
def updateSats(self):
orb_pos = self.tuning_sat.orbital_position
@@ -215,7 +215,7 @@ class Satfinder(ScanSetup):
fec = "FEC_None"
list.append(str(x[1]) + "," + str(x[2]) + "," + pol + "," + fec)
self.tuning_transponder = ConfigSelection(choices = list)
- self.tuning_transponder.addNotifier(self.retune)
+ self.tuning_transponder.addNotifier(self.retune, initial_call = False)
def keyGo(self):
self.retune(self.tuning_type)