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