summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorChris St. Pierre <chris.a.st.pierre@gmail.com>2013-08-29 08:40:18 -0400
committerChris St. Pierre <chris.a.st.pierre@gmail.com>2013-08-29 08:40:20 -0400
commit542ededa8297b1889542d97b9bdfb8345dd7550c (patch)
tree9e983f1e20ca413e80acabd570f9f83fc843a4ed /src
parent01d7c89326cabe4a45ff99accba395eeed89f9c4 (diff)
downloadbcfg2-542ededa8297b1889542d97b9bdfb8345dd7550c.tar.gz
bcfg2-542ededa8297b1889542d97b9bdfb8345dd7550c.tar.bz2
bcfg2-542ededa8297b1889542d97b9bdfb8345dd7550c.zip
Rules: fixed HandlesEntry for XMLSrc replacement
This makes HandlesEntry work with the new code that's in place for StructFile to replace XMLSrc. Fixes https://github.com/Bcfg2/bcfg2/commit/2169edc1bba82076db776b75db89b79d6f2f4786#commitcomment-3968162
Diffstat (limited to 'src')
-rw-r--r--src/lib/Bcfg2/Server/Plugins/Rules.py7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/lib/Bcfg2/Server/Plugins/Rules.py b/src/lib/Bcfg2/Server/Plugins/Rules.py
index 21862c5db..42d66e9d8 100644
--- a/src/lib/Bcfg2/Server/Plugins/Rules.py
+++ b/src/lib/Bcfg2/Server/Plugins/Rules.py
@@ -13,9 +13,10 @@ class Rules(Bcfg2.Server.Plugin.PrioDir):
self._regex_cache = dict()
def HandlesEntry(self, entry, metadata):
- if entry.tag in self.Entries:
- return self._matches(entry, metadata,
- self.Entries[entry.tag].keys())
+ for src in self.entries.values():
+ for candidate in src.XMLMatch(metadata).xpath("//%s" % entry.tag):
+ if self._matches(entry, metadata, candidate):
+ return True
return False
def BindEntry(self, entry, metadata):