From ff0fbc90abce96f3ed9b00f785ee9d2055794ae3 Mon Sep 17 00:00:00 2001 From: "Chris St. Pierre" Date: Wed, 16 May 2012 08:46:13 -0400 Subject: use whitespace-stripping XML parser in base plugins --- src/lib/Server/Plugin.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/lib/Server/Plugin.py b/src/lib/Server/Plugin.py index 9b3c5814f..c9de0d89b 100644 --- a/src/lib/Server/Plugin.py +++ b/src/lib/Server/Plugin.py @@ -10,6 +10,7 @@ import posixpath import re import sys import threading +import Bcfg2.Server from Bcfg2.Bcfg2Py3k import ConfigParser from lxml.etree import XML, XMLSyntaxError @@ -256,7 +257,9 @@ class ThreadedStatistics(Statistics, if self.terminate.isSet(): return False - self.work_queue.put_nowait((metadata, lxml.etree.fromstring(pdata))) + self.work_queue.put_nowait((metadata, + lxml.etree.XML(pdata, + parser=Bcfg2.Server.XMLParser))) except Full: self.logger.warning("Queue.Full: Failed to load queue data") break @@ -597,7 +600,8 @@ class SingleXMLFileBacked(XMLFileBacked): def Index(self): """Build local data structures.""" try: - self.xdata = lxml.etree.XML(self.data, base_url=self.name) + self.xdata = lxml.etree.XML(self.data, base_url=self.name, + parser=Bcfg2.Server.XMLParser) except lxml.etree.XMLSyntaxError: err = sys.exc_info()[1] logger.error("Failed to parse %s: %s" % (self.name, err)) @@ -763,7 +767,7 @@ class XMLSrc(XMLFileBacked): return self.items = {} try: - xdata = lxml.etree.XML(data) + xdata = lxml.etree.XML(data, parser=Bcfg2.Server.XMLParser) except lxml.etree.XMLSyntaxError: logger.error("Failed to parse file %s" % (self.name)) return -- cgit v1.2.3-1-g7c22