summaryrefslogtreecommitdiffstats
path: root/filter.py
diff options
context:
space:
mode:
authorJan Pokorný <jpokorny@redhat.com>2014-04-01 18:17:00 +0200
committerJan Pokorný <jpokorny@redhat.com>2014-04-01 18:17:00 +0200
commitf50f2be335de4d9e7ddd6e855d3af2d6c618351e (patch)
treea27925a3abf97c1e8133f78e9f447e09eb17deaa /filter.py
parent32408f6fbab818a892ef81189034eb8bcdf636d7 (diff)
downloadclufter-f50f2be335de4d9e7ddd6e855d3af2d6c618351e.tar.gz
clufter-f50f2be335de4d9e7ddd6e855d3af2d6c618351e.tar.xz
clufter-f50f2be335de4d9e7ddd6e855d3af2d6c618351e.zip
filter: exception if parent doesn't expect observed child
Discovered due/thanks to a typo in tests.filter.XMLTraverse.testDirectXSLT (fix upcoming). Signed-off-by: Jan Pokorný <jpokorny@redhat.com>
Diffstat (limited to 'filter.py')
-rw-r--r--filter.py5
1 files changed, 4 insertions, 1 deletions
diff --git a/filter.py b/filter.py
index 931ff78..f66721f 100644
--- a/filter.py
+++ b/filter.py
@@ -244,8 +244,11 @@ class XMLFilter(Filter, MetaPlugin):
# be applied and the result attached (0), or just merged
# to the parent template (1 if not preserve-rest required,
# 2 otherwise)
- do_mix = parent[1].get(name, parent[1].get('*'))[1] \
+ do_mix = parent[1].get(name, parent[1].get('*', (None, None)))[1] \
if parent else 0
+ if do_mix is None:
+ raise RuntimeError("Parent does not expect `{0}' nor wildcard"
+ .format(name))
if do_mix and do_mix < will_mix:
raise RuntimeError("Parent does not want preserve-rest while"
" children wants to")