diff options
author | Chris St. Pierre <chris.a.st.pierre@gmail.com> | 2013-09-16 12:50:27 -0400 |
---|---|---|
committer | Chris St. Pierre <chris.a.st.pierre@gmail.com> | 2013-09-16 12:50:27 -0400 |
commit | 6014e43072f1e81951a2745ab119716908d84db1 (patch) | |
tree | 6423cde932de38a43192199af830cd5a6ec5b6f7 /src/lib/Bcfg2/Server/Plugin/helpers.py | |
parent | 76f042e6e465af8a3fbc4fb145661c37626e9958 (diff) | |
parent | b03e1e47c9805332cd83dcc5cf3e68e0b3c8175a (diff) | |
download | bcfg2-6014e43072f1e81951a2745ab119716908d84db1.tar.gz bcfg2-6014e43072f1e81951a2745ab119716908d84db1.tar.bz2 bcfg2-6014e43072f1e81951a2745ab119716908d84db1.zip |
Merge branch 'maint'
Conflicts:
src/lib/Bcfg2/Server/Plugins/Cfg/CfgPublicKeyCreator.py
testsuite/Testsrc/Testlib/TestServer/TestPlugins/TestCfg/TestCfgPrivateKeyCreator.py
Diffstat (limited to 'src/lib/Bcfg2/Server/Plugin/helpers.py')
-rw-r--r-- | src/lib/Bcfg2/Server/Plugin/helpers.py | 19 |
1 files changed, 8 insertions, 11 deletions
diff --git a/src/lib/Bcfg2/Server/Plugin/helpers.py b/src/lib/Bcfg2/Server/Plugin/helpers.py index 73ad24614..98cd250dd 100644 --- a/src/lib/Bcfg2/Server/Plugin/helpers.py +++ b/src/lib/Bcfg2/Server/Plugin/helpers.py @@ -547,16 +547,12 @@ class XMLFileBacked(FileBacked): xdata = self.xdata.getroottree() else: xdata = lxml.etree.parse(fname) - included = [el for el in xdata.findall('//' + xinclude)] - for el in included: + for el in xdata.findall('//' + xinclude): name = el.get("href") if name.startswith("/"): fpath = name else: - if fname: - rel = fname - else: - rel = self.name + rel = fname or self.name fpath = os.path.join(os.path.dirname(rel), name) # expand globs in xinclude, a bcfg2-specific extension @@ -571,12 +567,13 @@ class XMLFileBacked(FileBacked): parent = el.getparent() parent.remove(el) for extra in extras: - if extra != self.name and extra not in self.extras: - self.extras.append(extra) + if extra != self.name: lxml.etree.SubElement(parent, xinclude, href=extra) - self._follow_xincludes(fname=extra) - if extra not in self.extra_monitors: - self.add_monitor(extra) + if extra not in self.extras: + self.extras.append(extra) + self._follow_xincludes(fname=extra) + if extra not in self.extra_monitors: + self.add_monitor(extra) def Index(self): self.xdata = lxml.etree.XML(self.data, base_url=self.name, |