1
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
27
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
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
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
64 topology = self.parse(main.tests_path+topologyPath+".topo")
65 topoAsString = str(topology)
66 return eval(topoAsString)
67