X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=sfa%2Futil%2Frspec.py;fp=sfa%2Futil%2Frspec.py;h=2b1fe856fceffc2b020384a905cff43a9f7f73aa;hb=7167178c2b6b108ec5d47f05e7c3b397779b5fa8;hp=902733c849cd2f8b5e6b73f159e5b412a883a02e;hpb=02a70ef24872e9e205e5e9dea457ec9f624c8246;p=sfa.git diff --git a/sfa/util/rspec.py b/sfa/util/rspec.py index 902733c8..2b1fe856 100644 --- a/sfa/util/rspec.py +++ b/sfa/util/rspec.py @@ -1,6 +1,7 @@ ### $Id$ ### $URL$ +import pdb import sys import pprint import os @@ -91,9 +92,6 @@ 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) @@ -105,8 +103,15 @@ class Rspec: siblingdict = self.appendToDictOrCreate(siblingdict, curNodeName, child.nodeValue) else: siblingdict = self.toGenDict(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: - siblingdict[curNodeName]=[] + self.appendToDictOrCreate(siblingdict, curNodeName, []) if (parentdict is not None): parentdict = self.appendToDictOrCreate(parentdict, parent, siblingdict)