From 8a26fcf31e820cb41f881e06e891ab1f6a71e6de Mon Sep 17 00:00:00 2001 From: Sapan Bhatia Date: Fri, 10 Jul 2009 02:34:05 +0000 Subject: [PATCH] apparently, this is allowed: x --- sfa/util/rspec.py | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/sfa/util/rspec.py b/sfa/util/rspec.py index 3c81b800..55fa44e5 100644 --- a/sfa/util/rspec.py +++ b/sfa/util/rspec.py @@ -91,6 +91,8 @@ class Rspec: if (nodeDom.hasChildNodes()): childdict={} + for attribute in nodeDom.attributes.keys(): + childdict = self.appendToDictOrCreate(childdict, attribute, nodeDom.getAttribute(attribute)) for child in nodeDom.childNodes[:-1]: if (child.nodeValue): siblingdict = self.appendToDictOrCreate(siblingdict, curNodeName, child.nodeValue) @@ -100,17 +102,16 @@ class Rspec: child = nodeDom.childNodes[-1] if (child.nodeValue): siblingdict = self.appendToDictOrCreate(siblingdict, curNodeName, child.nodeValue) + if (childdict): + siblingdict = self.appendToDictOrCreate(siblingdict, curNodeName, childdict) else: siblingdict = self.toDict(child, siblingdict, childdict, curNodeName) - - # Keep the attributes separate from text nodes - attrdict={} - for attribute in nodeDom.attributes.keys(): - attrdict = self.appendToDictOrCreate(attrdict, attribute, nodeDom.getAttribute(attribute)) - if (attrdict): - self.appendToDictOrCreate(siblingdict, curNodeName, attrdict) else: - self.appendToDictOrCreate(siblingdict, curNodeName, []) + childdict={} + for attribute in nodeDom.attributes.keys(): + childdict = self.appendToDictOrCreate(childdict, attribute, nodeDom.getAttribute(attribute)) + + self.appendToDictOrCreate(siblingdict, curNodeName, childdict) if (parentdict is not None): parentdict = self.appendToDictOrCreate(parentdict, parent, siblingdict) -- 2.43.0