summaryrefslogtreecommitdiffstats
path: root/src/lib/Bcfg2/Server/Plugin/helpers.py
diff options
context:
space:
mode:
authorChris St. Pierre <chris.a.st.pierre@gmail.com>2013-12-08 21:21:42 -0500
committerChris St. Pierre <chris.a.st.pierre@gmail.com>2013-12-09 07:17:30 -0500
commit91558c72f6905991c7fb3f24057ab9e41ecce434 (patch)
tree26dc007dec460792431b530996cc434ec275bc0a /src/lib/Bcfg2/Server/Plugin/helpers.py
parent2695e7a9af097596527edb52a722d17ea44601cc (diff)
downloadbcfg2-91558c72f6905991c7fb3f24057ab9e41ecce434.tar.gz
bcfg2-91558c72f6905991c7fb3f24057ab9e41ecce434.tar.bz2
bcfg2-91558c72f6905991c7fb3f24057ab9e41ecce434.zip
XMLSrc: Load XML in one step instead of separate read and parse
Diffstat (limited to 'src/lib/Bcfg2/Server/Plugin/helpers.py')
-rw-r--r--src/lib/Bcfg2/Server/Plugin/helpers.py11
1 files changed, 2 insertions, 9 deletions
diff --git a/src/lib/Bcfg2/Server/Plugin/helpers.py b/src/lib/Bcfg2/Server/Plugin/helpers.py
index be9c9e8ae..3e7d68cd8 100644
--- a/src/lib/Bcfg2/Server/Plugin/helpers.py
+++ b/src/lib/Bcfg2/Server/Plugin/helpers.py
@@ -840,15 +840,10 @@ class XMLSrc(XMLFileBacked):
def HandleEvent(self, _=None):
"""Read file upon update."""
- try:
- data = open(self.name).read()
- except IOError:
- msg = "Failed to read file %s: %s" % (self.name, sys.exc_info()[1])
- self.logger.error(msg)
- raise PluginExecutionError(msg)
self.items = {}
try:
- xdata = lxml.etree.XML(data, parser=Bcfg2.Server.XMLParser)
+ xdata = lxml.etree.parse(self.name,
+ parser=Bcfg2.Server.XMLParser).getroot()
except lxml.etree.XMLSyntaxError:
msg = "Failed to parse file %s: %s" % (self.name,
sys.exc_info()[1])
@@ -865,8 +860,6 @@ class XMLSrc(XMLFileBacked):
self.logger.error(msg)
raise PluginExecutionError(msg)
- del xdata, data
-
def Cache(self, metadata):
"""Build a package dict for a given host."""
if self.cache is None or self.cache[0] != metadata: