summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/lib/Server/Plugins/Metadata.py10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/lib/Server/Plugins/Metadata.py b/src/lib/Server/Plugins/Metadata.py
index 659c5e3c3..105d73125 100644
--- a/src/lib/Server/Plugins/Metadata.py
+++ b/src/lib/Server/Plugins/Metadata.py
@@ -478,12 +478,16 @@ class Metadata(Bcfg2.Server.Plugin.Plugin,
fd = datafile.fileno()
while self.locked(fd) == True:
pass
- for item in self.clientdata_original.getroot().iter():
+ dataroot = self.clientdata_original.getroot()
+ if hasattr(dataroot, 'iter'):
+ items = dataroot.iter()
+ else:
+ items = dataroot.getchildren()
+ for item in items:
# no items have text data of any sort
item.tail = None
item.text = None
- datafile.write(lxml.etree.tostring(self.clientdata_original.getroot(),
- pretty_print=True))
+ datafile.write(lxml.etree.tostring(dataroot, pretty_print=True))
fcntl.lockf(fd, fcntl.LOCK_UN)
datafile.close()