From: Sapan Bhatia Date: Thu, 9 Jul 2009 22:07:35 +0000 (+0000) Subject: Fixed a corner case X-Git-Tag: sfa-0.9-0@14641~82 X-Git-Url: http://git.onelab.eu/?a=commitdiff_plain;h=511f20a7cb11b97552c414be60c297fcbb5adbde;p=sfa.git Fixed a corner case --- diff --git a/sfa/util/rspec.py b/sfa/util/rspec.py index 94ef1ff0..04c2e52e 100644 --- a/sfa/util/rspec.py +++ b/sfa/util/rspec.py @@ -91,6 +91,9 @@ class Rspec: if (nodeDom.hasChildNodes()): childdict={} + for attribute in nodeDom.attributes.keys(): + siblingdict = self.appendToDictOrCreate(siblingdict, attribute, nodeDom.getAttribute(attribute)) + for child in nodeDom.childNodes[:-1]: if (child.nodeValue): siblingdict = self.appendToDictOrCreate(siblingdict, curNodeName, child.nodeValue) @@ -102,10 +105,9 @@ class Rspec: siblingdict = self.appendToDictOrCreate(siblingdict, curNodeName, child.nodeValue) else: siblingdict = self.toGenDict(child, siblingdict, childdict, curNodeName) - - for attribute in nodeDom.attributes.keys(): - siblingdict = self.appendToDictOrCreate(siblingdict, attribute, nodeDom.getAttribute(attribute)) - + else: + siblingdict[curNodeName]=[] + if (parentdict is not None): parentdict = self.appendToDictOrCreate(parentdict, parent, siblingdict) return parentdict