Package TestON :: Package core :: Module xmlparser
[hide private]
[frames] | no frames]

Source Code for Module TestON.core.xmlparser

 1  #/usr/bin/env python 
 2  ''' 
 3  Created on 07-Jan-2013 
 4   
 5  @author: Raghav Kashyap(raghavkashyap@paxterrasolutions.com) 
 6   
 7      TestON is free software: you can redistribute it and/or modify 
 8      it under the terms of the GNU General Public License as published by 
 9      the Free Software Foundation, either version 2 of the License, or 
10      (at your option) any later version. 
11   
12      TestON is distributed in the hope that it will be useful, 
13      but WITHOUT ANY WARRANTY; without even the implied warranty of 
14      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the 
15      GNU General Public License for more details. 
16   
17      You should have received a copy of the GNU General Public License 
18      along with TestON.  If not, see <http://www.gnu.org/licenses/>. 
19   
20   
21  ''' 
22   
23  import xmldict 
24  import re 
25   
26 -class xmlparser :
27
28 - def __init__(self) :
29 self.default = ''
30
31 - def parse(self,fileName) :
32 ''' 33 This will parse the params or topo or cfg file and return content in the file as Dictionary 34 ''' 35 self.fileName = fileName 36 matchFileName = re.match(r'(.*)\.(params|topo|cfg)', self.fileName, re.M | re.I) 37 if matchFileName: 38 xml = open(fileName).read() 39 try : 40 parsedInfo = xmldict.xml_to_dict(xml) 41 return parsedInfo 42 except Exception: 43 print "There is no such file to parse " + fileName 44 else : 45 print "file name is not correct"
46
47 - def parseParams(self,paramsPath):
48 ''' 49 It will take the params file path and will return the params dictionary 50 ''' 51 paramsPath = re.sub("\.","/",paramsPath) 52 paramsPath = re.sub("tests|examples","",paramsPath) 53 params = self.parse(main.tests_path+paramsPath+".params") 54 paramsAsString = str(params) 55 return eval(paramsAsString)
56
57 - def parseTopology(self,topologyPath):
58 ''' 59 It will take topology file path and will return topology dictionary 60 ''' 61 topologyPath = re.sub("\.","/",topologyPath) 62 topologyPath = re.sub("tests|examples","",topologyPath) 63 #topology = self.parse(main.tests_path+"/"+topologyPath+".topo") 64 topology = self.parse(main.tests_path+topologyPath+".topo") 65 topoAsString = str(topology) 66 return eval(topoAsString)
67