##// END OF EJS Templates
Se cambio los nombres a las clases para la configuracion "+Conf"
Miguel Valdez -
r180:6f071d6999c9
parent child
Show More
@@ -1,384 +1,338
1 '''
1 '''
2 Created on September , 2012
2 Created on September , 2012
3 @author:
3 @author:
4 '''
4 '''
5 from xml.etree.ElementTree import Element, SubElement, ElementTree
5 from xml.etree.ElementTree import Element, SubElement, ElementTree
6 from xml.etree import ElementTree as ET
6 from xml.etree import ElementTree as ET
7 from xml.dom import minidom
7 from xml.dom import minidom
8
8
9 import sys
9 import sys
10
10
11 def prettify(elem):
11 def prettify(elem):
12 """Return a pretty-printed XML string for the Element.
12 """Return a pretty-printed XML string for the Element.
13 """
13 """
14 rough_string = ET.tostring(elem, 'utf-8')
14 rough_string = ET.tostring(elem, 'utf-8')
15 reparsed = minidom.parseString(rough_string)
15 reparsed = minidom.parseString(rough_string)
16 return reparsed.toprettyxml(indent=" ")
16 return reparsed.toprettyxml(indent=" ")
17
17
18 #def save(a, b):
18 #def save(a, b):
19 #
19 #
20 # nameP = "Alexnder"
20 # nameP = "Alexnder"
21 # descripcion = self.projectWindow.Text()
21 # descripcion = self.projectWindow.Text()
22 # id = 1
22 # id = 1
23 # x = self.data.projectWindow.cmbbox.value()
23 # x = self.data.projectWindow.cmbbox.value()
24 #
24 #
25 # projectObj = Project(id, name, description)
25 # projectObj = Controller(id, name, description)
26 #
26 #
27 # projectObj.setup(id, name, description)
27 # projectObj.setup(id, name, description)
28
28
29 class Project():
29 class Controller():
30
30
31 id = None
31 id = None
32 name = None
32 name = None
33 description = None
33 description = None
34 readBranchObjList = None
34 readBranchObjList = None
35 procBranchObjList = None
35 procBranchObjList = None
36
36
37 def __init__(self):
37 def __init__(self):
38
38
39 # self.id = id
39 # self.id = id
40 # self.name = name
40 # self.name = name
41 # self.description = description
41 # self.description = description
42
42
43 self.readBranchObjList = []
43 self.readBranchObjList = []
44 self.procBranchObjList = []
44 self.procBranchObjList = []
45
45
46 def setParms(self, id, name, description):
46 def setParms(self, id, name, description):
47
47
48 self.id = id
48 self.id = id
49 self.name = name
49 self.name = name
50 self.description = description
50 self.description = description
51
51
52 def addReadBranch(self, dpath, dataformat, readMode, startDate='', endDate='', startTime='', endTime=''):
52 def addReadBranch(self, dpath, dataformat, readMode, startDate='', endDate='', startTime='', endTime=''):
53
53
54 id = len(self.readBranchObjList) + 1
54 id = len(self.readBranchObjList) + 1
55
55
56 readBranchObj = ReadBranch(id, dpath, dataformat, readMode, startDate, endDate, startTime, endTime)
56 readBranchObj = ReadBranch(id, dpath, dataformat, readMode, startDate, endDate, startTime, endTime)
57
57
58 self.readBranchObjList.append(readBranchObj)
58 self.readBranchObjList.append(readBranchObj)
59
59
60 return readBranchObj
60 return readBranchObj
61
61
62 def addProcBranch(self, name):
62 def addProcBranch(self, name):
63
63
64 id = len(self.procBranchObjList) + 1
64 id = len(self.procBranchObjList) + 1
65
65
66 procBranchObj = ProcBranch(id, name)
66 procBranchObj = ProcBranch(id, name)
67
67
68 self.procBranchObjList.append(procBranchObj)
68 self.procBranchObjList.append(procBranchObj)
69
69
70 return procBranchObj
70 return procBranchObj
71
71
72 def makeXml(self):
72 def makeXml(self):
73
73
74 projectElement = Element('Project')
74 projectElement = Element('Controller')
75 projectElement.set('id', str(self.id))
75 projectElement.set('id', str(self.id))
76 projectElement.set('name', self.name)
76 projectElement.set('name', self.name)
77 #projectElement.set('description', self.description)
77 #projectElement.set('description', self.description)
78
78
79 se = SubElement(projectElement, 'description',description=self.description)#ESTO ES LO ULTIMO QUE SE TRABAJO
79 se = SubElement(projectElement, 'description',description=self.description)#ESTO ES LO ULTIMO QUE SE TRABAJO
80 #se.text = self.description #ULTIMA MODIFICACION PARA SACAR UN SUB ELEMENT
80 #se.text = self.description #ULTIMA MODIFICACION PARA SACAR UN SUB ELEMENT
81
81
82 for readBranchObj in self.readBranchObjList:
82 for readBranchObj in self.readBranchObjList:
83 readBranchObj.makeXml(projectElement)
83 readBranchObj.makeXml(projectElement)
84
84
85 for procBranchObj in self.procBranchObjList:
85 for procBranchObj in self.procBranchObjList:
86 procBranchObj.makeXml(projectElement)
86 procBranchObj.makeXml(projectElement)
87
87
88 self.projectElement = projectElement
88 self.projectElement = projectElement
89
89
90 def writeXml(self, filename):
90 def writeXml(self, filename):
91
91
92 self.makeXml()
92 self.makeXml()
93 ElementTree(self.projectElement).write(filename, method='xml')
93 ElementTree(self.projectElement).write(filename, method='xml')
94 print prettify(self.projectElement)
94 print prettify(self.projectElement)
95
95
96 def readXml(self, filename):
96 def readXml(self, filename):
97
97
98 #tree = ET.parse(filename)
98 #tree = ET.parse(filename)
99 self.projectElement = None
99 self.projectElement = None
100 tree = ElementTree(self.projectElement).parse(filename)
100 tree = ElementTree(self.projectElement).parse(filename)
101
101
102 self.project = self.projectElement.tag
102 self.project = self.projectElement.tag
103
103
104 self.id = self.projectElement.get('id')
104 self.id = self.projectElement.get('id')
105 self.name = self.projectElement.get('name')
105 self.name = self.projectElement.get('name')
106
106
107 readElement = self.projectElement.getiterator('readBranch')
107 readElement = self.projectElement.getiterator('readBranch')
108
108
109 root = tree.getroot()
109 root = tree.getroot()
110 self.project = root.tag
110 self.project = root.tag
111 self.id = root.attrib.get('id')
111 self.id = root.attrib.get('id')
112 self.name = root.attrib.get('name')
112 self.name = root.attrib.get('name')
113
113
114 for description in root.findall('description'):
114 for description in root.findall('description'):
115 description = description.get('description')
115 description = description.get('description')
116
116
117 self.description= description
117 self.description= description
118
118
119 for readBranch in root.findall('readBranch'):
119 for readBranch in root.findall('readBranch'):
120 id = readBranch.get('id')
120 id = readBranch.get('id')
121 self.idrb=id
121 self.idrb=id
122
122
123 for procBranch in root.findall('procBranch'):
123 for procBranch in root.findall('procBranch'):
124 id = readBranch.get('id')
124 id = readBranch.get('id')
125 name = readBranch.get('name')
125 name = readBranch.get('name')
126 self.idpb=id
126 self.idpb=id
127 self.nameBranch=name
127 self.nameBranch=name
128 #
129 ####ESTO DEL MEDIO ESTABA COMENTADO
130 # print root.tag , root.attrib
131 #
132 # print root.attrib.get('id')
133 # print root.attrib.get('name')
134
135
136 # for description in root.findall('description'):
137 # description = root.find('description').text
138 # name = root.get('name')
139 # print name, description
140
141 # description=root.find('description').text
142 # print description
143 # ESTO FUNCIONABA HACIA ABAJO
144
128
145 root=tree.getroot()
129 root=tree.getroot()
146 print root.tag , root.attrib
130 print root.tag , root.attrib
147 for child in root:
131 for child in root:
148 print child.tag ,child.attrib
132 print child.tag ,child.attrib
149 for child in child:
133 for child in child:
150 print child.tag ,child.attrib
134 print child.tag ,child.attrib
151 for child in child:
135 for child in child:
152 print child.tag ,child.attrib
136 print child.tag ,child.attrib
153 for child in child:
137 for child in child:
154 print child.tag ,child.attrib
138 print child.tag ,child.attrib
155 #
139 #
156 class ReadBranch():
140 class ReadBranch():
157
141
158 id = None
142 id = None
159 dpath = None
143 dpath = None
160 dataformat = None
144 dataformat = None
161 readMode = None
145 readMode = None
162 startDate = None
146 startDate = None
163 endDate = None
147 endDate = None
164 startTime = None
148 startTime = None
165 endTime = None
149 endTime = None
166
150
167 def __init__(self, id, dpath, dataformat, readMode, startDate, endDate, startTime, endTime):
151 def __init__(self, id, dpath, dataformat, readMode, startDate, endDate, startTime, endTime):
168
152
169 self.id = id
153 self.id = id
170 self.dpath = dpath
154 self.dpath = dpath
171 self.dataformat = dataformat
155 self.dataformat = dataformat
172 self.readMode = readMode
156 self.readMode = readMode
173 self.startDate = startDate
157 self.startDate = startDate
174 self.endDate = endDate
158 self.endDate = endDate
175 self.startTime = startTime
159 self.startTime = startTime
176 self.endTime = endTime
160 self.endTime = endTime
177
161
178 def makeXml(self, projectElement):
162 def makeXml(self, projectElement):
179
163
180 readBranchElement = SubElement(projectElement, 'readBranch')
164 readBranchElement = SubElement(projectElement, 'readBranch')
181 readBranchElement.set('id', str(self.id))
165 readBranchElement.set('id', str(self.id))
182
166
183 # readBranchElement.set('dpath', self.dpath)
184 # readBranchElement.set('dataformat', self.dataformat)
185 # readBranchElement.set('startDate', self.startDate)
186 # readBranchElement.set('endDate', self.endDate)
187 # readBranchElement.set('startTime', self.startTime)
188 # readBranchElement.set('endTime', self.endTime)
189 # readBranchElement.set('readMode', str(self.readMode))
190
191 # se = SubElement(readBranchElement, 'dpath')#ESTO ES LO ULTIMO QUE SE TRABAJO
192 # se.text = self.dpath
193 #
194 # se = SubElement(readBranchElement, 'dataformat')#ESTO ES LO ULTIMO QUE SE TRABAJO
195 # se.text = self.dataformat
196 #
197 # se = SubElement(readBranchElement, 'startDate')#ESTO ES LO ULTIMO QUE SE TRABAJO
198 # se.text = self.startDate
199 #
200 # se = SubElement(readBranchElement, 'endDate')#ESTO ES LO ULTIMO QUE SE TRABAJO
201 # se.text = self.endDate
202 #
203 # se = SubElement(readBranchElement, 'startTime')#ESTO ES LO ULTIMO QUE SE TRABAJO
204 # se.text = self.startTime
205 #
206 # se = SubElement(readBranchElement, 'endTime')#ESTO ES LO ULTIMO QUE SE TRABAJO
207 # se.text = self.endTime
208 #
209 # se = SubElement(readBranchElement, 'readMode')#ESTO ES LO ULTIMO QUE SE TRABAJO
210 # se.text = str(self.readMode)
211
212 ##########################################################################
213 se = SubElement(readBranchElement, 'parameter', name='dpath' , value=self.dpath)
167 se = SubElement(readBranchElement, 'parameter', name='dpath' , value=self.dpath)
214 se = SubElement(readBranchElement, 'parameter', name='dataformat', value=self.dataformat)
168 se = SubElement(readBranchElement, 'parameter', name='dataformat', value=self.dataformat)
215 se = SubElement(readBranchElement, 'parameter', name='startDate' , value=self.startDate)
169 se = SubElement(readBranchElement, 'parameter', name='startDate' , value=self.startDate)
216 se = SubElement(readBranchElement, 'parameter', name='endDate' , value=self.endDate)
170 se = SubElement(readBranchElement, 'parameter', name='endDate' , value=self.endDate)
217 se = SubElement(readBranchElement, 'parameter', name='startTime' , value=self.startTime)
171 se = SubElement(readBranchElement, 'parameter', name='startTime' , value=self.startTime)
218 se = SubElement(readBranchElement, 'parameter', name='endTime' , value=self.endTime)
172 se = SubElement(readBranchElement, 'parameter', name='endTime' , value=self.endTime)
219 se = SubElement(readBranchElement, 'parameter', name='readMode' , value=str(self.readMode))
173 se = SubElement(readBranchElement, 'parameter', name='readMode' , value=str(self.readMode))
220
174
221
175
222 class ProcBranch():
176 class ProcBranch():
223
177
224 id = None
178 id = None
225 name = None
179 name = None
226
180
227 upObjList = None
181 upObjList = None
228
182
229 def __init__(self, id, name):
183 def __init__(self, id, name):
230
184
231 self.id = id
185 self.id = id
232 self.name = name
186 self.name = name
233
187
234 self.upObjList = []
188 self.upObjList = []
235
189
236 def addUP(self, name, type):
190 def addUP(self, name, type):
237
191
238 id = len(self.upObjList) + 1
192 id = len(self.upObjList) + 1
239
193
240 upObj = UP(id, name, type)
194 upObj = UPConf(id, name, type)
241
195
242 self.upObjList.append(upObj)
196 self.upObjList.append(upObj)
243
197
244 return upObj
198 return upObj
245
199
246 def makeXml(self, projectElement):
200 def makeXml(self, projectElement):
247
201
248 procBranchElement = SubElement(projectElement, 'procBranch')
202 procBranchElement = SubElement(projectElement, 'procBranch')
249 procBranchElement.set('id', str(self.id))
203 procBranchElement.set('id', str(self.id))
250 procBranchElement.set('name', self.name)
204 procBranchElement.set('name', self.name)
251
205
252 for upObj in self.upObjList:
206 for upObj in self.upObjList:
253 upObj.makeXml(procBranchElement)
207 upObj.makeXml(procBranchElement)
254
208
255 class UP():
209 class UPConf():
256
210
257 id = None
211 id = None
258 name = None
212 name = None
259 type = None
213 type = None
260
214
261 opObjList = []
215 opObjList = []
262
216
263 def __init__(self, id, name, type):
217 def __init__(self, id, name, type):
264
218
265 self.id = id
219 self.id = id
266 self.name = name
220 self.name = name
267 self.type = type
221 self.type = type
268
222
269 self.opObjList = []
223 self.opObjList = []
270
224
271 def addOperation(self, name, priority):
225 def addOperation(self, name, priority):
272
226
273 id = len(self.opObjList) + 1
227 id = len(self.opObjList) + 1
274
228
275 opObj = Operation(id, name, priority)
229 opObj = OperationConf(id, name, priority)
276
230
277 self.opObjList.append(opObj)
231 self.opObjList.append(opObj)
278
232
279 return opObj
233 return opObj
280
234
281 def makeXml(self, procBranchElement):
235 def makeXml(self, procBranchElement):
282
236
283 upElement = SubElement(procBranchElement, 'UP')
237 upElement = SubElement(procBranchElement, 'UP')
284 upElement.set('id', str(self.id))
238 upElement.set('id', str(self.id))
285 upElement.set('name', self.name)
239 upElement.set('name', self.name)
286 upElement.set('type', self.type)
240 upElement.set('type', self.type)
287
241
288 for opObj in self.opObjList:
242 for opObj in self.opObjList:
289 opObj.makeXml(upElement)
243 opObj.makeXml(upElement)
290
244
291 class Operation():
245 class OperationConf():
292
246
293 id = 0
247 id = 0
294 name = None
248 name = None
295 priority = None
249 priority = None
296 parmObjList = []
250 parmObjList = []
297
251
298 def __init__(self, id, name, priority):
252 def __init__(self, id, name, priority):
299
253
300 self.id = id
254 self.id = id
301 self.name = name
255 self.name = name
302 self.priority = priority
256 self.priority = priority
303
257
304 self.parmObjList = []
258 self.parmObjList = []
305
259
306 def addParameter(self, name, value):
260 def addParameter(self, name, value):
307
261
308 id = len(self.parmObjList) + 1
262 id = len(self.parmObjList) + 1
309
263
310 parmObj = Parameter(id, name, value)
264 parmObj = ParameterConf(id, name, value)
311
265
312 self.parmObjList.append(parmObj)
266 self.parmObjList.append(parmObj)
313
267
314 return parmObj
268 return parmObj
315
269
316 def makeXml(self, upElement):
270 def makeXml(self, upElement):
317
271
318 opElement = SubElement(upElement, 'Operation')
272 opElement = SubElement(upElement, 'Operation')
319 opElement.set('id', str(self.id))
273 opElement.set('id', str(self.id))
320 opElement.set('name', self.name)
274 opElement.set('name', self.name)
321 opElement.set('priority', str(self.priority))
275 opElement.set('priority', str(self.priority))
322
276
323 for parmObj in self.parmObjList:
277 for parmObj in self.parmObjList:
324 parmObj.makeXml(opElement)
278 parmObj.makeXml(opElement)
325
279
326 class Parameter():
280 class ParameterConf():
327
281
328 id = None
282 id = None
329 name = None
283 name = None
330 value = None
284 value = None
331
285
332 def __init__(self, id, name, value):
286 def __init__(self, id, name, value):
333
287
334 self.id = id
288 self.id = id
335 self.name = name
289 self.name = name
336 self.value = value
290 self.value = value
337
291
338 def makeXml(self, opElement):
292 def makeXml(self, opElement):
339
293
340 parmElement = SubElement(opElement, 'Parameter')
294 parmElement = SubElement(opElement, 'Parameter')
341 parmElement.set('name', self.name)
295 parmElement.set('name', self.name)
342 parmElement.set('value', self.value)
296 parmElement.set('value', self.value)
343
297
344 def readXml(self, opElement):
298 def readXml(self, opElement):
345
299
346
300
347 pass
301 pass
348 # se = SubElement(parmElement, 'value')#ESTO ES LO ULTIMO QUE SE TRABAJO
302 # se = SubElement(parmElement, 'value')#ESTO ES LO ULTIMO QUE SE TRABAJO
349 # se.text = self.value
303 # se.text = self.value
350
304
351 if __name__ == '__main__':
305 if __name__ == '__main__':
352
306
353 desc = "Este es un test"
307 desc = "Este es un test"
354 filename = "test.xml"
308 filename = "test.xml"
355
309
356 projectObj = Project()
310 projectObj = Controller()
357
311
358 projectObj.setParms(id = '11', name='test01', description=desc)
312 projectObj.setParms(id = '11', name='test01', description=desc)
359
313
360 readBranchObj = projectObj.addReadBranch(dpath='mydata', dataformat='rawdata', readMode=0, startDate='1', endDate='3', startTime='4', endTime='5')
314 readBranchObj = projectObj.addReadBranch(dpath='mydata', dataformat='rawdata', readMode=0, startDate='1', endDate='3', startTime='4', endTime='5')
361
315
362 procBranchObj = projectObj.addProcBranch(name='Branch1')
316 procBranchObj = projectObj.addProcBranch(name='Branch1')
363
317
364 procBranchObj1 = projectObj.addProcBranch(name='Branch2')
318 procBranchObj1 = projectObj.addProcBranch(name='Branch2')
365 upObj1 = procBranchObj.addUP(name='UP1', type='Voltage')
319 upObj1 = procBranchObj.addUP(name='UP1', type='Voltage')
366 upObj2 = procBranchObj.addUP(name='UP2', type='Voltage')
320 upObj2 = procBranchObj.addUP(name='UP2', type='Voltage')
367
321
368 opObj11 = upObj1.addOperation(name='removeDC', priority=1)
322 opObj11 = upObj1.addOperation(name='removeDC', priority=1)
369 opObj11.addParameter(name='type', value='1')
323 opObj11.addParameter(name='type', value='1')
370
324
371
325
372 opObj12 = upObj1.addOperation(name='decodification', priority=2)
326 opObj12 = upObj1.addOperation(name='decodification', priority=2)
373 opObj12.addParameter(name='ncode', value='2')
327 opObj12.addParameter(name='ncode', value='2')
374 opObj12.addParameter(name='nbauds', value='8')
328 opObj12.addParameter(name='nbauds', value='8')
375 opObj12.addParameter(name='code1', value='001110011')
329 opObj12.addParameter(name='code1', value='001110011')
376 opObj12.addParameter(name='code2', value='001110011')
330 opObj12.addParameter(name='code2', value='001110011')
377
331
378 print "Escribiendo el XML"
332 print "Escribiendo el XML"
379
333
380 projectObj.writeXml(filename)
334 projectObj.writeXml(filename)
381
335
382 print "Leyendo el XML"
336 print "Leyendo el XML"
383 projectObj.readXml(filename)
337 projectObj.readXml(filename)
384 No newline at end of file
338
General Comments 0
You need to be logged in to leave comments. Login now