From 0c40ad392824c8a5ee1e0efe7556e12f54d3ceed Mon Sep 17 00:00:00 2001 From: Felix Domke Date: Mon, 9 Oct 2006 21:48:04 +0000 Subject: [PATCH] add optional addNotifier(initial_call=False)-support --- lib/python/Components/config.py | 9 +++++---- .../Plugins/SystemPlugins/Satfinder/plugin.py | 16 ++++++++-------- 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) -- 2.30.2