diff options
author | Chris St. Pierre <chris.a.st.pierre@gmail.com> | 2013-12-08 21:21:42 -0500 |
---|---|---|
committer | Chris St. Pierre <chris.a.st.pierre@gmail.com> | 2013-12-09 07:17:30 -0500 |
commit | 91558c72f6905991c7fb3f24057ab9e41ecce434 (patch) | |
tree | 26dc007dec460792431b530996cc434ec275bc0a /src/lib/Bcfg2/Server/Plugin/helpers.py | |
parent | 2695e7a9af097596527edb52a722d17ea44601cc (diff) | |
download | bcfg2-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.py | 11 |
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: |