summaryrefslogtreecommitdiffstats
path: root/src/lib/Server/Metadata.py
diff options
context:
space:
mode:
authorNarayan Desai <desai@mcs.anl.gov>2005-11-28 20:18:16 +0000
committerNarayan Desai <desai@mcs.anl.gov>2005-11-28 20:18:16 +0000
commitee908766e9704749d00845f0b14cbfa5681850fd (patch)
tree96b8b6d16c189085dc0174e46e1e995fe977d912 /src/lib/Server/Metadata.py
parentc62e5282a63c64712b9653ac3ffc1e2364f73845 (diff)
downloadbcfg2-ee908766e9704749d00845f0b14cbfa5681850fd.tar.gz
bcfg2-ee908766e9704749d00845f0b14cbfa5681850fd.tar.bz2
bcfg2-ee908766e9704749d00845f0b14cbfa5681850fd.zip
work around lxml bug
(Logical change 1.367) git-svn-id: https://svn.mcs.anl.gov/repos/bcfg/trunk/bcfg2@1537 ce84e21b-d406-0410-9b95-82705330c041
Diffstat (limited to 'src/lib/Server/Metadata.py')
-rw-r--r--src/lib/Server/Metadata.py13
1 files changed, 7 insertions, 6 deletions
diff --git a/src/lib/Server/Metadata.py b/src/lib/Server/Metadata.py
index a4f3779d4..e83715fbe 100644
--- a/src/lib/Server/Metadata.py
+++ b/src/lib/Server/Metadata.py
@@ -115,15 +115,16 @@ class MetadataStore(SingleXMLFileBacked):
'''Produce a pretty-printed text representation of element'''
if element.text:
fmt = "%s<%%s %%s>%%s</%%s>" % (level*" ")
- data = (element.tag, (" ".join(["%s='%s'" % x for x in element.attrib.iteritems()])),
+ data = (element.tag, (" ".join(["%s='%s'" % (key, element.attrib[key]) for key in element.attrib])),
element.text, element.tag)
- if element._children:
- fmt = "%s<%%s %%s>\n" % (level*" ",) + (len(element._children) * "%s") + "%s</%%s>\n" % (level*" ")
- data = (element.tag, ) + (" ".join(["%s='%s'" % x for x in element.attrib.iteritems()]),)
- data += tuple([self.pretty_print(x, level+2) for x in element._children]) + (element.tag, )
+ numchild = len(element.getchildren())
+ if numchild:
+ fmt = "%s<%%s %%s>\n" % (level*" ",) + (numchild * "%s") + "%s</%%s>\n" % (level*" ")
+ data = (element.tag, ) + (" ".join(["%s='%s'" % (key, element.attrib[key]) for key in element.attrib]),)
+ data += tuple([self.pretty_print(entry, level+2) for entry in element.getchildren()]) + (element.tag, )
else:
fmt = "%s<%%s %%s/>\n" % (level * " ")
- data = (element.tag, " ".join(["%s='%s'" % x for x in element.attrib.iteritems()]))
+ data = (element.tag, " ".join(["%s='%s'" % (key, element.attrib[key]) for key in element.attrib]))
return fmt % data
def WriteBack(self):