##// END OF EJS Templates
controller.py: Some comments added
Miguel Valdez -
r529:a511f1239e28
parent child
Show More
@@ -1,756 +1,776
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 datetime
10 10 from model import *
11 11
12 12 import ast
13 13
14 14 def prettify(elem):
15 15 """Return a pretty-printed XML string for the Element.
16 16 """
17 17 rough_string = ET.tostring(elem, 'utf-8')
18 18 reparsed = minidom.parseString(rough_string)
19 19 return reparsed.toprettyxml(indent=" ")
20 20
21 21 class ParameterConf():
22 22
23 23 id = None
24 24 name = None
25 25 value = None
26 26 format = None
27 27
28 __value = None
28 __formated_value = None
29 29
30 30 ELEMENTNAME = 'Parameter'
31 31
32 32 def __init__(self):
33 33
34 34 self.format = 'str'
35 35
36 36 def getElementName(self):
37 37
38 38 return self.ELEMENTNAME
39 39
40 40 def getValue(self):
41 41
42 if self.__value != None:
42 if self.__formated_value != None:
43 43
44 return self.__value
44 return self.__formated_value
45 45
46 46 value = self.value
47 47
48 48 if self.format == 'list':
49 49 strList = value.split(',')
50 return strList
50
51 self.__formated_value = strList
52
53 return self.__formated_value
51 54
52 55 if self.format == 'intlist':
53 56 strList = value.split(',')
54 57 intList = [int(x) for x in strList]
55 return intList
58
59 self.__formated_value = intList
60
61 return self.__formated_value
56 62
57 63 if self.format == 'floatlist':
58 64 strList = value.split(',')
59 65 floatList = [float(x) for x in strList]
60 return floatList
66
67 self.__formated_value = floatList
68
69 return self.__formated_value
61 70
62 71 if self.format == 'date':
63 72 strList = value.split('/')
64 73 intList = [int(x) for x in strList]
65 74 date = datetime.date(intList[0], intList[1], intList[2])
66 return date
75
76 self.__formated_value = date
77
78 return self.__formated_value
67 79
68 80 if self.format == 'time':
69 81 strList = value.split(':')
70 82 intList = [int(x) for x in strList]
71 83 time = datetime.time(intList[0], intList[1], intList[2])
72 return time
84
85 self.__formated_value = time
86
87 return self.__formated_value
73 88
74 89 if self.format == 'bool':
75 90 value = int(value)
76 91
77 92 if self.format == 'pairsList':
78 93 """
79 94 Example:
80 95 value = (0,1),(1,2)
81 96 """
82 97
83 98 value = value.replace('(', '')
84 99 value = value.replace(')', '')
85 100
86 101 strList = value.split(',')
87 102 intList = [int(item) for item in strList]
88 103 pairList = []
89 104 for i in range(len(intList)/2):
90 105 pairList.append((intList[i*2], intList[i*2 + 1]))
91 106
92 return pairList
107 self.__formated_value = pairList
108
109 return self.__formated_value
93 110
94 111 if self.format == 'multiList':
95 112 """
96 113 Example:
97 114 value = (0,1,2),(3,4,5)
98 115 """
99 116 multiList = ast.literal_eval(value)
100 return multiList
117
118 self.__formated_value = multiList
119
120 return self.__formated_value
101 121
102 func = eval(self.format)
122 format_func = eval(self.format)
103 123
104 self.__value = func(value)
124 self.__formated_value = format_func(value)
105 125
106 return self.__value
126 return self.__formated_value
107 127
108 128 def setup(self, id, name, value, format='str'):
109 129
110 130 self.id = id
111 131 self.name = name
112 132 self.value = str(value)
113 133 self.format = format
114 134
115 135 def makeXml(self, opElement):
116 136
117 137 parmElement = SubElement(opElement, self.ELEMENTNAME)
118 138 parmElement.set('id', str(self.id))
119 139 parmElement.set('name', self.name)
120 140 parmElement.set('value', self.value)
121 141 parmElement.set('format', self.format)
122 142
123 143 def readXml(self, parmElement):
124 144
125 145 self.id = parmElement.get('id')
126 146 self.name = parmElement.get('name')
127 147 self.value = parmElement.get('value')
128 148 self.format = parmElement.get('format')
129 149
130 150 def printattr(self):
131 151
132 152 print "Parameter[%s]: name = %s, value = %s, format = %s" %(self.id, self.name, self.value, self.format)
133 153
134 154 class OperationConf():
135 155
136 156 id = None
137 157 name = None
138 158 priority = None
139 159 type = None
140 160
141 161 parmConfObjList = []
142 162
143 163 ELEMENTNAME = 'Operation'
144 164
145 165 def __init__(self):
146 166
147 167 id = 0
148 168 name = None
149 169 priority = None
150 170 type = 'self'
151 171
152 172
153 173 def __getNewId(self):
154 174
155 175 return int(self.id)*10 + len(self.parmConfObjList) + 1
156 176
157 177 def getElementName(self):
158 178
159 179 return self.ELEMENTNAME
160 180
161 181 def getParameterObjList(self):
162 182
163 183 return self.parmConfObjList
164 184
165 185 def setup(self, id, name, priority, type):
166 186
167 187 self.id = id
168 188 self.name = name
169 189 self.type = type
170 190 self.priority = priority
171 191
172 192 self.parmConfObjList = []
173 193
174 194 def addParameter(self, name, value, format='str'):
175 195
176 196 id = self.__getNewId()
177 197
178 198 parmConfObj = ParameterConf()
179 199 parmConfObj.setup(id, name, value, format)
180 200
181 201 self.parmConfObjList.append(parmConfObj)
182 202
183 203 return parmConfObj
184 204
185 205 def makeXml(self, upElement):
186 206
187 207 opElement = SubElement(upElement, self.ELEMENTNAME)
188 208 opElement.set('id', str(self.id))
189 209 opElement.set('name', self.name)
190 210 opElement.set('type', self.type)
191 211 opElement.set('priority', str(self.priority))
192 212
193 213 for parmConfObj in self.parmConfObjList:
194 214 parmConfObj.makeXml(opElement)
195 215
196 216 def readXml(self, opElement):
197 217
198 218 self.id = opElement.get('id')
199 219 self.name = opElement.get('name')
200 220 self.type = opElement.get('type')
201 221 self.priority = opElement.get('priority')
202 222
203 223 self.parmConfObjList = []
204 224
205 225 parmElementList = opElement.getiterator(ParameterConf().getElementName())
206 226
207 227 for parmElement in parmElementList:
208 228 parmConfObj = ParameterConf()
209 229 parmConfObj.readXml(parmElement)
210 230 self.parmConfObjList.append(parmConfObj)
211 231
212 232 def printattr(self):
213 233
214 234 print "%s[%s]: name = %s, type = %s, priority = %s" %(self.ELEMENTNAME,
215 235 self.id,
216 236 self.name,
217 237 self.type,
218 238 self.priority)
219 239
220 240 for parmConfObj in self.parmConfObjList:
221 241 parmConfObj.printattr()
222 242
223 243 def createObject(self):
224 244
225 245 if self.type == 'self':
226 246 raise ValueError, "This operation type cannot be created"
227 247
228 248 if self.type == 'external' or self.type == 'other':
229 249 className = eval(self.name)
230 250 opObj = className()
231 251
232 252 return opObj
233 253
234 254 class ProcUnitConf():
235 255
236 256 id = None
237 257 name = None
238 258 datatype = None
239 259 inputId = None
240 260
241 261 opConfObjList = []
242 262
243 263 procUnitObj = None
244 264 opObjList = []
245 265
246 266 ELEMENTNAME = 'ProcUnit'
247 267
248 268 def __init__(self):
249 269
250 270 self.id = None
251 271 self.datatype = None
252 272 self.name = None
253 273 self.inputId = None
254 274
255 275 self.opConfObjList = []
256 276
257 277 self.procUnitObj = None
258 278 self.opObjDict = {}
259 279
260 280 def __getPriority(self):
261 281
262 282 return len(self.opConfObjList)+1
263 283
264 284 def __getNewId(self):
265 285
266 286 return int(self.id)*10 + len(self.opConfObjList) + 1
267 287
268 288 def getElementName(self):
269 289
270 290 return self.ELEMENTNAME
271 291
272 292 def getId(self):
273 293
274 294 return str(self.id)
275 295
276 296 def getInputId(self):
277 297
278 298 return str(self.inputId)
279 299
280 300 def getOperationObjList(self):
281 301
282 302 return self.opConfObjList
283 303
284 304 def getProcUnitObj(self):
285 305
286 306 return self.procUnitObj
287 307
288 308 def setup(self, id, name, datatype, inputId):
289 309
290 310 self.id = id
291 311 self.name = name
292 312 self.datatype = datatype
293 313 self.inputId = inputId
294 314
295 315 self.opConfObjList = []
296 316
297 317 self.addOperation(name='run', optype='self')
298 318
299 319 def addParameter(self, **kwargs):
300 320
301 321 opObj = self.opConfObjList[0]
302 322
303 323 opObj.addParameter(**kwargs)
304 324
305 325 return opObj
306 326
307 327 def addOperation(self, name, optype='self'):
308 328
309 329 id = self.__getNewId()
310 330 priority = self.__getPriority()
311 331
312 332 opConfObj = OperationConf()
313 333 opConfObj.setup(id, name=name, priority=priority, type=optype)
314 334
315 335 self.opConfObjList.append(opConfObj)
316 336
317 337 return opConfObj
318 338
319 339 def makeXml(self, procUnitElement):
320 340
321 341 upElement = SubElement(procUnitElement, self.ELEMENTNAME)
322 342 upElement.set('id', str(self.id))
323 343 upElement.set('name', self.name)
324 344 upElement.set('datatype', self.datatype)
325 345 upElement.set('inputId', str(self.inputId))
326 346
327 347 for opConfObj in self.opConfObjList:
328 348 opConfObj.makeXml(upElement)
329 349
330 350 def readXml(self, upElement):
331 351
332 352 self.id = upElement.get('id')
333 353 self.name = upElement.get('name')
334 354 self.datatype = upElement.get('datatype')
335 355 self.inputId = upElement.get('inputId')
336 356
337 357 self.opConfObjList = []
338 358
339 359 opElementList = upElement.getiterator(OperationConf().getElementName())
340 360
341 361 for opElement in opElementList:
342 362 opConfObj = OperationConf()
343 363 opConfObj.readXml(opElement)
344 364 self.opConfObjList.append(opConfObj)
345 365
346 366 def printattr(self):
347 367
348 368 print "%s[%s]: name = %s, datatype = %s, inputId = %s" %(self.ELEMENTNAME,
349 369 self.id,
350 370 self.name,
351 371 self.datatype,
352 372 self.inputId)
353 373
354 374 for opConfObj in self.opConfObjList:
355 375 opConfObj.printattr()
356 376
357 377 def createObjects(self):
358 378
359 379 className = eval(self.name)
360 380 procUnitObj = className()
361 381
362 382 for opConfObj in self.opConfObjList:
363 383
364 384 if opConfObj.type == 'self':
365 385 continue
366 386
367 387 opObj = opConfObj.createObject()
368 388
369 389 self.opObjDict[opConfObj.id] = opObj
370 390 procUnitObj.addOperation(opObj, opConfObj.id)
371 391
372 392 self.procUnitObj = procUnitObj
373 393
374 394 return procUnitObj
375 395
376 396 def run(self):
377 397
378 398 finalSts = False
379 399
380 400 for opConfObj in self.opConfObjList:
381 401
382 402 kwargs = {}
383 403 for parmConfObj in opConfObj.getParameterObjList():
384 404 kwargs[parmConfObj.name] = parmConfObj.getValue()
385 405
386 406 #print "\tRunning the '%s' operation with %s" %(opConfObj.name, opConfObj.id)
387 407 sts = self.procUnitObj.call(opType = opConfObj.type,
388 408 opName = opConfObj.name,
389 409 opId = opConfObj.id,
390 410 **kwargs)
391 411 finalSts = finalSts or sts
392 412
393 413 return finalSts
394 414
395 415 class ReadUnitConf(ProcUnitConf):
396 416
397 417 path = None
398 418 startDate = None
399 419 endDate = None
400 420 startTime = None
401 421 endTime = None
402 422
403 423 ELEMENTNAME = 'ReadUnit'
404 424
405 425 def __init__(self):
406 426
407 427 self.id = None
408 428 self.datatype = None
409 429 self.name = None
410 430 self.inputId = 0
411 431
412 432 self.opConfObjList = []
413 433 self.opObjList = []
414 434
415 435 def getElementName(self):
416 436
417 437 return self.ELEMENTNAME
418 438
419 439 def setup(self, id, name, datatype, path="", startDate="", endDate="", startTime="", endTime="", **kwargs):
420 440
421 441 self.id = id
422 442 self.name = name
423 443 self.datatype = datatype
424 444
425 445 self.path = path
426 446 self.startDate = startDate
427 447 self.endDate = endDate
428 448 self.startTime = startTime
429 449 self.endTime = endTime
430 450
431 451 self.addRunOperation(**kwargs)
432 452
433 453 def addRunOperation(self, **kwargs):
434 454
435 455 opObj = self.addOperation(name = 'run', optype = 'self')
436 456
437 457 opObj.addParameter(name='path' , value=self.path, format='str')
438 458 opObj.addParameter(name='startDate' , value=self.startDate, format='date')
439 459 opObj.addParameter(name='endDate' , value=self.endDate, format='date')
440 460 opObj.addParameter(name='startTime' , value=self.startTime, format='time')
441 461 opObj.addParameter(name='endTime' , value=self.endTime, format='time')
442 462
443 463 for key, value in kwargs.items():
444 464 opObj.addParameter(name=key, value=value, format=type(value).__name__)
445 465
446 466 return opObj
447 467
448 468
449 469 class Project():
450 470
451 471 id = None
452 472 name = None
453 473 description = None
454 474 # readUnitConfObjList = None
455 475 procUnitConfObjDict = None
456 476
457 477 ELEMENTNAME = 'Project'
458 478
459 479 def __init__(self):
460 480
461 481 self.id = None
462 482 self.name = None
463 483 self.description = None
464 484
465 485 # self.readUnitConfObjList = []
466 486 self.procUnitConfObjDict = {}
467 487
468 488 def __getNewId(self):
469 489
470 490 id = int(self.id)*10 + len(self.procUnitConfObjDict) + 1
471 491
472 492 return str(id)
473 493
474 494 def getElementName(self):
475 495
476 496 return self.ELEMENTNAME
477 497
478 498 def setup(self, id, name, description):
479 499
480 500 self.id = id
481 501 self.name = name
482 502 self.description = description
483 503
484 504 def addReadUnit(self, datatype, **kwargs):
485 505
486 506 id = self.__getNewId()
487 507 name = '%s' %(datatype)
488 508
489 509 readUnitConfObj = ReadUnitConf()
490 510 readUnitConfObj.setup(id, name, datatype, **kwargs)
491 511
492 512 self.procUnitConfObjDict[readUnitConfObj.getId()] = readUnitConfObj
493 513
494 514 return readUnitConfObj
495 515
496 516 def addProcUnit(self, datatype, inputId):
497 517
498 518 id = self.__getNewId()
499 519 name = '%s' %(datatype)
500 520
501 521 procUnitConfObj = ProcUnitConf()
502 522 procUnitConfObj.setup(id, name, datatype, inputId)
503 523
504 524 self.procUnitConfObjDict[procUnitConfObj.getId()] = procUnitConfObj
505 525
506 526 return procUnitConfObj
507 527
508 528 def makeXml(self):
509 529
510 530 projectElement = Element('Project')
511 531 projectElement.set('id', str(self.id))
512 532 projectElement.set('name', self.name)
513 533 projectElement.set('description', self.description)
514 534
515 535 # for readUnitConfObj in self.readUnitConfObjList:
516 536 # readUnitConfObj.makeXml(projectElement)
517 537
518 538 for procUnitConfObj in self.procUnitConfObjDict.values():
519 539 procUnitConfObj.makeXml(projectElement)
520 540
521 541 self.projectElement = projectElement
522 542
523 543 def writeXml(self, filename):
524 544
525 545 self.makeXml()
526 546
527 547 print prettify(self.projectElement)
528 548
529 549 ElementTree(self.projectElement).write(filename, method='xml')
530 550
531 551 def readXml(self, filename):
532 552
533 553 #tree = ET.parse(filename)
534 554 self.projectElement = None
535 555 # self.readUnitConfObjList = []
536 556 self.procUnitConfObjDict = {}
537 557
538 558 self.projectElement = ElementTree().parse(filename)
539 559
540 560 self.project = self.projectElement.tag
541 561
542 562 self.id = self.projectElement.get('id')
543 563 self.name = self.projectElement.get('name')
544 564 self.description = self.projectElement.get('description')
545 565
546 566 readUnitElementList = self.projectElement.getiterator(ReadUnitConf().getElementName())
547 567
548 568 for readUnitElement in readUnitElementList:
549 569 readUnitConfObj = ReadUnitConf()
550 570 readUnitConfObj.readXml(readUnitElement)
551 571
552 572 self.procUnitConfObjDict[readUnitConfObj.getId()] = readUnitConfObj
553 573
554 574 procUnitElementList = self.projectElement.getiterator(ProcUnitConf().getElementName())
555 575
556 576 for procUnitElement in procUnitElementList:
557 577 procUnitConfObj = ProcUnitConf()
558 578 procUnitConfObj.readXml(procUnitElement)
559 579
560 580 self.procUnitConfObjDict[procUnitConfObj.getId()] = procUnitConfObj
561 581
562 582 def printattr(self):
563 583
564 584 print "Project[%s]: name = %s, description = %s" %(self.id,
565 585 self.name,
566 586 self.description)
567 587
568 588 # for readUnitConfObj in self.readUnitConfObjList:
569 589 # readUnitConfObj.printattr()
570 590
571 591 for procUnitConfObj in self.procUnitConfObjDict.values():
572 592 procUnitConfObj.printattr()
573 593
574 594 def createObjects(self):
575 595
576 596 # for readUnitConfObj in self.readUnitConfObjList:
577 597 # readUnitConfObj.createObjects()
578 598
579 599 for procUnitConfObj in self.procUnitConfObjDict.values():
580 600 procUnitConfObj.createObjects()
581 601
582 602 def __connect(self, objIN, thisObj):
583 603
584 604 thisObj.setInput(objIN.getOutputObj())
585 605
586 606 def connectObjects(self):
587 607
588 608 for thisPUConfObj in self.procUnitConfObjDict.values():
589 609
590 610 inputId = thisPUConfObj.getInputId()
591 611
592 612 if int(inputId) == 0:
593 613 continue
594 614
595 615 #Get input object
596 616 puConfINObj = self.procUnitConfObjDict[inputId]
597 617 puObjIN = puConfINObj.getProcUnitObj()
598 618
599 619 #Get current object
600 620 thisPUObj = thisPUConfObj.getProcUnitObj()
601 621
602 622 self.__connect(puObjIN, thisPUObj)
603 623
604 624 def run(self):
605 625
606 626 # for readUnitConfObj in self.readUnitConfObjList:
607 627 # readUnitConfObj.run()
608 628
609 629 while(True):
610 630
611 631 finalSts = False
612 632
613 633 for procUnitConfObj in self.procUnitConfObjDict.values():
614 634 #print "Running the '%s' process with %s" %(procUnitConfObj.name, procUnitConfObj.id)
615 635 sts = procUnitConfObj.run()
616 636 finalSts = finalSts or sts
617 637
618 638 #If every process unit finished so end process
619 639 if not(finalSts):
620 640 print "Every process units have finished"
621 641 break
622 642
623 643 if __name__ == '__main__':
624 644
625 645 desc = "Segundo Test"
626 646 filename = "schain.xml"
627 647
628 648 controllerObj = Project()
629 649
630 650 controllerObj.setup(id = '191', name='test01', description=desc)
631 651
632 652 readUnitConfObj = controllerObj.addReadUnit(datatype='Voltage',
633 653 path='data/rawdata/',
634 654 startDate='2011/01/01',
635 655 endDate='2012/12/31',
636 656 startTime='00:00:00',
637 657 endTime='23:59:59',
638 658 online=1,
639 659 walk=1)
640 660
641 661 # opObj00 = readUnitConfObj.addOperation(name='printInfo')
642 662
643 663 procUnitConfObj0 = controllerObj.addProcUnit(datatype='Voltage', inputId=readUnitConfObj.getId())
644 664
645 665 opObj10 = procUnitConfObj0.addOperation(name='selectChannels')
646 666 opObj10.addParameter(name='channelList', value='3,4,5', format='intlist')
647 667
648 668 opObj10 = procUnitConfObj0.addOperation(name='selectHeights')
649 669 opObj10.addParameter(name='minHei', value='90', format='float')
650 670 opObj10.addParameter(name='maxHei', value='180', format='float')
651 671
652 672 opObj12 = procUnitConfObj0.addOperation(name='CohInt', optype='external')
653 673 opObj12.addParameter(name='n', value='10', format='int')
654 674
655 675 procUnitConfObj1 = controllerObj.addProcUnit(datatype='Spectra', inputId=procUnitConfObj0.getId())
656 676 procUnitConfObj1.addParameter(name='nFFTPoints', value='32', format='int')
657 677 # procUnitConfObj1.addParameter(name='pairList', value='(0,1),(0,2),(1,2)', format='')
658 678
659 679
660 680 opObj11 = procUnitConfObj1.addOperation(name='SpectraPlot', optype='external')
661 681 opObj11.addParameter(name='idfigure', value='1', format='int')
662 682 opObj11.addParameter(name='wintitle', value='SpectraPlot0', format='str')
663 683 opObj11.addParameter(name='zmin', value='40', format='int')
664 684 opObj11.addParameter(name='zmax', value='90', format='int')
665 685 opObj11.addParameter(name='showprofile', value='1', format='int')
666 686
667 687 # opObj11 = procUnitConfObj1.addOperation(name='CrossSpectraPlot', optype='external')
668 688 # opObj11.addParameter(name='idfigure', value='2', format='int')
669 689 # opObj11.addParameter(name='wintitle', value='CrossSpectraPlot', format='str')
670 690 # opObj11.addParameter(name='zmin', value='40', format='int')
671 691 # opObj11.addParameter(name='zmax', value='90', format='int')
672 692
673 693
674 694 # procUnitConfObj2 = controllerObj.addProcUnit(datatype='Voltage', inputId=procUnitConfObj0.getId())
675 695 #
676 696 # opObj12 = procUnitConfObj2.addOperation(name='CohInt', optype='external')
677 697 # opObj12.addParameter(name='n', value='2', format='int')
678 698 # opObj12.addParameter(name='overlapping', value='1', format='int')
679 699 #
680 700 # procUnitConfObj3 = controllerObj.addProcUnit(datatype='Spectra', inputId=procUnitConfObj2.getId())
681 701 # procUnitConfObj3.addParameter(name='nFFTPoints', value='32', format='int')
682 702 #
683 703 # opObj11 = procUnitConfObj3.addOperation(name='SpectraPlot', optype='external')
684 704 # opObj11.addParameter(name='idfigure', value='2', format='int')
685 705 # opObj11.addParameter(name='wintitle', value='SpectraPlot1', format='str')
686 706 # opObj11.addParameter(name='zmin', value='40', format='int')
687 707 # opObj11.addParameter(name='zmax', value='90', format='int')
688 708 # opObj11.addParameter(name='showprofile', value='1', format='int')
689 709
690 710 # opObj11 = procUnitConfObj1.addOperation(name='RTIPlot', optype='external')
691 711 # opObj11.addParameter(name='idfigure', value='10', format='int')
692 712 # opObj11.addParameter(name='wintitle', value='RTI', format='str')
693 713 ## opObj11.addParameter(name='xmin', value='21', format='float')
694 714 ## opObj11.addParameter(name='xmax', value='22', format='float')
695 715 # opObj11.addParameter(name='zmin', value='40', format='int')
696 716 # opObj11.addParameter(name='zmax', value='90', format='int')
697 717 # opObj11.addParameter(name='showprofile', value='1', format='int')
698 718 # opObj11.addParameter(name='timerange', value=str(60), format='int')
699 719
700 720 # opObj10 = procUnitConfObj1.addOperation(name='selectChannels')
701 721 # opObj10.addParameter(name='channelList', value='0,2,4,6', format='intlist')
702 722 #
703 723 # opObj12 = procUnitConfObj1.addOperation(name='IncohInt', optype='external')
704 724 # opObj12.addParameter(name='n', value='2', format='int')
705 725 #
706 726 # opObj11 = procUnitConfObj1.addOperation(name='SpectraPlot', optype='external')
707 727 # opObj11.addParameter(name='idfigure', value='2', format='int')
708 728 # opObj11.addParameter(name='wintitle', value='SpectraPlot10', format='str')
709 729 # opObj11.addParameter(name='zmin', value='70', format='int')
710 730 # opObj11.addParameter(name='zmax', value='90', format='int')
711 731 #
712 732 # opObj10 = procUnitConfObj1.addOperation(name='selectChannels')
713 733 # opObj10.addParameter(name='channelList', value='2,6', format='intlist')
714 734 #
715 735 # opObj12 = procUnitConfObj1.addOperation(name='IncohInt', optype='external')
716 736 # opObj12.addParameter(name='n', value='2', format='int')
717 737 #
718 738 # opObj11 = procUnitConfObj1.addOperation(name='SpectraPlot', optype='external')
719 739 # opObj11.addParameter(name='idfigure', value='3', format='int')
720 740 # opObj11.addParameter(name='wintitle', value='SpectraPlot10', format='str')
721 741 # opObj11.addParameter(name='zmin', value='70', format='int')
722 742 # opObj11.addParameter(name='zmax', value='90', format='int')
723 743
724 744
725 745 # opObj12 = procUnitConfObj1.addOperation(name='decoder')
726 746 # opObj12.addParameter(name='ncode', value='2', format='int')
727 747 # opObj12.addParameter(name='nbauds', value='8', format='int')
728 748 # opObj12.addParameter(name='code0', value='001110011', format='int')
729 749 # opObj12.addParameter(name='code1', value='001110011', format='int')
730 750
731 751
732 752
733 753 # procUnitConfObj2 = controllerObj.addProcUnit(datatype='Spectra', inputId=procUnitConfObj1.getId())
734 754 #
735 755 # opObj21 = procUnitConfObj2.addOperation(name='IncohInt', optype='external')
736 756 # opObj21.addParameter(name='n', value='2', format='int')
737 757 #
738 758 # opObj11 = procUnitConfObj2.addOperation(name='SpectraPlot', optype='external')
739 759 # opObj11.addParameter(name='idfigure', value='4', format='int')
740 760 # opObj11.addParameter(name='wintitle', value='SpectraPlot OBJ 2', format='str')
741 761 # opObj11.addParameter(name='zmin', value='70', format='int')
742 762 # opObj11.addParameter(name='zmax', value='90', format='int')
743 763
744 764 print "Escribiendo el archivo XML"
745 765
746 766 controllerObj.writeXml(filename)
747 767
748 768 print "Leyendo el archivo XML"
749 769 controllerObj.readXml(filename)
750 770 #controllerObj.printattr()
751 771
752 772 controllerObj.createObjects()
753 773 controllerObj.connectObjects()
754 774 controllerObj.run()
755 775
756 776 No newline at end of file
General Comments 0
You need to be logged in to leave comments. Login now