From c59fcba275de77ff4802aaaac15496ec608bfc49 Mon Sep 17 00:00:00 2001 From: Reed Moran Date: Wed, 21 Jan 2009 22:01:11 +0000 Subject: [PATCH] still needs work, but getting there. tips? ;) --- rspec/parse2.py | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/rspec/parse2.py b/rspec/parse2.py index 096e802f..9256f4b5 100644 --- a/rspec/parse2.py +++ b/rspec/parse2.py @@ -1,13 +1,14 @@ -import xml.dom.minidom +from xml.dom.minidom import * + sample_xml_file = 'sample_rspec.xml' f = open(sample_xml_file, 'r') lines = f.readlines() xml = "" for line in lines: - xml += line.replace('\n', '',).repalce('\t', '').strip() + xml += line.replace('\n', '',).replace('\t', '').strip() -dom = xml.dom.minidom.parseString(xml) +dom = parseString(xml) def getText(nodelist): rc = "" @@ -19,11 +20,12 @@ def getText(nodelist): def handleRspec(rspec): # create rspec dict rdict = {} - tempdict = {} + tempdic = [] # loop through each network element for i in rspec.getElementsByTagName("NetSpec"): # handle networks call - tempdic[i] = (handleNetworks(rspec.getElementsByTagName("NetSpec")[i])) + temp = handleNetworks(i) + tempdic.append(temp) # append the temp dict rdict['networks'] = tempdic return rdict @@ -45,11 +47,11 @@ def handleNodes(node): for i in node.attributes: a = node.attributes[i] nodict[a.name] = a.value - + tempd = [] # loop through each IF element for i in node.getElementsByTagName("IfSpec"): # handle ifs - tempd[i] = handleIfs(node.getElementByTagName("IfSpec")[i]) + tempd.append(handleIfs(i)) # append temp dict nodict['ifs'] = tempd return nodict @@ -57,10 +59,11 @@ def handleNodes(node): def handleNetworks(network): # create network dict ndict = {'name':network.nodeName} + tempdict = [] # loop through each node element - for i in network.getElementsByTagName: + for i in network.getElementsByTagName("NodeSpec"): # handle nodes - tempdict[i] = handleNodes(network.getElementsByTagName("NodeSpec")[i]) + tempdict.append(handleNodes(i)) # append temp dict ndict['nodes'] = tempdict return ndict -- 2.43.0