From: Tony Mack Date: Fri, 23 Jan 2009 15:23:28 +0000 (+0000) Subject: parseDict now converts a dict do a dom object X-Git-Tag: sfa-0.9-0@14641~725 X-Git-Url: http://git.onelab.eu/?a=commitdiff_plain;h=05d17cbdde8d087a46f8807745b4e86f85e5646c;p=sfa.git parseDict now converts a dict do a dom object --- diff --git a/util/rspec.py b/util/rspec.py index 18ca0365..e6dc1914 100644 --- a/util/rspec.py +++ b/util/rspec.py @@ -2,6 +2,7 @@ import sys import pprint import os from xml.dom import minidom +from types import StringTypes class Rspec(): @@ -106,16 +107,25 @@ class Rspec(): convert a dict object into a dom object. """ doc = minidom.Document() - - def elementDict(rd): + def elementNode(tagname, rd): + element = minidom.Element(tagname) for key in rd.keys(): - if isinstance(rd[key], dict): - elementFromDict(rd[key]) - - for key in dict.keys(): - doc.appendChild(dictElement(rdict)) + if isinstance(rd[key], StringTypes): + element.setAttribute(key, rd[key]) + + elif isinstance(rd[key], dict): + child = elementNode(key, rd[key]) + element.appendChild(child) + + elif isinstance(rd[key], list): + for item in rd[key]: + child = elementNode(key, item) + element.appendChild(child) + + return element + + node = elementNode(rdict.keys()[0], rdict.values()[0]) + doc.appendChild(node) self.rootNode = doc - -