diff -r 7685cec9fd3c -r f2ddfa555b0f doc/api/python/ats3.atsconfigparser-pysrc.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/doc/api/python/ats3.atsconfigparser-pysrc.html Fri Sep 11 11:54:49 2009 +0100 @@ -0,0 +1,416 @@ + + + + + ats3.atsconfigparser + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + Package ats3 :: + Module atsconfigparser + + + + + + +
[hide private]
[frames] | no frames]
+
+

Source Code for Module ats3.atsconfigparser

+
+  1  #============================================================================  
+  2  #Name        : atsconfigparser.py 
+  3  #Part of     : Helium  
+  4   
+  5  #Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
+  6  #All rights reserved. 
+  7  #This component and the accompanying materials are made available 
+  8  #under the terms of the License "Eclipse Public License v1.0" 
+  9  #which accompanies this distribution, and is available 
+ 10  #at the URL "http://www.eclipse.org/legal/epl-v10.html". 
+ 11  # 
+ 12  #Initial Contributors: 
+ 13  #Nokia Corporation - initial contribution. 
+ 14  # 
+ 15  #Contributors: 
+ 16  # 
+ 17  #Description: 
+ 18  #=============================================================================== 
+ 19   
+ 20  import configuration 
+ 21  import amara 
+ 22   
+
23 -class TestXML: +
24 - def __init__(self, testxml): +
25 self.testxml = testxml + 26 self.doc = amara.parse(testxml) +
27 +
28 - def containsproperty(self, name, value): +
29 for p in self.doc.xml_xpath("//property"): + 30 if str(p.name) == name: + 31 return str(p.value) == value + 32 return False +
33 +
34 - def containssetting(self, name, value): +
35 for p in self.doc.xml_xpath("//setting"): + 36 if str(p.name) == name: + 37 return str(p.value) == value + 38 return False +
39 +
40 - def addorreplacesetting(self, name, value): +
41 changed = False + 42 for p in self.doc.xml_xpath("//setting"): + 43 if str(p.name) == name: + 44 p.value = value + 45 changed = True + 46 if not changed: + 47 for device in self.doc.test.target.device: + 48 device.xml_append(self.doc.xml_create_element(u"setting", attributes = {u'name': unicode(name), u'value': unicode(value)})) +
49 +
50 - def containsattribute(self, name, value): +
51 for p in self.doc.xml_xpath("//*[@" + name + "]"): + 52 if p[name] == value: + 53 return True + 54 return False +
55 +
56 - def replaceattribute(self, name, value): +
57 for p in self.doc.xml_xpath("//*[@" + name + "]"): + 58 p[name] = value +
59 +
60 - def addorreplaceproperty(self, name, value): +
61 changed = False + 62 for p in self.doc.xml_xpath("//property"): + 63 if str(p.name) == name: + 64 p.value = value + 65 changed = True + 66 if not changed: + 67 for device in self.doc.test.target.device: + 68 device.xml_append(self.doc.xml_create_element(u"property", attributes = {u'name': unicode(name), u'value': unicode(value)})) +
69 + 70 +
71 -class ATSConfigParser: +
72 - def __init__(self, specfilename): +
73 specfile = open(specfilename) + 74 builder = configuration.NestedConfigurationBuilder(specfile) + 75 self.configs = builder.getConfigurations("common") +
76 +
77 - def properties(self): +
78 props = {} + 79 for config in self.configs: + 80 if (config.type == "properties"): + 81 for subconfig in config: + 82 props[subconfig] = config[subconfig] + 83 return props +
84 +
85 - def settings(self): +
86 settings = {} + 87 for config in self.configs: + 88 if (config.type == "settings"): + 89 for subconfig in config: + 90 settings[subconfig] = config[subconfig] + 91 return settings +
92 +
93 -def converttestxml(specfilename, testxmldata): +
94 specfile = open(specfilename) + 95 + 96 builder = configuration.NestedConfigurationBuilder(specfile) + 97 configs = builder.getConfigurations("common")# + builder.getConfigurations("ats3") + 98 + 99 testxml = TestXML(testxmldata) +100 +101 for config in configs: +102 if (config.type == "properties"): +103 for subconfig in config: +104 testxml.addorreplaceproperty(subconfig, config[subconfig]) +105 if (config.type == "conditional_properties"): +106 check = config.name.split(',') +107 if testxml.containsproperty(check[0], check[1]): +108 for subconfig in config: +109 testxml.addorreplaceproperty(subconfig, config[subconfig]) +110 if (config.type == "settings"): +111 for subconfig in config: +112 testxml.addorreplacesetting(subconfig, config[subconfig]) +113 if (config.type == "conditional_settings"): +114 check = config.name.split(',') +115 if testxml.containssetting(check[0], check[1]): +116 for subconfig in config: +117 testxml.addorreplacesetting(subconfig, config[subconfig]) +118 if (config.type == "attributes"): +119 for subconfig in config: +120 testxml.replaceattribute(subconfig, config[subconfig]) +121 if (config.type == "conditional_attributes"): +122 check = config.name.split(',') +123 if testxml.containsattribute(check[0], check[1]): +124 for subconfig in config: +125 testxml.replaceattribute(subconfig, config[subconfig]) +126 +127 return testxml.doc.xml(indent=u"yes") +
128 +
+
+ + + + + + + + + + + + + + + + + + + + + +
+ + + + +