summaryrefslogtreecommitdiffstats
path: root/src/lib/Server/Plugin.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/Server/Plugin.py')
-rw-r--r--src/lib/Server/Plugin.py6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/lib/Server/Plugin.py b/src/lib/Server/Plugin.py
index 77187bb1d..d7c72a357 100644
--- a/src/lib/Server/Plugin.py
+++ b/src/lib/Server/Plugin.py
@@ -1,7 +1,7 @@
'''This module provides the baseclass for Bcfg2 Server Plugins'''
__revision__ = '$Revision:$'
-from lxml.etree import XML, XMLSyntaxError, _Comment
+from lxml.etree import XML, XMLSyntaxError, _Comment, tostring
from os import stat
from stat import ST_MTIME
from syslog import syslog, LOG_ERR, LOG_INFO
@@ -183,6 +183,10 @@ class ScopedXMLFile(SingleXMLFileBacked):
def StoreRecord(self, metadata, entry):
'''Store scoped record based on metadata'''
+ if isinstance(entry, _Comment):
+ return
+ elif not entry.attrib.has_key('name'):
+ syslog(LOG_ERR, "Got malformed record %s" % (tostring(entry)))
if not self.store.has_key(entry.tag):
self.store[entry.tag] = {}
if not self.store[entry.tag].has_key(entry.attrib['name']):