summaryrefslogtreecommitdiffstats
path: root/src/lib/Client/Frame.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/Client/Frame.py')
-rw-r--r--src/lib/Client/Frame.py14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/lib/Client/Frame.py b/src/lib/Client/Frame.py
index a54760b12..009ee61ec 100644
--- a/src/lib/Client/Frame.py
+++ b/src/lib/Client/Frame.py
@@ -148,6 +148,20 @@ class Frame:
candidates = [entry for entry in self.states if not self.states[entry]]
self.whitelist = [entry for entry in self.states if not self.states[entry]]
+ # Need to process decision stuff early, so that dryrun mode works with it
+ if self.setup['decision'] == 'whitelist':
+ dwl = self.setup['decision_list'][0]
+ self.whitelist = [e for e in self.whitelist \
+ if (e.tag, e.get('name')) in dwl or \
+ (e.tag, '*') in dwl or \
+ ('*', e.get('name')) in dwl]
+ elif self.setup['decision'] == 'blacklist':
+ dbl = self.setup['decision_list'][1]
+ self.whitelist = [e for e in self.whitelist \
+ if (e.tag, e.get('name')) not in dbl and \
+ (e.tag, '*') not in dbl and \
+ ('*', e.get('name')) not in dbl]
+
if self.dryrun:
if self.whitelist:
self.logger.info("In dryrun mode: suppressing entry installation for:")