##// END OF EJS Templates
Bug fixed in SignalChain GUI:...
Miguel Valdez -
r581:cd9db1f6f595
parent child
Show More
@@ -1,1026 +1,1034
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
5 from xml.etree.ElementTree import Element, SubElement
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 datetime
9 #import datetime
10 from model import *
10 from model import *
11
11
12 import ast
12 import ast
13
13
14 def prettify(elem):
14 def prettify(elem):
15 """Return a pretty-printed XML string for the Element.
15 """Return a pretty-printed XML string for the Element.
16 """
16 """
17 rough_string = ET.tostring(elem, 'utf-8')
17 rough_string = ET.tostring(elem, 'utf-8')
18 reparsed = minidom.parseString(rough_string)
18 reparsed = minidom.parseString(rough_string)
19 return reparsed.toprettyxml(indent=" ")
19 return reparsed.toprettyxml(indent=" ")
20
20
21 class ParameterConf():
21 class ParameterConf():
22
22
23 id = None
23 id = None
24 name = None
24 name = None
25 value = None
25 value = None
26 format = None
26 format = None
27
27
28 __formated_value = None
28 __formated_value = None
29
29
30 ELEMENTNAME = 'Parameter'
30 ELEMENTNAME = 'Parameter'
31
31
32 def __init__(self):
32 def __init__(self):
33
33
34 self.format = 'str'
34 self.format = 'str'
35
35
36 def getElementName(self):
36 def getElementName(self):
37
37
38 return self.ELEMENTNAME
38 return self.ELEMENTNAME
39
39
40 def getValue(self):
40 def getValue(self):
41
41
42 if self.__formated_value != None:
42 if self.__formated_value != None:
43
43
44 return self.__formated_value
44 return self.__formated_value
45
45
46 value = self.value
46 value = self.value
47
47
48 if self.format == 'bool':
48 if self.format == 'bool':
49 value = int(value)
49 value = int(value)
50
50
51 if self.format == 'list':
51 if self.format == 'list':
52 strList = value.split(',')
52 strList = value.split(',')
53
53
54 self.__formated_value = strList
54 self.__formated_value = strList
55
55
56 return self.__formated_value
56 return self.__formated_value
57
57
58 if self.format == 'intlist':
58 if self.format == 'intlist':
59 """
59 """
60 Example:
60 Example:
61 value = (0,1,2)
61 value = (0,1,2)
62 """
62 """
63 strList = value.split(',')
63 strList = value.split(',')
64 intList = [int(x) for x in strList]
64 intList = [int(x) for x in strList]
65
65
66 self.__formated_value = intList
66 self.__formated_value = intList
67
67
68 return self.__formated_value
68 return self.__formated_value
69
69
70 if self.format == 'floatlist':
70 if self.format == 'floatlist':
71 """
71 """
72 Example:
72 Example:
73 value = (0.5, 1.4, 2.7)
73 value = (0.5, 1.4, 2.7)
74 """
74 """
75 strList = value.split(',')
75 strList = value.split(',')
76 floatList = [float(x) for x in strList]
76 floatList = [float(x) for x in strList]
77
77
78 self.__formated_value = floatList
78 self.__formated_value = floatList
79
79
80 return self.__formated_value
80 return self.__formated_value
81
81
82 if self.format == 'date':
82 if self.format == 'date':
83 strList = value.split('/')
83 strList = value.split('/')
84 intList = [int(x) for x in strList]
84 intList = [int(x) for x in strList]
85 date = datetime.date(intList[0], intList[1], intList[2])
85 date = datetime.date(intList[0], intList[1], intList[2])
86
86
87 self.__formated_value = date
87 self.__formated_value = date
88
88
89 return self.__formated_value
89 return self.__formated_value
90
90
91 if self.format == 'time':
91 if self.format == 'time':
92 strList = value.split(':')
92 strList = value.split(':')
93 intList = [int(x) for x in strList]
93 intList = [int(x) for x in strList]
94 time = datetime.time(intList[0], intList[1], intList[2])
94 time = datetime.time(intList[0], intList[1], intList[2])
95
95
96 self.__formated_value = time
96 self.__formated_value = time
97
97
98 return self.__formated_value
98 return self.__formated_value
99
99
100 if self.format == 'pairslist':
100 if self.format == 'pairslist':
101 """
101 """
102 Example:
102 Example:
103 value = (0,1),(1,2)
103 value = (0,1),(1,2)
104 """
104 """
105
105
106 value = value.replace('(', '')
106 value = value.replace('(', '')
107 value = value.replace(')', '')
107 value = value.replace(')', '')
108
108
109 strList = value.split(',')
109 strList = value.split(',')
110 intList = [int(item) for item in strList]
110 intList = [int(item) for item in strList]
111 pairList = []
111 pairList = []
112 for i in range(len(intList)/2):
112 for i in range(len(intList)/2):
113 pairList.append((intList[i*2], intList[i*2 + 1]))
113 pairList.append((intList[i*2], intList[i*2 + 1]))
114
114
115 self.__formated_value = pairList
115 self.__formated_value = pairList
116
116
117 return self.__formated_value
117 return self.__formated_value
118
118
119 if self.format == 'multilist':
119 if self.format == 'multilist':
120 """
120 """
121 Example:
121 Example:
122 value = (0,1,2),(3,4,5)
122 value = (0,1,2),(3,4,5)
123 """
123 """
124 multiList = ast.literal_eval(value)
124 multiList = ast.literal_eval(value)
125
125
126 self.__formated_value = multiList
126 self.__formated_value = multiList
127
127
128 return self.__formated_value
128 return self.__formated_value
129
129
130 format_func = eval(self.format)
130 format_func = eval(self.format)
131
131
132 self.__formated_value = format_func(value)
132 self.__formated_value = format_func(value)
133
133
134 return self.__formated_value
134 return self.__formated_value
135
135
136 def setup(self, id, name, value, format='str'):
136 def setup(self, id, name, value, format='str'):
137
137
138 self.id = id
138 self.id = id
139 self.name = name
139 self.name = name
140 self.value = str(value)
140 self.value = str(value)
141 self.format = str.lower(format)
141 self.format = str.lower(format)
142
142
143 def update(self, name, value, format='str'):
143 def update(self, name, value, format='str'):
144
144
145 self.name = name
145 self.name = name
146 self.value = str(value)
146 self.value = str(value)
147 self.format = format
147 self.format = format
148
148
149 def makeXml(self, opElement):
149 def makeXml(self, opElement):
150
150
151 parmElement = SubElement(opElement, self.ELEMENTNAME)
151 parmElement = SubElement(opElement, self.ELEMENTNAME)
152 parmElement.set('id', str(self.id))
152 parmElement.set('id', str(self.id))
153 parmElement.set('name', self.name)
153 parmElement.set('name', self.name)
154 parmElement.set('value', self.value)
154 parmElement.set('value', self.value)
155 parmElement.set('format', self.format)
155 parmElement.set('format', self.format)
156
156
157 def readXml(self, parmElement):
157 def readXml(self, parmElement):
158
158
159 self.id = parmElement.get('id')
159 self.id = parmElement.get('id')
160 self.name = parmElement.get('name')
160 self.name = parmElement.get('name')
161 self.value = parmElement.get('value')
161 self.value = parmElement.get('value')
162 self.format = str.lower(parmElement.get('format'))
162 self.format = str.lower(parmElement.get('format'))
163
163
164 #Compatible with old signal chain version
164 #Compatible with old signal chain version
165 if self.format == 'int' and self.name == 'idfigure':
165 if self.format == 'int' and self.name == 'idfigure':
166 self.name = 'id'
166 self.name = 'id'
167
167
168 def printattr(self):
168 def printattr(self):
169
169
170 print "Parameter[%s]: name = %s, value = %s, format = %s" %(self.id, self.name, self.value, self.format)
170 print "Parameter[%s]: name = %s, value = %s, format = %s" %(self.id, self.name, self.value, self.format)
171
171
172 class OperationConf():
172 class OperationConf():
173
173
174 id = None
174 id = None
175 name = None
175 name = None
176 priority = None
176 priority = None
177 type = None
177 type = None
178
178
179 parmConfObjList = []
179 parmConfObjList = []
180
180
181 ELEMENTNAME = 'Operation'
181 ELEMENTNAME = 'Operation'
182
182
183 def __init__(self):
183 def __init__(self):
184
184
185 self.id = 0
185 self.id = 0
186 self.name = None
186 self.name = None
187 self.priority = None
187 self.priority = None
188 self.type = 'self'
188 self.type = 'self'
189
189
190
190
191 def __getNewId(self):
191 def __getNewId(self):
192
192
193 return int(self.id)*10 + len(self.parmConfObjList) + 1
193 return int(self.id)*10 + len(self.parmConfObjList) + 1
194
194
195 def getElementName(self):
195 def getElementName(self):
196
196
197 return self.ELEMENTNAME
197 return self.ELEMENTNAME
198
198
199 def getParameterObjList(self):
199 def getParameterObjList(self):
200
200
201 return self.parmConfObjList
201 return self.parmConfObjList
202
202
203 def getParameterObj(self, parameterName):
203 def getParameterObj(self, parameterName):
204
204
205 for parmConfObj in self.parmConfObjList:
205 for parmConfObj in self.parmConfObjList:
206
206
207 if parmConfObj.name != parameterName:
207 if parmConfObj.name != parameterName:
208 continue
208 continue
209
209
210 return parmConfObj
210 return parmConfObj
211
211
212 return None
212 return None
213
213
214 def getParameterObjfromValue(self,parameterValue):
214 def getParameterObjfromValue(self,parameterValue):
215 for parmConfObj in self.parmConfObjList:
215 for parmConfObj in self.parmConfObjList:
216
216
217 if parmConfObj.getValue() != parameterValue:
217 if parmConfObj.getValue() != parameterValue:
218 continue
218 continue
219
219
220 return parmConfObj.getValue()
220 return parmConfObj.getValue()
221
221
222 return None
222 return None
223
223
224 def getParameterValue(self, parameterName):
224 def getParameterValue(self, parameterName):
225
225
226 parameterObj = self.getParameterObj(parameterName)
226 parameterObj = self.getParameterObj(parameterName)
227 value = parameterObj.getValue()
227 value = parameterObj.getValue()
228
228
229 return value
229 return value
230
230
231 def setup(self, id, name, priority, type):
231 def setup(self, id, name, priority, type):
232
232
233 self.id = id
233 self.id = id
234 self.name = name
234 self.name = name
235 self.type = type
235 self.type = type
236 self.priority = priority
236 self.priority = priority
237
237
238 self.parmConfObjList = []
238 self.parmConfObjList = []
239
239
240 def removeParameters(self):
240 def removeParameters(self):
241
241
242 for obj in self.parmConfObjList:
242 for obj in self.parmConfObjList:
243 del obj
243 del obj
244
244
245 self.parmConfObjList = []
245 self.parmConfObjList = []
246
246
247 def addParameter(self, name, value, format='str'):
247 def addParameter(self, name, value, format='str'):
248
248
249 id = self.__getNewId()
249 id = self.__getNewId()
250
250
251 parmConfObj = ParameterConf()
251 parmConfObj = ParameterConf()
252 parmConfObj.setup(id, name, value, format)
252 parmConfObj.setup(id, name, value, format)
253
253
254 self.parmConfObjList.append(parmConfObj)
254 self.parmConfObjList.append(parmConfObj)
255
255
256 return parmConfObj
256 return parmConfObj
257
257
258 def changeParameter(self, name, value, format='str'):
258 def changeParameter(self, name, value, format='str'):
259
259
260 parmConfObj = self.getParameterObj(name)
260 parmConfObj = self.getParameterObj(name)
261 parmConfObj.update(name, value, format)
261 parmConfObj.update(name, value, format)
262
262
263 return parmConfObj
263 return parmConfObj
264
264
265 def makeXml(self, upElement):
265 def makeXml(self, upElement):
266
266
267 opElement = SubElement(upElement, self.ELEMENTNAME)
267 opElement = SubElement(upElement, self.ELEMENTNAME)
268 opElement.set('id', str(self.id))
268 opElement.set('id', str(self.id))
269 opElement.set('name', self.name)
269 opElement.set('name', self.name)
270 opElement.set('type', self.type)
270 opElement.set('type', self.type)
271 opElement.set('priority', str(self.priority))
271 opElement.set('priority', str(self.priority))
272
272
273 for parmConfObj in self.parmConfObjList:
273 for parmConfObj in self.parmConfObjList:
274 parmConfObj.makeXml(opElement)
274 parmConfObj.makeXml(opElement)
275
275
276 def readXml(self, opElement):
276 def readXml(self, opElement):
277
277
278 self.id = opElement.get('id')
278 self.id = opElement.get('id')
279 self.name = opElement.get('name')
279 self.name = opElement.get('name')
280 self.type = opElement.get('type')
280 self.type = opElement.get('type')
281 self.priority = opElement.get('priority')
281 self.priority = opElement.get('priority')
282
282
283 #Compatible with old signal chain version
283 #Compatible with old signal chain version
284 #Use of 'run' method instead 'init'
284 #Use of 'run' method instead 'init'
285 if self.type == 'self' and self.name == 'init':
285 if self.type == 'self' and self.name == 'init':
286 self.name = 'run'
286 self.name = 'run'
287
287
288 self.parmConfObjList = []
288 self.parmConfObjList = []
289
289
290 parmElementList = opElement.getiterator(ParameterConf().getElementName())
290 parmElementList = opElement.getiterator(ParameterConf().getElementName())
291
291
292 for parmElement in parmElementList:
292 for parmElement in parmElementList:
293 parmConfObj = ParameterConf()
293 parmConfObj = ParameterConf()
294 parmConfObj.readXml(parmElement)
294 parmConfObj.readXml(parmElement)
295
295
296 #Compatible with old signal chain version
296 #Compatible with old signal chain version
297 #If an 'plot' OPERATION is found, changes name operation by the value of its type PARAMETER
297 #If an 'plot' OPERATION is found, changes name operation by the value of its type PARAMETER
298 if self.type != 'self' and self.name == 'Plot':
298 if self.type != 'self' and self.name == 'Plot':
299 if parmConfObj.format == 'str' and parmConfObj.name == 'type':
299 if parmConfObj.format == 'str' and parmConfObj.name == 'type':
300 self.name = parmConfObj.value
300 self.name = parmConfObj.value
301 continue
301 continue
302
302
303 self.parmConfObjList.append(parmConfObj)
303 self.parmConfObjList.append(parmConfObj)
304
304
305 def printattr(self):
305 def printattr(self):
306
306
307 print "%s[%s]: name = %s, type = %s, priority = %s" %(self.ELEMENTNAME,
307 print "%s[%s]: name = %s, type = %s, priority = %s" %(self.ELEMENTNAME,
308 self.id,
308 self.id,
309 self.name,
309 self.name,
310 self.type,
310 self.type,
311 self.priority)
311 self.priority)
312
312
313 for parmConfObj in self.parmConfObjList:
313 for parmConfObj in self.parmConfObjList:
314 parmConfObj.printattr()
314 parmConfObj.printattr()
315
315
316 def createObject(self):
316 def createObject(self):
317
317
318 if self.type == 'self':
318 if self.type == 'self':
319 raise ValueError, "This operation type cannot be created"
319 raise ValueError, "This operation type cannot be created"
320
320
321 if self.type == 'external' or self.type == 'other':
321 if self.type == 'external' or self.type == 'other':
322 className = eval(self.name)
322 className = eval(self.name)
323 opObj = className()
323 opObj = className()
324
324
325 return opObj
325 return opObj
326
326
327 class ProcUnitConf():
327 class ProcUnitConf():
328
328
329 id = None
329 id = None
330 name = None
330 name = None
331 datatype = None
331 datatype = None
332 inputId = None
332 inputId = None
333 parentId = None
333 parentId = None
334
334
335 opConfObjList = []
335 opConfObjList = []
336
336
337 procUnitObj = None
337 procUnitObj = None
338 opObjList = []
338 opObjList = []
339
339
340 ELEMENTNAME = 'ProcUnit'
340 ELEMENTNAME = 'ProcUnit'
341
341
342 def __init__(self):
342 def __init__(self):
343
343
344 self.id = None
344 self.id = None
345 self.datatype = None
345 self.datatype = None
346 self.name = None
346 self.name = None
347 self.inputId = None
347 self.inputId = None
348
348
349 self.opConfObjList = []
349 self.opConfObjList = []
350
350
351 self.procUnitObj = None
351 self.procUnitObj = None
352 self.opObjDict = {}
352 self.opObjDict = {}
353
353
354 def __getPriority(self):
354 def __getPriority(self):
355
355
356 return len(self.opConfObjList)+1
356 return len(self.opConfObjList)+1
357
357
358 def __getNewId(self):
358 def __getNewId(self):
359
359
360 return int(self.id)*10 + len(self.opConfObjList) + 1
360 return int(self.id)*10 + len(self.opConfObjList) + 1
361
361
362 def getElementName(self):
362 def getElementName(self):
363
363
364 return self.ELEMENTNAME
364 return self.ELEMENTNAME
365
365
366 def getId(self):
366 def getId(self):
367
367
368 return str(self.id)
368 return str(self.id)
369
369
370 def getInputId(self):
370 def getInputId(self):
371
371
372 return str(self.inputId)
372 return str(self.inputId)
373
373
374 def getOperationObjList(self):
374 def getOperationObjList(self):
375
375
376 return self.opConfObjList
376 return self.opConfObjList
377
377
378 def getOperationObj(self, name=None):
378 def getOperationObj(self, name=None):
379
379
380 for opConfObj in self.opConfObjList:
380 for opConfObj in self.opConfObjList:
381
381
382 if opConfObj.name != name:
382 if opConfObj.name != name:
383 continue
383 continue
384
384
385 return opConfObj
385 return opConfObj
386
386
387 return None
387 return None
388
388
389 def getOpObjfromParamValue(self,value=None):
389 def getOpObjfromParamValue(self,value=None):
390
390
391 for opConfObj in self.opConfObjList:
391 for opConfObj in self.opConfObjList:
392 if opConfObj.getParameterObjfromValue(parameterValue=value) != value:
392 if opConfObj.getParameterObjfromValue(parameterValue=value) != value:
393 continue
393 continue
394 return opConfObj
394 return opConfObj
395 return None
395 return None
396
396
397 def getProcUnitObj(self):
397 def getProcUnitObj(self):
398
398
399 return self.procUnitObj
399 return self.procUnitObj
400
400
401 def setup(self, id, name, datatype, inputId, parentId=None):
401 def setup(self, id, name, datatype, inputId, parentId=None):
402
402
403 self.id = id
403 self.id = id
404 self.name = name
404 self.name = name
405 self.datatype = datatype
405 self.datatype = datatype
406 self.inputId = inputId
406 self.inputId = inputId
407 self.parentId = parentId
407 self.parentId = parentId
408
408
409 self.opConfObjList = []
409 self.opConfObjList = []
410
410
411 self.addOperation(name='run', optype='self')
411 self.addOperation(name='run', optype='self')
412
412
413 def removeOperations(self):
413 def removeOperations(self):
414
414
415 for obj in self.opConfObjList:
415 for obj in self.opConfObjList:
416 del obj
416 del obj
417
417
418 self.opConfObjList = []
418 self.opConfObjList = []
419 self.addOperation(name='run')
419 self.addOperation(name='run')
420
420
421 def addParameter(self, **kwargs):
421 def addParameter(self, **kwargs):
422 '''
422 '''
423 Add parameters to "run" operation
423 Add parameters to "run" operation
424 '''
424 '''
425 opObj = self.opConfObjList[0]
425 opObj = self.opConfObjList[0]
426
426
427 opObj.addParameter(**kwargs)
427 opObj.addParameter(**kwargs)
428
428
429 return opObj
429 return opObj
430
430
431 def addOperation(self, name, optype='self'):
431 def addOperation(self, name, optype='self'):
432
432
433 id = self.__getNewId()
433 id = self.__getNewId()
434 priority = self.__getPriority()
434 priority = self.__getPriority()
435
435
436 opConfObj = OperationConf()
436 opConfObj = OperationConf()
437 opConfObj.setup(id, name=name, priority=priority, type=optype)
437 opConfObj.setup(id, name=name, priority=priority, type=optype)
438
438
439 self.opConfObjList.append(opConfObj)
439 self.opConfObjList.append(opConfObj)
440
440
441 return opConfObj
441 return opConfObj
442
442
443 def makeXml(self, procUnitElement):
443 def makeXml(self, procUnitElement):
444
444
445 upElement = SubElement(procUnitElement, self.ELEMENTNAME)
445 upElement = SubElement(procUnitElement, self.ELEMENTNAME)
446 upElement.set('id', str(self.id))
446 upElement.set('id', str(self.id))
447 upElement.set('name', self.name)
447 upElement.set('name', self.name)
448 upElement.set('datatype', self.datatype)
448 upElement.set('datatype', self.datatype)
449 upElement.set('inputId', str(self.inputId))
449 upElement.set('inputId', str(self.inputId))
450
450
451 for opConfObj in self.opConfObjList:
451 for opConfObj in self.opConfObjList:
452 opConfObj.makeXml(upElement)
452 opConfObj.makeXml(upElement)
453
453
454 def readXml(self, upElement):
454 def readXml(self, upElement):
455
455
456 self.id = upElement.get('id')
456 self.id = upElement.get('id')
457 self.name = upElement.get('name')
457 self.name = upElement.get('name')
458 self.datatype = upElement.get('datatype')
458 self.datatype = upElement.get('datatype')
459 self.inputId = upElement.get('inputId')
459 self.inputId = upElement.get('inputId')
460
460
461 self.opConfObjList = []
461 self.opConfObjList = []
462
462
463 opElementList = upElement.getiterator(OperationConf().getElementName())
463 opElementList = upElement.getiterator(OperationConf().getElementName())
464
464
465 for opElement in opElementList:
465 for opElement in opElementList:
466 opConfObj = OperationConf()
466 opConfObj = OperationConf()
467 opConfObj.readXml(opElement)
467 opConfObj.readXml(opElement)
468 self.opConfObjList.append(opConfObj)
468 self.opConfObjList.append(opConfObj)
469
469
470 def printattr(self):
470 def printattr(self):
471
471
472 print "%s[%s]: name = %s, datatype = %s, inputId = %s" %(self.ELEMENTNAME,
472 print "%s[%s]: name = %s, datatype = %s, inputId = %s" %(self.ELEMENTNAME,
473 self.id,
473 self.id,
474 self.name,
474 self.name,
475 self.datatype,
475 self.datatype,
476 self.inputId)
476 self.inputId)
477
477
478 for opConfObj in self.opConfObjList:
478 for opConfObj in self.opConfObjList:
479 opConfObj.printattr()
479 opConfObj.printattr()
480
480
481 def createObjects(self):
481 def createObjects(self):
482
482
483 className = eval(self.name)
483 className = eval(self.name)
484 procUnitObj = className()
484 procUnitObj = className()
485
485
486 for opConfObj in self.opConfObjList:
486 for opConfObj in self.opConfObjList:
487
487
488 if opConfObj.type == 'self':
488 if opConfObj.type == 'self':
489 continue
489 continue
490
490
491 opObj = opConfObj.createObject()
491 opObj = opConfObj.createObject()
492
492
493 self.opObjDict[opConfObj.id] = opObj
493 self.opObjDict[opConfObj.id] = opObj
494 procUnitObj.addOperation(opObj, opConfObj.id)
494 procUnitObj.addOperation(opObj, opConfObj.id)
495
495
496 self.procUnitObj = procUnitObj
496 self.procUnitObj = procUnitObj
497
497
498 return procUnitObj
498 return procUnitObj
499
499
500 def run(self):
500 def run(self):
501
501
502 finalSts = False
502 finalSts = False
503
503
504 for opConfObj in self.opConfObjList:
504 for opConfObj in self.opConfObjList:
505
505
506 kwargs = {}
506 kwargs = {}
507 for parmConfObj in opConfObj.getParameterObjList():
507 for parmConfObj in opConfObj.getParameterObjList():
508 if opConfObj.name == 'run' and parmConfObj.name == 'datatype':
508 if opConfObj.name == 'run' and parmConfObj.name == 'datatype':
509 continue
509 continue
510
510
511 kwargs[parmConfObj.name] = parmConfObj.getValue()
511 kwargs[parmConfObj.name] = parmConfObj.getValue()
512
512
513 #print "\tRunning the '%s' operation with %s" %(opConfObj.name, opConfObj.id)
513 #print "\tRunning the '%s' operation with %s" %(opConfObj.name, opConfObj.id)
514 sts = self.procUnitObj.call(opType = opConfObj.type,
514 sts = self.procUnitObj.call(opType = opConfObj.type,
515 opName = opConfObj.name,
515 opName = opConfObj.name,
516 opId = opConfObj.id,
516 opId = opConfObj.id,
517 **kwargs)
517 **kwargs)
518 finalSts = finalSts or sts
518 finalSts = finalSts or sts
519
519
520 return finalSts
520 return finalSts
521
521
522 def close(self):
522 def close(self):
523
523
524 for opConfObj in self.opConfObjList:
524 for opConfObj in self.opConfObjList:
525 if opConfObj.type == 'self':
525 if opConfObj.type == 'self':
526 continue
526 continue
527
527
528 opObj = self.procUnitObj.getOperationObj(opConfObj.id)
528 opObj = self.procUnitObj.getOperationObj(opConfObj.id)
529 opObj.close()
529 opObj.close()
530
530
531 self.procUnitObj.close()
531 self.procUnitObj.close()
532
532
533 return
533 return
534
534
535 class ReadUnitConf(ProcUnitConf):
535 class ReadUnitConf(ProcUnitConf):
536
536
537 path = None
537 path = None
538 startDate = None
538 startDate = None
539 endDate = None
539 endDate = None
540 startTime = None
540 startTime = None
541 endTime = None
541 endTime = None
542
542
543 ELEMENTNAME = 'ReadUnit'
543 ELEMENTNAME = 'ReadUnit'
544
544
545 def __init__(self):
545 def __init__(self):
546
546
547 self.id = None
547 self.id = None
548 self.datatype = None
548 self.datatype = None
549 self.name = None
549 self.name = None
550 self.inputId = 0
550 self.inputId = 0
551
551
552 self.opConfObjList = []
552 self.opConfObjList = []
553 self.opObjList = []
553 self.opObjList = []
554
554
555 def getElementName(self):
555 def getElementName(self):
556
556
557 return self.ELEMENTNAME
557 return self.ELEMENTNAME
558
558
559 def setup(self, id, name, datatype, path, startDate="", endDate="", startTime="", endTime="", parentId=None, **kwargs):
559 def setup(self, id, name, datatype, path, startDate="", endDate="", startTime="", endTime="", parentId=None, **kwargs):
560
560
561 self.id = id
561 self.id = id
562 self.name = name
562 self.name = name
563 self.datatype = datatype
563 self.datatype = datatype
564
564
565 self.path = path
565 self.path = path
566 self.startDate = startDate
566 self.startDate = startDate
567 self.endDate = endDate
567 self.endDate = endDate
568 self.startTime = startTime
568 self.startTime = startTime
569 self.endTime = endTime
569 self.endTime = endTime
570
570
571 self.addRunOperation(**kwargs)
571 self.addRunOperation(**kwargs)
572
572
573 def update(self, datatype, path, startDate, endDate, startTime, endTime, parentId=None, **kwargs):
573 def update(self, datatype, path, startDate, endDate, startTime, endTime, parentId=None, **kwargs):
574
574
575 self.datatype = datatype
575 self.datatype = datatype
576 self.path = path
576 self.path = path
577 self.startDate = startDate
577 self.startDate = startDate
578 self.endDate = endDate
578 self.endDate = endDate
579 self.startTime = startTime
579 self.startTime = startTime
580 self.endTime = endTime
580 self.endTime = endTime
581
581
582 self.updateRunOperation(**kwargs)
582 self.updateRunOperation(**kwargs)
583
583
584 def addRunOperation(self, **kwargs):
584 def addRunOperation(self, **kwargs):
585
585
586 opObj = self.addOperation(name = 'run', optype = 'self')
586 opObj = self.addOperation(name = 'run', optype = 'self')
587
587
588 opObj.addParameter(name='datatype' , value=self.datatype, format='str')
588 opObj.addParameter(name='datatype' , value=self.datatype, format='str')
589 opObj.addParameter(name='path' , value=self.path, format='str')
589 opObj.addParameter(name='path' , value=self.path, format='str')
590 opObj.addParameter(name='startDate' , value=self.startDate, format='date')
590 opObj.addParameter(name='startDate' , value=self.startDate, format='date')
591 opObj.addParameter(name='endDate' , value=self.endDate, format='date')
591 opObj.addParameter(name='endDate' , value=self.endDate, format='date')
592 opObj.addParameter(name='startTime' , value=self.startTime, format='time')
592 opObj.addParameter(name='startTime' , value=self.startTime, format='time')
593 opObj.addParameter(name='endTime' , value=self.endTime, format='time')
593 opObj.addParameter(name='endTime' , value=self.endTime, format='time')
594
594
595 for key, value in kwargs.items():
595 for key, value in kwargs.items():
596 opObj.addParameter(name=key, value=value, format=type(value).__name__)
596 opObj.addParameter(name=key, value=value, format=type(value).__name__)
597
597
598 return opObj
598 return opObj
599
599
600 def updateRunOperation(self, **kwargs):
600 def updateRunOperation(self, **kwargs):
601
601
602 opObj = self.getOperationObj(name = 'run')
602 opObj = self.getOperationObj(name = 'run')
603 opObj.removeParameters()
603 opObj.removeParameters()
604
604
605 opObj.addParameter(name='datatype' , value=self.datatype, format='str')
605 opObj.addParameter(name='datatype' , value=self.datatype, format='str')
606 opObj.addParameter(name='path' , value=self.path, format='str')
606 opObj.addParameter(name='path' , value=self.path, format='str')
607 opObj.addParameter(name='startDate' , value=self.startDate, format='date')
607 opObj.addParameter(name='startDate' , value=self.startDate, format='date')
608 opObj.addParameter(name='endDate' , value=self.endDate, format='date')
608 opObj.addParameter(name='endDate' , value=self.endDate, format='date')
609 opObj.addParameter(name='startTime' , value=self.startTime, format='time')
609 opObj.addParameter(name='startTime' , value=self.startTime, format='time')
610 opObj.addParameter(name='endTime' , value=self.endTime, format='time')
610 opObj.addParameter(name='endTime' , value=self.endTime, format='time')
611
611
612 for key, value in kwargs.items():
612 for key, value in kwargs.items():
613 opObj.addParameter(name=key, value=value, format=type(value).__name__)
613 opObj.addParameter(name=key, value=value, format=type(value).__name__)
614
614
615 return opObj
615 return opObj
616
616
617 class Project():
617 class Project():
618
618
619 id = None
619 id = None
620 name = None
620 name = None
621 description = None
621 description = None
622 # readUnitConfObjList = None
622 # readUnitConfObjList = None
623 procUnitConfObjDict = None
623 procUnitConfObjDict = None
624
624
625 ELEMENTNAME = 'Project'
625 ELEMENTNAME = 'Project'
626
626
627 def __init__(self, control=None, dataq=None):
627 def __init__(self, control=None, dataq=None):
628
628
629 self.id = None
629 self.id = None
630 self.name = None
630 self.name = None
631 self.description = None
631 self.description = None
632
632
633 self.procUnitConfObjDict = {}
633 self.procUnitConfObjDict = {}
634
634
635 #global data_q
635 #global data_q
636 #data_q = dataq
636 #data_q = dataq
637
637
638 if control==None:
638 if control==None:
639 control = {}
639 control = {}
640 control['stop'] = False
640 control['stop'] = False
641 control['pause'] = False
641 control['pause'] = False
642
642
643 self.control = control
643 self.control = control
644
644
645 def __getNewId(self):
645 def __getNewId(self):
646
646
647 id = int(self.id)*10 + len(self.procUnitConfObjDict) + 1
647 id = int(self.id)*10 + len(self.procUnitConfObjDict) + 1
648
648
649 return str(id)
649 return str(id)
650
650
651 def getElementName(self):
651 def getElementName(self):
652
652
653 return self.ELEMENTNAME
653 return self.ELEMENTNAME
654
654
655 def getId(self):
655 def getId(self):
656
656
657 return self.id
657 return self.id
658
658
659 def setup(self, id, name, description):
659 def setup(self, id, name, description):
660
660
661 self.id = id
661 self.id = id
662 self.name = name
662 self.name = name
663 self.description = description
663 self.description = description
664
664
665 def update(self, name, description):
665 def update(self, name, description):
666
666
667 self.name = name
667 self.name = name
668 self.description = description
668 self.description = description
669
669
670 def addReadUnit(self, datatype=None, name=None, **kwargs):
670 def addReadUnit(self, datatype=None, name=None, **kwargs):
671
671
672 #Compatible with old signal chain version
672 #Compatible with old signal chain version
673 if datatype==None and name==None:
673 if datatype==None and name==None:
674 raise ValueError, "datatype or name should be defined"
674 raise ValueError, "datatype or name should be defined"
675
675
676 if name==None:
676 if name==None:
677 if 'Reader' in datatype:
677 if 'Reader' in datatype:
678 name = datatype
678 name = datatype
679 else:
679 else:
680 name = '%sReader' %(datatype)
680 name = '%sReader' %(datatype)
681
681
682 if datatype==None:
682 if datatype==None:
683 datatype = name.replace('Reader','')
683 datatype = name.replace('Reader','')
684
684
685 id = self.__getNewId()
685 id = self.__getNewId()
686
686
687 readUnitConfObj = ReadUnitConf()
687 readUnitConfObj = ReadUnitConf()
688 readUnitConfObj.setup(id, name, datatype, parentId=self.id, **kwargs)
688 readUnitConfObj.setup(id, name, datatype, parentId=self.id, **kwargs)
689
689
690 self.procUnitConfObjDict[readUnitConfObj.getId()] = readUnitConfObj
690 self.procUnitConfObjDict[readUnitConfObj.getId()] = readUnitConfObj
691
691
692 return readUnitConfObj
692 return readUnitConfObj
693
693
694 def addProcUnit(self, inputId=0, datatype=None, name=None):
694 def addProcUnit(self, inputId=0, datatype=None, name=None):
695
695
696 #Compatible with old signal chain version
696 #Compatible with old signal chain version
697 if datatype==None and name==None:
697 if datatype==None and name==None:
698 raise ValueError, "datatype or name should be defined"
698 raise ValueError, "datatype or name should be defined"
699
699
700 if name==None:
700 if name==None:
701 if 'Proc' in datatype:
701 if 'Proc' in datatype:
702 name = datatype
702 name = datatype
703 else:
703 else:
704 name = '%sProc' %(datatype)
704 name = '%sProc' %(datatype)
705
705
706 if datatype==None:
706 if datatype==None:
707 datatype = name.replace('Proc','')
707 datatype = name.replace('Proc','')
708
708
709 id = self.__getNewId()
709 id = self.__getNewId()
710
710
711 procUnitConfObj = ProcUnitConf()
711 procUnitConfObj = ProcUnitConf()
712 procUnitConfObj.setup(id, name, datatype, inputId, parentId=self.id)
712 procUnitConfObj.setup(id, name, datatype, inputId, parentId=self.id)
713
713
714 self.procUnitConfObjDict[procUnitConfObj.getId()] = procUnitConfObj
714 self.procUnitConfObjDict[procUnitConfObj.getId()] = procUnitConfObj
715
715
716 return procUnitConfObj
716 return procUnitConfObj
717
717
718 def getReadUnitId(self):
718 def getReadUnitId(self):
719
719
720 readUnitConfObj = self.getReadUnitObj()
720 readUnitConfObj = self.getReadUnitObj()
721
721
722 return readUnitConfObj.id
722 return readUnitConfObj.id
723
723
724 def getReadUnitObj(self):
724 def getReadUnitObj(self):
725
725
726 for obj in self.procUnitConfObjDict.values():
726 for obj in self.procUnitConfObjDict.values():
727 if obj.getElementName() == "ReadUnit":
727 if obj.getElementName() == "ReadUnit":
728 return obj
728 return obj
729
729
730 return None
730 return None
731
731
732 def getProcUnitObj(self, id):
732 def getProcUnitObj(self, id):
733
733
734 return self.procUnitConfObjDict[id]
734 return self.procUnitConfObjDict[id]
735
735
736 def getProcUnitObjByName(self, name):
737
738 for obj in self.procUnitConfObjDict.values():
739 if obj.name == name:
740 return obj
741
742 return None
743
736 def makeXml(self):
744 def makeXml(self):
737
745
738 projectElement = Element('Project')
746 projectElement = Element('Project')
739 projectElement.set('id', str(self.id))
747 projectElement.set('id', str(self.id))
740 projectElement.set('name', self.name)
748 projectElement.set('name', self.name)
741 projectElement.set('description', self.description)
749 projectElement.set('description', self.description)
742
750
743 # for readUnitConfObj in self.readUnitConfObjList:
751 # for readUnitConfObj in self.readUnitConfObjList:
744 # readUnitConfObj.makeXml(projectElement)
752 # readUnitConfObj.makeXml(projectElement)
745
753
746 for procUnitConfObj in self.procUnitConfObjDict.values():
754 for procUnitConfObj in self.procUnitConfObjDict.values():
747 procUnitConfObj.makeXml(projectElement)
755 procUnitConfObj.makeXml(projectElement)
748
756
749 self.projectElement = projectElement
757 self.projectElement = projectElement
750
758
751 def writeXml(self, filename):
759 def writeXml(self, filename):
752
760
753 self.makeXml()
761 self.makeXml()
754
762
755 #print prettify(self.projectElement)
763 #print prettify(self.projectElement)
756
764
757 ElementTree(self.projectElement).write(filename, method='xml')
765 ElementTree(self.projectElement).write(filename, method='xml')
758
766
759 def readXml(self, filename):
767 def readXml(self, filename):
760
768
761 #tree = ET.parse(filename)
769 #tree = ET.parse(filename)
762 self.projectElement = None
770 self.projectElement = None
763 # self.readUnitConfObjList = []
771 # self.readUnitConfObjList = []
764 self.procUnitConfObjDict = {}
772 self.procUnitConfObjDict = {}
765
773
766 self.projectElement = ElementTree().parse(filename)
774 self.projectElement = ElementTree().parse(filename)
767
775
768 self.project = self.projectElement.tag
776 self.project = self.projectElement.tag
769
777
770 self.id = self.projectElement.get('id')
778 self.id = self.projectElement.get('id')
771 self.name = self.projectElement.get('name')
779 self.name = self.projectElement.get('name')
772 self.description = self.projectElement.get('description')
780 self.description = self.projectElement.get('description')
773
781
774 readUnitElementList = self.projectElement.getiterator(ReadUnitConf().getElementName())
782 readUnitElementList = self.projectElement.getiterator(ReadUnitConf().getElementName())
775
783
776 for readUnitElement in readUnitElementList:
784 for readUnitElement in readUnitElementList:
777 readUnitConfObj = ReadUnitConf()
785 readUnitConfObj = ReadUnitConf()
778 readUnitConfObj.readXml(readUnitElement)
786 readUnitConfObj.readXml(readUnitElement)
779
787
780 self.procUnitConfObjDict[readUnitConfObj.getId()] = readUnitConfObj
788 self.procUnitConfObjDict[readUnitConfObj.getId()] = readUnitConfObj
781
789
782 procUnitElementList = self.projectElement.getiterator(ProcUnitConf().getElementName())
790 procUnitElementList = self.projectElement.getiterator(ProcUnitConf().getElementName())
783
791
784 for procUnitElement in procUnitElementList:
792 for procUnitElement in procUnitElementList:
785 procUnitConfObj = ProcUnitConf()
793 procUnitConfObj = ProcUnitConf()
786 procUnitConfObj.readXml(procUnitElement)
794 procUnitConfObj.readXml(procUnitElement)
787
795
788 self.procUnitConfObjDict[procUnitConfObj.getId()] = procUnitConfObj
796 self.procUnitConfObjDict[procUnitConfObj.getId()] = procUnitConfObj
789
797
790 def printattr(self):
798 def printattr(self):
791
799
792 print "Project[%s]: name = %s, description = %s" %(self.id,
800 print "Project[%s]: name = %s, description = %s" %(self.id,
793 self.name,
801 self.name,
794 self.description)
802 self.description)
795
803
796 # for readUnitConfObj in self.readUnitConfObjList:
804 # for readUnitConfObj in self.readUnitConfObjList:
797 # readUnitConfObj.printattr()
805 # readUnitConfObj.printattr()
798
806
799 for procUnitConfObj in self.procUnitConfObjDict.values():
807 for procUnitConfObj in self.procUnitConfObjDict.values():
800 procUnitConfObj.printattr()
808 procUnitConfObj.printattr()
801
809
802 def createObjects(self):
810 def createObjects(self):
803
811
804 # for readUnitConfObj in self.readUnitConfObjList:
812 # for readUnitConfObj in self.readUnitConfObjList:
805 # readUnitConfObj.createObjects()
813 # readUnitConfObj.createObjects()
806
814
807 for procUnitConfObj in self.procUnitConfObjDict.values():
815 for procUnitConfObj in self.procUnitConfObjDict.values():
808 procUnitConfObj.createObjects()
816 procUnitConfObj.createObjects()
809
817
810 def __connect(self, objIN, thisObj):
818 def __connect(self, objIN, thisObj):
811
819
812 thisObj.setInput(objIN.getOutputObj())
820 thisObj.setInput(objIN.getOutputObj())
813
821
814 def connectObjects(self):
822 def connectObjects(self):
815
823
816 for thisPUConfObj in self.procUnitConfObjDict.values():
824 for thisPUConfObj in self.procUnitConfObjDict.values():
817
825
818 inputId = thisPUConfObj.getInputId()
826 inputId = thisPUConfObj.getInputId()
819
827
820 if int(inputId) == 0:
828 if int(inputId) == 0:
821 continue
829 continue
822
830
823 #Get input object
831 #Get input object
824 puConfINObj = self.procUnitConfObjDict[inputId]
832 puConfINObj = self.procUnitConfObjDict[inputId]
825 puObjIN = puConfINObj.getProcUnitObj()
833 puObjIN = puConfINObj.getProcUnitObj()
826
834
827 #Get current object
835 #Get current object
828 thisPUObj = thisPUConfObj.getProcUnitObj()
836 thisPUObj = thisPUConfObj.getProcUnitObj()
829
837
830 self.__connect(puObjIN, thisPUObj)
838 self.__connect(puObjIN, thisPUObj)
831
839
832 def run(self):
840 def run(self):
833
841
834 # for readUnitConfObj in self.readUnitConfObjList:
842 # for readUnitConfObj in self.readUnitConfObjList:
835 # readUnitConfObj.run()
843 # readUnitConfObj.run()
836 print
844 print
837 print "*"*40
845 print "*"*40
838 print " Starting SIGNAL CHAIN PROCESSING "
846 print " Starting SIGNAL CHAIN PROCESSING "
839 print "*"*40
847 print "*"*40
840 print
848 print
841
849
842 keyList = self.procUnitConfObjDict.keys()
850 keyList = self.procUnitConfObjDict.keys()
843 keyList.sort()
851 keyList.sort()
844
852
845 while(True):
853 while(True):
846
854
847 finalSts = False
855 finalSts = False
848
856
849 for procKey in keyList:
857 for procKey in keyList:
850 # print "Running the '%s' process with %s" %(procUnitConfObj.name, procUnitConfObj.id)
858 # print "Running the '%s' process with %s" %(procUnitConfObj.name, procUnitConfObj.id)
851
859
852 procUnitConfObj = self.procUnitConfObjDict[procKey]
860 procUnitConfObj = self.procUnitConfObjDict[procKey]
853 sts = procUnitConfObj.run()
861 sts = procUnitConfObj.run()
854 finalSts = finalSts or sts
862 finalSts = finalSts or sts
855
863
856 #If every process unit finished so end process
864 #If every process unit finished so end process
857 if not(finalSts):
865 if not(finalSts):
858 print "Every process unit have finished"
866 print "Every process unit have finished"
859 break
867 break
860
868
861 if self.control['pause']:
869 if self.control['pause']:
862 print "Pause..."
870 print "Pause..."
863
871
864 while True:
872 while True:
865 time.sleep(0.1)
873 time.sleep(0.1)
866
874
867 if not self.control['pause']:
875 if not self.control['pause']:
868 break
876 break
869
877
870 if self.control['stop']:
878 if self.control['stop']:
871 break
879 break
872
880
873 if self.control['stop']:
881 if self.control['stop']:
874 print "Stopping process"
882 print "Stopping process"
875 break
883 break
876
884
877 #Closing every process
885 #Closing every process
878 for procKey in keyList:
886 for procKey in keyList:
879 procUnitConfObj = self.procUnitConfObjDict[procKey]
887 procUnitConfObj = self.procUnitConfObjDict[procKey]
880 procUnitConfObj.close()
888 procUnitConfObj.close()
881
889
882 print "Process stopped"
890 print "Process stopped"
883
891
884 def start(self, filename):
892 def start(self, filename):
885
893
886 self.writeXml(filename)
894 self.writeXml(filename)
887 self.readXml(filename)
895 self.readXml(filename)
888
896
889 self.createObjects()
897 self.createObjects()
890 self.connectObjects()
898 self.connectObjects()
891 self.run()
899 self.run()
892
900
893 if __name__ == '__main__':
901 if __name__ == '__main__':
894
902
895 desc = "Segundo Test"
903 desc = "Segundo Test"
896 filename = "schain.xml"
904 filename = "schain.xml"
897
905
898 controllerObj = Project()
906 controllerObj = Project()
899
907
900 controllerObj.setup(id = '191', name='test01', description=desc)
908 controllerObj.setup(id = '191', name='test01', description=desc)
901
909
902 readUnitConfObj = controllerObj.addReadUnit(datatype='Voltage',
910 readUnitConfObj = controllerObj.addReadUnit(datatype='Voltage',
903 path='data/rawdata/',
911 path='data/rawdata/',
904 startDate='2011/01/01',
912 startDate='2011/01/01',
905 endDate='2012/12/31',
913 endDate='2012/12/31',
906 startTime='00:00:00',
914 startTime='00:00:00',
907 endTime='23:59:59',
915 endTime='23:59:59',
908 online=1,
916 online=1,
909 walk=1)
917 walk=1)
910
918
911 # opObj00 = readUnitConfObj.addOperation(name='printInfo')
919 # opObj00 = readUnitConfObj.addOperation(name='printInfo')
912
920
913 procUnitConfObj0 = controllerObj.addProcUnit(datatype='Voltage', inputId=readUnitConfObj.getId())
921 procUnitConfObj0 = controllerObj.addProcUnit(datatype='Voltage', inputId=readUnitConfObj.getId())
914
922
915 opObj10 = procUnitConfObj0.addOperation(name='selectChannels')
923 opObj10 = procUnitConfObj0.addOperation(name='selectChannels')
916 opObj10.addParameter(name='channelList', value='3,4,5', format='intlist')
924 opObj10.addParameter(name='channelList', value='3,4,5', format='intlist')
917
925
918 opObj10 = procUnitConfObj0.addOperation(name='selectHeights')
926 opObj10 = procUnitConfObj0.addOperation(name='selectHeights')
919 opObj10.addParameter(name='minHei', value='90', format='float')
927 opObj10.addParameter(name='minHei', value='90', format='float')
920 opObj10.addParameter(name='maxHei', value='180', format='float')
928 opObj10.addParameter(name='maxHei', value='180', format='float')
921
929
922 opObj12 = procUnitConfObj0.addOperation(name='CohInt', optype='external')
930 opObj12 = procUnitConfObj0.addOperation(name='CohInt', optype='external')
923 opObj12.addParameter(name='n', value='10', format='int')
931 opObj12.addParameter(name='n', value='10', format='int')
924
932
925 procUnitConfObj1 = controllerObj.addProcUnit(datatype='Spectra', inputId=procUnitConfObj0.getId())
933 procUnitConfObj1 = controllerObj.addProcUnit(datatype='Spectra', inputId=procUnitConfObj0.getId())
926 procUnitConfObj1.addParameter(name='nFFTPoints', value='32', format='int')
934 procUnitConfObj1.addParameter(name='nFFTPoints', value='32', format='int')
927 # procUnitConfObj1.addParameter(name='pairList', value='(0,1),(0,2),(1,2)', format='')
935 # procUnitConfObj1.addParameter(name='pairList', value='(0,1),(0,2),(1,2)', format='')
928
936
929
937
930 opObj11 = procUnitConfObj1.addOperation(name='SpectraPlot', optype='external')
938 opObj11 = procUnitConfObj1.addOperation(name='SpectraPlot', optype='external')
931 opObj11.addParameter(name='idfigure', value='1', format='int')
939 opObj11.addParameter(name='idfigure', value='1', format='int')
932 opObj11.addParameter(name='wintitle', value='SpectraPlot0', format='str')
940 opObj11.addParameter(name='wintitle', value='SpectraPlot0', format='str')
933 opObj11.addParameter(name='zmin', value='40', format='int')
941 opObj11.addParameter(name='zmin', value='40', format='int')
934 opObj11.addParameter(name='zmax', value='90', format='int')
942 opObj11.addParameter(name='zmax', value='90', format='int')
935 opObj11.addParameter(name='showprofile', value='1', format='int')
943 opObj11.addParameter(name='showprofile', value='1', format='int')
936
944
937 # opObj11 = procUnitConfObj1.addOperation(name='CrossSpectraPlot', optype='external')
945 # opObj11 = procUnitConfObj1.addOperation(name='CrossSpectraPlot', optype='external')
938 # opObj11.addParameter(name='idfigure', value='2', format='int')
946 # opObj11.addParameter(name='idfigure', value='2', format='int')
939 # opObj11.addParameter(name='wintitle', value='CrossSpectraPlot', format='str')
947 # opObj11.addParameter(name='wintitle', value='CrossSpectraPlot', format='str')
940 # opObj11.addParameter(name='zmin', value='40', format='int')
948 # opObj11.addParameter(name='zmin', value='40', format='int')
941 # opObj11.addParameter(name='zmax', value='90', format='int')
949 # opObj11.addParameter(name='zmax', value='90', format='int')
942
950
943
951
944 # procUnitConfObj2 = controllerObj.addProcUnit(datatype='Voltage', inputId=procUnitConfObj0.getId())
952 # procUnitConfObj2 = controllerObj.addProcUnit(datatype='Voltage', inputId=procUnitConfObj0.getId())
945 #
953 #
946 # opObj12 = procUnitConfObj2.addOperation(name='CohInt', optype='external')
954 # opObj12 = procUnitConfObj2.addOperation(name='CohInt', optype='external')
947 # opObj12.addParameter(name='n', value='2', format='int')
955 # opObj12.addParameter(name='n', value='2', format='int')
948 # opObj12.addParameter(name='overlapping', value='1', format='int')
956 # opObj12.addParameter(name='overlapping', value='1', format='int')
949 #
957 #
950 # procUnitConfObj3 = controllerObj.addProcUnit(datatype='Spectra', inputId=procUnitConfObj2.getId())
958 # procUnitConfObj3 = controllerObj.addProcUnit(datatype='Spectra', inputId=procUnitConfObj2.getId())
951 # procUnitConfObj3.addParameter(name='nFFTPoints', value='32', format='int')
959 # procUnitConfObj3.addParameter(name='nFFTPoints', value='32', format='int')
952 #
960 #
953 # opObj11 = procUnitConfObj3.addOperation(name='SpectraPlot', optype='external')
961 # opObj11 = procUnitConfObj3.addOperation(name='SpectraPlot', optype='external')
954 # opObj11.addParameter(name='idfigure', value='2', format='int')
962 # opObj11.addParameter(name='idfigure', value='2', format='int')
955 # opObj11.addParameter(name='wintitle', value='SpectraPlot1', format='str')
963 # opObj11.addParameter(name='wintitle', value='SpectraPlot1', format='str')
956 # opObj11.addParameter(name='zmin', value='40', format='int')
964 # opObj11.addParameter(name='zmin', value='40', format='int')
957 # opObj11.addParameter(name='zmax', value='90', format='int')
965 # opObj11.addParameter(name='zmax', value='90', format='int')
958 # opObj11.addParameter(name='showprofile', value='1', format='int')
966 # opObj11.addParameter(name='showprofile', value='1', format='int')
959
967
960 # opObj11 = procUnitConfObj1.addOperation(name='RTIPlot', optype='external')
968 # opObj11 = procUnitConfObj1.addOperation(name='RTIPlot', optype='external')
961 # opObj11.addParameter(name='idfigure', value='10', format='int')
969 # opObj11.addParameter(name='idfigure', value='10', format='int')
962 # opObj11.addParameter(name='wintitle', value='RTI', format='str')
970 # opObj11.addParameter(name='wintitle', value='RTI', format='str')
963 ## opObj11.addParameter(name='xmin', value='21', format='float')
971 ## opObj11.addParameter(name='xmin', value='21', format='float')
964 ## opObj11.addParameter(name='xmax', value='22', format='float')
972 ## opObj11.addParameter(name='xmax', value='22', format='float')
965 # opObj11.addParameter(name='zmin', value='40', format='int')
973 # opObj11.addParameter(name='zmin', value='40', format='int')
966 # opObj11.addParameter(name='zmax', value='90', format='int')
974 # opObj11.addParameter(name='zmax', value='90', format='int')
967 # opObj11.addParameter(name='showprofile', value='1', format='int')
975 # opObj11.addParameter(name='showprofile', value='1', format='int')
968 # opObj11.addParameter(name='timerange', value=str(60), format='int')
976 # opObj11.addParameter(name='timerange', value=str(60), format='int')
969
977
970 # opObj10 = procUnitConfObj1.addOperation(name='selectChannels')
978 # opObj10 = procUnitConfObj1.addOperation(name='selectChannels')
971 # opObj10.addParameter(name='channelList', value='0,2,4,6', format='intlist')
979 # opObj10.addParameter(name='channelList', value='0,2,4,6', format='intlist')
972 #
980 #
973 # opObj12 = procUnitConfObj1.addOperation(name='IncohInt', optype='external')
981 # opObj12 = procUnitConfObj1.addOperation(name='IncohInt', optype='external')
974 # opObj12.addParameter(name='n', value='2', format='int')
982 # opObj12.addParameter(name='n', value='2', format='int')
975 #
983 #
976 # opObj11 = procUnitConfObj1.addOperation(name='SpectraPlot', optype='external')
984 # opObj11 = procUnitConfObj1.addOperation(name='SpectraPlot', optype='external')
977 # opObj11.addParameter(name='idfigure', value='2', format='int')
985 # opObj11.addParameter(name='idfigure', value='2', format='int')
978 # opObj11.addParameter(name='wintitle', value='SpectraPlot10', format='str')
986 # opObj11.addParameter(name='wintitle', value='SpectraPlot10', format='str')
979 # opObj11.addParameter(name='zmin', value='70', format='int')
987 # opObj11.addParameter(name='zmin', value='70', format='int')
980 # opObj11.addParameter(name='zmax', value='90', format='int')
988 # opObj11.addParameter(name='zmax', value='90', format='int')
981 #
989 #
982 # opObj10 = procUnitConfObj1.addOperation(name='selectChannels')
990 # opObj10 = procUnitConfObj1.addOperation(name='selectChannels')
983 # opObj10.addParameter(name='channelList', value='2,6', format='intlist')
991 # opObj10.addParameter(name='channelList', value='2,6', format='intlist')
984 #
992 #
985 # opObj12 = procUnitConfObj1.addOperation(name='IncohInt', optype='external')
993 # opObj12 = procUnitConfObj1.addOperation(name='IncohInt', optype='external')
986 # opObj12.addParameter(name='n', value='2', format='int')
994 # opObj12.addParameter(name='n', value='2', format='int')
987 #
995 #
988 # opObj11 = procUnitConfObj1.addOperation(name='SpectraPlot', optype='external')
996 # opObj11 = procUnitConfObj1.addOperation(name='SpectraPlot', optype='external')
989 # opObj11.addParameter(name='idfigure', value='3', format='int')
997 # opObj11.addParameter(name='idfigure', value='3', format='int')
990 # opObj11.addParameter(name='wintitle', value='SpectraPlot10', format='str')
998 # opObj11.addParameter(name='wintitle', value='SpectraPlot10', format='str')
991 # opObj11.addParameter(name='zmin', value='70', format='int')
999 # opObj11.addParameter(name='zmin', value='70', format='int')
992 # opObj11.addParameter(name='zmax', value='90', format='int')
1000 # opObj11.addParameter(name='zmax', value='90', format='int')
993
1001
994
1002
995 # opObj12 = procUnitConfObj1.addOperation(name='decoder')
1003 # opObj12 = procUnitConfObj1.addOperation(name='decoder')
996 # opObj12.addParameter(name='ncode', value='2', format='int')
1004 # opObj12.addParameter(name='ncode', value='2', format='int')
997 # opObj12.addParameter(name='nbauds', value='8', format='int')
1005 # opObj12.addParameter(name='nbauds', value='8', format='int')
998 # opObj12.addParameter(name='code0', value='001110011', format='int')
1006 # opObj12.addParameter(name='code0', value='001110011', format='int')
999 # opObj12.addParameter(name='code1', value='001110011', format='int')
1007 # opObj12.addParameter(name='code1', value='001110011', format='int')
1000
1008
1001
1009
1002
1010
1003 # procUnitConfObj2 = controllerObj.addProcUnit(datatype='Spectra', inputId=procUnitConfObj1.getId())
1011 # procUnitConfObj2 = controllerObj.addProcUnit(datatype='Spectra', inputId=procUnitConfObj1.getId())
1004 #
1012 #
1005 # opObj21 = procUnitConfObj2.addOperation(name='IncohInt', optype='external')
1013 # opObj21 = procUnitConfObj2.addOperation(name='IncohInt', optype='external')
1006 # opObj21.addParameter(name='n', value='2', format='int')
1014 # opObj21.addParameter(name='n', value='2', format='int')
1007 #
1015 #
1008 # opObj11 = procUnitConfObj2.addOperation(name='SpectraPlot', optype='external')
1016 # opObj11 = procUnitConfObj2.addOperation(name='SpectraPlot', optype='external')
1009 # opObj11.addParameter(name='idfigure', value='4', format='int')
1017 # opObj11.addParameter(name='idfigure', value='4', format='int')
1010 # opObj11.addParameter(name='wintitle', value='SpectraPlot OBJ 2', format='str')
1018 # opObj11.addParameter(name='wintitle', value='SpectraPlot OBJ 2', format='str')
1011 # opObj11.addParameter(name='zmin', value='70', format='int')
1019 # opObj11.addParameter(name='zmin', value='70', format='int')
1012 # opObj11.addParameter(name='zmax', value='90', format='int')
1020 # opObj11.addParameter(name='zmax', value='90', format='int')
1013
1021
1014 print "Escribiendo el archivo XML"
1022 print "Escribiendo el archivo XML"
1015
1023
1016 controllerObj.writeXml(filename)
1024 controllerObj.writeXml(filename)
1017
1025
1018 print "Leyendo el archivo XML"
1026 print "Leyendo el archivo XML"
1019 controllerObj.readXml(filename)
1027 controllerObj.readXml(filename)
1020 #controllerObj.printattr()
1028 #controllerObj.printattr()
1021
1029
1022 controllerObj.createObjects()
1030 controllerObj.createObjects()
1023 controllerObj.connectObjects()
1031 controllerObj.connectObjects()
1024 controllerObj.run()
1032 controllerObj.run()
1025
1033
1026 No newline at end of file
1034
@@ -1,6439 +1,6477
1 # -*- coding: utf-8 -*-
1 # -*- coding: utf-8 -*-
2 """
2 """
3 Module implementing MainWindow.
3 Module implementing MainWindow.
4 #+++++++++++++GUI V1++++++++++++++#
4 #+++++++++++++GUI V1++++++++++++++#
5 @author: AlexanderValdezPortocarrero Γ±_Γ±
5 @author: AlexanderValdezPortocarrero Γ±_Γ±
6 """
6 """
7 import os, sys, time
7 import os, sys, time
8 import datetime
8 import datetime
9 import Queue
9 import Queue
10 from PyQt4.QtGui import QMainWindow
10 from PyQt4.QtGui import QMainWindow
11 from PyQt4.QtCore import pyqtSignature
11 from PyQt4.QtCore import pyqtSignature
12 from PyQt4.QtCore import pyqtSignal
12 from PyQt4.QtCore import pyqtSignal
13 from PyQt4 import QtCore
13 from PyQt4 import QtCore
14 from PyQt4 import QtGui
14 from PyQt4 import QtGui
15
15
16 from schainpy.gui.viewer.ui_unitprocess import Ui_UnitProcess
16 from schainpy.gui.viewer.ui_unitprocess import Ui_UnitProcess
17 from schainpy.gui.viewer.ui_ftp import Ui_Ftp
17 from schainpy.gui.viewer.ui_ftp import Ui_Ftp
18 from schainpy.gui.viewer.ui_mainwindow import Ui_BasicWindow
18 from schainpy.gui.viewer.ui_mainwindow import Ui_BasicWindow
19 from schainpy.controller import Project
19 from schainpy.controller import Project
20
20
21 from modelProperties import treeModel
21 from modelProperties import treeModel
22 from collections import OrderedDict
22 from collections import OrderedDict
23 from os.path import expanduser
23 from os.path import expanduser
24 #from CodeWarrior.Standard_Suite import file
24 #from CodeWarrior.Standard_Suite import file
25 from comm import *
25 from comm import *
26
26
27 def isRadarFile(file):
27 def isRadarFile(file):
28 try:
28 try:
29 year = int(file[1:5])
29 year = int(file[1:5])
30 doy = int(file[5:8])
30 doy = int(file[5:8])
31 set = int(file[8:11])
31 set = int(file[8:11])
32 except:
32 except:
33 return 0
33 return 0
34
34
35 return 1
35 return 1
36
36
37 def isRadarPath(path):
37 def isRadarPath(path):
38 try:
38 try:
39 year = int(path[1:5])
39 year = int(path[1:5])
40 doy = int(path[5:8])
40 doy = int(path[5:8])
41 except:
41 except:
42 return 0
42 return 0
43
43
44 return 1
44 return 1
45
45
46 class BasicWindow(QMainWindow, Ui_BasicWindow):
46 class BasicWindow(QMainWindow, Ui_BasicWindow):
47 """
47 """
48 """
48 """
49 def __init__(self, parent=None):
49 def __init__(self, parent=None):
50 """
50 """
51
51
52 """
52 """
53 QMainWindow.__init__(self, parent)
53 QMainWindow.__init__(self, parent)
54 self.setupUi(self)
54 self.setupUi(self)
55 self.__puObjDict = {}
55 self.__puObjDict = {}
56 self.__itemTreeDict = {}
56 self.__itemTreeDict = {}
57 self.readUnitConfObjList = []
57 self.readUnitConfObjList = []
58 self.operObjList = []
58 self.operObjList = []
59 self.projecObjView = None
59 self.projecObjView = None
60 self.idProject = 0
60 self.idProject = 0
61 # self.idImag = 0
61 # self.idImag = 0
62
62
63 self.idImagscope = 0
63 self.idImagscope = 0
64 self.idImagspectra = 0
64 self.idImagspectra = 0
65 self.idImagcross = 0
65 self.idImagcross = 0
66 self.idImagrti = 0
66 self.idImagrti = 0
67 self.idImagcoherence = 0
67 self.idImagcoherence = 0
68 self.idImagpower = 0
68 self.idImagpower = 0
69 self.idImagrtinoise = 0
69 self.idImagrtinoise = 0
70 self.idImagspectraHeis = 0
70 self.idImagspectraHeis = 0
71 self.idImagrtiHeis = 0
71 self.idImagrtiHeis = 0
72
72
73 self.online = 0
73 self.online = 0
74 self.walk = 0
74 self.walk = 0
75 self.create = False
75 self.create = False
76 self.selectedItemTree = None
76 self.selectedItemTree = None
77 self.commCtrlPThread = None
77 self.commCtrlPThread = None
78 self.setParameter()
78 self.setParameter()
79 self.create_comm()
79 self.create_comm()
80 # self.create_timers()
80 # self.create_timers()
81 # self.create_figure()
81 # self.create_figure()
82 self.temporalFTP = ftpBuffer()
82 self.temporalFTP = ftpBuffer()
83 self.projectProperCaracteristica = []
83 self.projectProperCaracteristica = []
84 self.projectProperPrincipal = []
84 self.projectProperPrincipal = []
85 self.projectProperDescripcion = []
85 self.projectProperDescripcion = []
86 self.volProperCaracteristica = []
86 self.volProperCaracteristica = []
87 self.volProperPrincipal = []
87 self.volProperPrincipal = []
88 self.volProperDescripcion = []
88 self.volProperDescripcion = []
89 self.specProperCaracteristica = []
89 self.specProperCaracteristica = []
90 self.specProperPrincipal = []
90 self.specProperPrincipal = []
91 self.specProperDescripcion = []
91 self.specProperDescripcion = []
92
92
93 self.specHeisProperCaracteristica = []
93 self.specHeisProperCaracteristica = []
94 self.specHeisProperPrincipal = []
94 self.specHeisProperPrincipal = []
95 self.specHeisProperDescripcion = []
95 self.specHeisProperDescripcion = []
96
96
97 # self.pathWorkSpace = './'
97 # self.pathWorkSpace = './'
98
98
99 self.__projectObjDict = {}
99 self.__projectObjDict = {}
100 self.__operationObjDict = {}
100 self.__operationObjDict = {}
101
101
102 self.__ftpProcUnitAdded = False
102 self.__ftpProcUnitAdded = False
103 self.__ftpProcUnitId = None
103 self.__ftpProcUnitId = None
104
104
105 @pyqtSignature("")
105 @pyqtSignature("")
106 def on_actionCreate_triggered(self):
106 def on_actionCreate_triggered(self):
107 """
107 """
108 Slot documentation goes here.
108 Slot documentation goes here.
109 """
109 """
110 self.setInputsProject_View()
110 self.setInputsProject_View()
111 self.create = True
111 self.create = True
112
112
113 @pyqtSignature("")
113 @pyqtSignature("")
114 def on_actionSave_triggered(self):
114 def on_actionSave_triggered(self):
115 """
115 """
116 Slot documentation goes here.
116 Slot documentation goes here.
117 """
117 """
118 self.saveProject()
118 self.saveProject()
119
119
120 @pyqtSignature("")
120 @pyqtSignature("")
121 def on_actionClose_triggered(self):
121 def on_actionClose_triggered(self):
122 """
122 """
123 Slot documentation goes here.
123 Slot documentation goes here.
124 """
124 """
125 self.close()
125 self.close()
126
126
127 @pyqtSignature("")
127 @pyqtSignature("")
128 def on_actionStart_triggered(self):
128 def on_actionStart_triggered(self):
129 """
129 """
130 """
130 """
131 self.playProject()
131 self.playProject()
132
132
133 @pyqtSignature("")
133 @pyqtSignature("")
134 def on_actionPause_triggered(self):
134 def on_actionPause_triggered(self):
135 """
135 """
136 """
136 """
137 self.pauseProject()
137 self.pauseProject()
138
138
139 @pyqtSignature("")
139 @pyqtSignature("")
140 def on_actionStop_triggered(self):
140 def on_actionStop_triggered(self):
141 """
141 """
142 """
142 """
143 self.stopProject()
143 self.stopProject()
144
144
145 @pyqtSignature("")
145 @pyqtSignature("")
146 def on_actionFTP_triggered(self):
146 def on_actionFTP_triggered(self):
147 """
147 """
148 """
148 """
149 self.configFTPWindowObj = Ftp(self)
149 self.configFTPWindowObj = Ftp(self)
150 # if self.temporalFTP.create:
150 # if self.temporalFTP.create:
151 if self.temporalFTP.createforView:
151 if self.temporalFTP.createforView:
152 server, folder, username, password, ftp_wei, exp_code, sub_exp_code, plot_pos = self.temporalFTP.recover()
152 server, folder, username, password, ftp_wei, exp_code, sub_exp_code, plot_pos = self.temporalFTP.recover()
153 self.configFTPWindowObj.setParmsfromTemporal(server, folder, username, password, ftp_wei, exp_code, sub_exp_code, plot_pos)
153 self.configFTPWindowObj.setParmsfromTemporal(server, folder, username, password, ftp_wei, exp_code, sub_exp_code, plot_pos)
154 self.configFTPWindowObj.show()
154 self.configFTPWindowObj.show()
155 self.configFTPWindowObj.closed.connect(self.createFTPConfig)
155 self.configFTPWindowObj.closed.connect(self.createFTPConfig)
156
156
157 def createFTPConfig(self):
157 def createFTPConfig(self):
158 self.console.clear()
158 self.console.clear()
159 if not self.configFTPWindowObj.create:
159 if not self.configFTPWindowObj.create:
160 self.console.append("There is no FTP configuration")
160 self.console.append("There is no FTP configuration")
161 return
161 return
162 self.console.append("Push Ok in Spectra view to Add FTP Configuration")
162 self.console.append("Push Ok in Spectra view to Add FTP Configuration")
163 server, folder, username, password, ftp_wei, exp_code, sub_exp_code, plot_pos = self.configFTPWindowObj.getParmsFromFtpWindow()
163 server, folder, username, password, ftp_wei, exp_code, sub_exp_code, plot_pos = self.configFTPWindowObj.getParmsFromFtpWindow()
164 self.temporalFTP.save(server, folder, username, password, ftp_wei, exp_code, sub_exp_code, plot_pos)
164 self.temporalFTP.save(server, folder, username, password, ftp_wei, exp_code, sub_exp_code, plot_pos)
165
165
166 @pyqtSignature("")
166 @pyqtSignature("")
167 def on_actionOpenToolbar_triggered(self):
167 def on_actionOpenToolbar_triggered(self):
168 """
168 """
169 Slot documentation goes here.
169 Slot documentation goes here.
170 """
170 """
171 self.create = False
171 self.create = False
172 self.frame_2.setEnabled(True)
172 self.frame_2.setEnabled(True)
173 home = expanduser("~")
173 home = expanduser("~")
174 self.dir = os.path.join(home, 'schain_workspace')
174 self.dir = os.path.join(home, 'schain_workspace')
175 # print self.dir
175 # print self.dir
176 filename = str(QtGui.QFileDialog.getOpenFileName(self, "Open text file", self.dir, self.tr("Text Files (*.xml)")))
176 filename = str(QtGui.QFileDialog.getOpenFileName(self, "Open text file", self.dir, self.tr("Text Files (*.xml)")))
177 self.console.clear()
177 self.console.clear()
178 projectObjLoad = Project()
178 projectObjLoad = Project()
179 try:
179 try:
180 projectObjLoad.readXml(filename)
180 projectObjLoad.readXml(filename)
181 except:
181 except:
182 self.console.clear()
182 self.console.clear()
183 self.console.append("The selected xml file could not be loaded ...")
183 self.console.append("The selected xml file could not be loaded ...")
184 return 0
184 return 0
185
185
186 project_name, description = projectObjLoad.name, projectObjLoad.description
186 project_name, description = projectObjLoad.name, projectObjLoad.description
187 id = projectObjLoad.id
187 id = projectObjLoad.id
188 self.__projectObjDict[id] = projectObjLoad
188 self.__projectObjDict[id] = projectObjLoad
189 # Project Properties
189 # Project Properties
190 datatype, data_path, startDate, endDate, startTime, endTime , online , delay, walk, set = self.showProjectProperties(projectObjLoad)
190 datatype, data_path, startDate, endDate, startTime, endTime , online , delay, walk, set = self.showProjectProperties(projectObjLoad)
191 # show ProjectView
191 # show ProjectView
192 self.addProject2ProjectExplorer(id=id, name=project_name)
192 self.addProject2ProjectExplorer(id=id, name=project_name)
193 self.refreshProjectWindow(project_name, description, datatype, data_path, startDate, endDate, startTime, endTime, online, delay, set)
193 self.refreshProjectWindow(project_name, description, datatype, data_path, startDate, endDate, startTime, endTime, online, delay, set)
194
194
195 if datatype == "Voltage":
195 if datatype == "Voltage":
196 ext = '.r'
196 ext = '.r'
197 self.specOpProfiles.setEnabled(True)
197 self.specOpProfiles.setEnabled(True)
198 self.specOpippFactor.setEnabled(True)
198 self.specOpippFactor.setEnabled(True)
199 elif datatype == "Spectra":
199 elif datatype == "Spectra":
200 ext = '.pdata'
200 ext = '.pdata'
201 self.specOpProfiles.setEnabled(False)
201 self.specOpProfiles.setEnabled(False)
202 self.specOpippFactor.setEnabled(False)
202 self.specOpippFactor.setEnabled(False)
203 elif datatype == "Fits":
203 elif datatype == "Fits":
204 ext = '.fits'
204 ext = '.fits'
205
205
206 if online == 0:
206 if online == 0:
207 self.loadDays(data_path, ext, walk)
207 self.loadDays(data_path, ext, walk)
208 else:
208 else:
209 self.proComStartDate.setEnabled(False)
209 self.proComStartDate.setEnabled(False)
210 self.proComEndDate.setEnabled(False)
210 self.proComEndDate.setEnabled(False)
211 self.proStartTime.setEnabled(False)
211 self.proStartTime.setEnabled(False)
212 self.proEndTime.setEnabled(False)
212 self.proEndTime.setEnabled(False)
213 self.frame_2.setEnabled(True)
213 self.frame_2.setEnabled(True)
214
214
215 self.tabWidgetProject.setEnabled(True)
215 self.tabWidgetProject.setEnabled(True)
216 self.tabWidgetProject.setCurrentWidget(self.tabProject)
216 self.tabWidgetProject.setCurrentWidget(self.tabProject)
217 # Disable tabProject after finish the creation
217 # Disable tabProject after finish the creation
218 self.tabProject.setEnabled(True)
218 self.tabProject.setEnabled(True)
219 puObjorderList = OrderedDict(sorted(projectObjLoad.procUnitConfObjDict.items(), key=lambda x: x[0]))
219 puObjorderList = OrderedDict(sorted(projectObjLoad.procUnitConfObjDict.items(), key=lambda x: x[0]))
220
220
221 for inputId, puObj in puObjorderList.items():
221 for inputId, puObj in puObjorderList.items():
222 # print puObj.datatype, puObj.inputId,puObj.getId(),puObj.parentId
222 # print puObj.datatype, puObj.inputId,puObj.getId(),puObj.parentId
223 self.__puObjDict[puObj.getId()] = puObj
223 self.__puObjDict[puObj.getId()] = puObj
224
224
225 if puObj.inputId != "0":
225 if puObj.inputId != "0":
226 self.addPU2PELoadXML(id=puObj.getId() , name=puObj.datatype , idParent=puObj.inputId)
226 self.addPU2PELoadXML(id=puObj.getId() , name=puObj.datatype , idParent=puObj.inputId)
227
227
228 if puObj.datatype == "Voltage":
228 if puObj.datatype == "Voltage":
229 self.refreshPUWindow(puObj.datatype, puObj)
229 self.refreshPUWindow(puObj.datatype, puObj)
230 self.showPUVoltageProperties(puObj)
230 self.showPUVoltageProperties(puObj)
231 self.showtabPUCreated(datatype=puObj.datatype)
231 self.showtabPUCreated(datatype=puObj.datatype)
232
232
233 if puObj.datatype == "Spectra":
233 if puObj.datatype == "Spectra":
234 self.refreshPUWindow(puObj.datatype, puObj)
234 self.refreshPUWindow(puObj.datatype, puObj)
235 self.showPUSpectraProperties(puObj)
235 self.showPUSpectraProperties(puObj)
236 self.showtabPUCreated(datatype=puObj.datatype)
236 self.showtabPUCreated(datatype=puObj.datatype)
237
237
238 if puObj.datatype == "SpectraHeis":
238 if puObj.datatype == "SpectraHeis":
239 self.refreshPUWindow(puObj.datatype, puObj)
239 self.refreshPUWindow(puObj.datatype, puObj)
240 self.showPUSpectraHeisProperties(puObj)
240 self.showPUSpectraHeisProperties(puObj)
241 self.showtabPUCreated(datatype=puObj.datatype)
241 self.showtabPUCreated(datatype=puObj.datatype)
242
242
243 if puObj.name == "SendToServer":
243 if puObj.name == "SendToServer":
244 self.__ftpProcUnitAdded = True
244 self.__ftpProcUnitAdded = True
245 self.__ftpProcUnitId = puObj.getId()
245 self.__ftpProcUnitId = puObj.getId()
246
246
247 opObj = puObj.getOperationObj(name="run")
248 self.saveFTPvalues(opObj)
249
247 self.console.clear()
250 self.console.clear()
248 self.console.append("The selected xml file has been loaded successfully")
251 self.console.append("The selected xml file has been loaded successfully")
249 # self.refreshPUWindow(datatype=datatype,puObj=puObj)
252 # self.refreshPUWindow(datatype=datatype,puObj=puObj)
250
253
251 @pyqtSignature("")
254 @pyqtSignature("")
252 def on_actionCreateToolbar_triggered(self):
255 def on_actionCreateToolbar_triggered(self):
253 """
256 """
254 Slot documentation goes here.
257 Slot documentation goes here.
255 """
258 """
256 self.setInputsProject_View()
259 self.setInputsProject_View()
257 self.create = True
260 self.create = True
258
261
259 @pyqtSignature("")
262 @pyqtSignature("")
260 def on_actionAddPU_triggered(self):
263 def on_actionAddPU_triggered(self):
261 if len(self.__projectObjDict) == 0:
264 if len(self.__projectObjDict) == 0:
262 outputstr = "First Create a Project then add Processing Unit"
265 outputstr = "First Create a Project then add Processing Unit"
263 self.console.clear()
266 self.console.clear()
264 self.console.append(outputstr)
267 self.console.append(outputstr)
265 return 0
268 return 0
266 else:
269 else:
267 self.addPUWindow()
270 self.addPUWindow()
268 self.console.clear()
271 self.console.clear()
269 self.console.append("Please, Choose the type of Processing Unit")
272 self.console.append("Please, Choose the type of Processing Unit")
270 self.console.append("If your Datatype is rawdata, you will start with processing unit Type Voltage")
273 self.console.append("If your Datatype is rawdata, you will start with processing unit Type Voltage")
271 self.console.append("If your Datatype is pdata, you will choose between processing unit Type Spectra or Correlation")
274 self.console.append("If your Datatype is pdata, you will choose between processing unit Type Spectra or Correlation")
272 self.console.append("If your Datatype is fits, you will start with processing unit Type SpectraHeis")
275 self.console.append("If your Datatype is fits, you will start with processing unit Type SpectraHeis")
273
276
274
277
275 @pyqtSignature("")
278 @pyqtSignature("")
276 def on_actionSaveToolbar_triggered(self):
279 def on_actionSaveToolbar_triggered(self):
277 """
280 """
278 Slot documentation goes here.
281 Slot documentation goes here.
279 """
282 """
280 self.saveProject()
283 self.saveProject()
281
284
282 @pyqtSignature("")
285 @pyqtSignature("")
283 def on_actionStarToolbar_triggered(self):
286 def on_actionStarToolbar_triggered(self):
284 """
287 """
285 Slot documentation goes here.
288 Slot documentation goes here.
286 """
289 """
287 self.playProject()
290 self.playProject()
288
291
289 @pyqtSignature("")
292 @pyqtSignature("")
290 def on_actionPauseToolbar_triggered(self):
293 def on_actionPauseToolbar_triggered(self):
291
294
292 self.pauseProject()
295 self.pauseProject()
293
296
294 @pyqtSignature("")
297 @pyqtSignature("")
295 def on_actionStopToolbar_triggered(self):
298 def on_actionStopToolbar_triggered(self):
296 """
299 """
297 Slot documentation goes here.
300 Slot documentation goes here.
298 """
301 """
299 self.stopProject()
302 self.stopProject()
300
303
301 @pyqtSignature("int")
304 @pyqtSignature("int")
302 def on_proComReadMode_activated(self, index):
305 def on_proComReadMode_activated(self, index):
303 """
306 """
304 SELECCION DEL MODO DE LECTURA ON=1, OFF=0
307 SELECCION DEL MODO DE LECTURA ON=1, OFF=0
305 """
308 """
306 if index == 0:
309 if index == 0:
307 self.online = 0
310 self.online = 0
308 self.proDelay.setText("0")
311 self.proDelay.setText("0")
309 self.proSet.setText("0")
312 self.proSet.setText("0")
310 self.proSet.setEnabled(False)
313 self.proSet.setEnabled(False)
311 self.proDelay.setEnabled(False)
314 self.proDelay.setEnabled(False)
312 elif index == 1:
315 elif index == 1:
313 self.online = 1
316 self.online = 1
314 self.proSet.setText(" ")
317 self.proSet.setText(" ")
315 self.proDelay.setText("5")
318 self.proDelay.setText("5")
316 self.proSet.setEnabled(True)
319 self.proSet.setEnabled(True)
317 self.proDelay.setEnabled(True)
320 self.proDelay.setEnabled(True)
318
321
319 @pyqtSignature("int")
322 @pyqtSignature("int")
320 def on_proComDataType_activated(self, index):
323 def on_proComDataType_activated(self, index):
321 """
324 """
322 Voltage or Spectra
325 Voltage or Spectra
323 """
326 """
324 if index == 0:
327 if index == 0:
325 self.datatype = '.r'
328 self.datatype = '.r'
326 elif index == 1:
329 elif index == 1:
327 self.datatype = '.pdata'
330 self.datatype = '.pdata'
328 elif index == 2:
331 elif index == 2:
329 self.datatype = '.fits'
332 self.datatype = '.fits'
330
333
331 self.proDataType.setText(self.datatype)
334 self.proDataType.setText(self.datatype)
332 self.console.clear()
335 self.console.clear()
333
336
334 @pyqtSignature("int")
337 @pyqtSignature("int")
335 def on_proComWalk_activated(self, index):
338 def on_proComWalk_activated(self, index):
336 """
339 """
337
340
338 """
341 """
339 if index == 0:
342 if index == 0:
340 self.walk = 0
343 self.walk = 0
341 elif index == 1:
344 elif index == 1:
342 self.walk = 1
345 self.walk = 1
343
346
344 @pyqtSignature("")
347 @pyqtSignature("")
345 def on_proToolPath_clicked(self):
348 def on_proToolPath_clicked(self):
346 """
349 """
347 Choose your path
350 Choose your path
348 """
351 """
349 self.dataPath = str(QtGui.QFileDialog.getExistingDirectory(self, 'Open Directory', './', QtGui.QFileDialog.ShowDirsOnly))
352 self.dataPath = str(QtGui.QFileDialog.getExistingDirectory(self, 'Open Directory', './', QtGui.QFileDialog.ShowDirsOnly))
350 self.proDataPath.setText(self.dataPath)
353 self.proDataPath.setText(self.dataPath)
351
354
352 self.proComStartDate.clear()
355 self.proComStartDate.clear()
353 self.proComEndDate.clear()
356 self.proComEndDate.clear()
354
357
355 if not os.path.exists(self.dataPath):
358 if not os.path.exists(self.dataPath):
356 self.proOk.setEnabled(False)
359 self.proOk.setEnabled(False)
357 self.console.clear()
360 self.console.clear()
358 self.console.append("Write a correct a path")
361 self.console.append("Write a correct a path")
359 return
362 return
360 self.console.clear()
363 self.console.clear()
361 self.console.append("Select the read mode")
364 self.console.append("Select the read mode")
362
365
363
366
364 @pyqtSignature("")
367 @pyqtSignature("")
365 def on_proLoadButton_clicked(self):
368 def on_proLoadButton_clicked(self):
366 self.console.clear()
369 self.console.clear()
367 parms_ok, project_name, datatype, ext, data_path, read_mode, delay, walk , set = self.checkInputsProject()
370 parms_ok, project_name, datatype, ext, data_path, read_mode, delay, walk , set = self.checkInputsProject()
368 if read_mode == "Offline":
371 if read_mode == "Offline":
369 if parms_ok:
372 if parms_ok:
370 self.proComStartDate.clear()
373 self.proComStartDate.clear()
371 self.proComEndDate.clear()
374 self.proComEndDate.clear()
372 self.loadDays(data_path, ext, walk)
375 self.loadDays(data_path, ext, walk)
373 self.proComStartDate.setEnabled(True)
376 self.proComStartDate.setEnabled(True)
374 self.proComEndDate.setEnabled(True)
377 self.proComEndDate.setEnabled(True)
375 self.proStartTime.setEnabled(True)
378 self.proStartTime.setEnabled(True)
376 self.proEndTime.setEnabled(True)
379 self.proEndTime.setEnabled(True)
377 self.frame_2.setEnabled(True)
380 self.frame_2.setEnabled(True)
378 return
381 return
379 if read_mode == "Online":
382 if read_mode == "Online":
380 if parms_ok:
383 if parms_ok:
381 self.proComStartDate.addItem("2010/01/30")
384 self.proComStartDate.addItem("2010/01/30")
382 self.proComEndDate.addItem("2013/12/30")
385 self.proComEndDate.addItem("2013/12/30")
383 self.loadDays(data_path, ext, walk)
386 self.loadDays(data_path, ext, walk)
384 self.proComStartDate.setEnabled(False)
387 self.proComStartDate.setEnabled(False)
385 self.proComEndDate.setEnabled(False)
388 self.proComEndDate.setEnabled(False)
386 self.proStartTime.setEnabled(False)
389 self.proStartTime.setEnabled(False)
387 self.proEndTime.setEnabled(False)
390 self.proEndTime.setEnabled(False)
388 self.frame_2.setEnabled(True)
391 self.frame_2.setEnabled(True)
389
392
390 @pyqtSignature("int")
393 @pyqtSignature("int")
391 def on_proComStartDate_activated(self, index):
394 def on_proComStartDate_activated(self, index):
392 """
395 """
393 SELECCION DEL RANGO DE FECHAS -START DATE
396 SELECCION DEL RANGO DE FECHAS -START DATE
394 """
397 """
395 stopIndex = self.proComEndDate.count() - self.proComEndDate.currentIndex()
398 stopIndex = self.proComEndDate.count() - self.proComEndDate.currentIndex()
396 self.proComEndDate.clear()
399 self.proComEndDate.clear()
397 for i in self.dateList[index:]:
400 for i in self.dateList[index:]:
398 self.proComEndDate.addItem(i)
401 self.proComEndDate.addItem(i)
399 self.proComEndDate.setCurrentIndex(self.proComEndDate.count() - stopIndex)
402 self.proComEndDate.setCurrentIndex(self.proComEndDate.count() - stopIndex)
400
403
401 @pyqtSignature("int")
404 @pyqtSignature("int")
402 def on_proComEndDate_activated(self, index):
405 def on_proComEndDate_activated(self, index):
403 """
406 """
404 SELECCION DEL RANGO DE FECHAS-END DATE
407 SELECCION DEL RANGO DE FECHAS-END DATE
405 """
408 """
406 startIndex = self.proComStartDate.currentIndex()
409 startIndex = self.proComStartDate.currentIndex()
407 stopIndex = self.proComEndDate.count() - index
410 stopIndex = self.proComEndDate.count() - index
408 self.proComStartDate.clear()
411 self.proComStartDate.clear()
409 for i in self.dateList[:len(self.dateList) - stopIndex + 1]:
412 for i in self.dateList[:len(self.dateList) - stopIndex + 1]:
410 self.proComStartDate.addItem(i)
413 self.proComStartDate.addItem(i)
411 self.proComStartDate.setCurrentIndex(startIndex)
414 self.proComStartDate.setCurrentIndex(startIndex)
412
415
413 @pyqtSignature("")
416 @pyqtSignature("")
414 def on_proOk_clicked(self):
417 def on_proOk_clicked(self):
415 """
418 """
416 AΓ±ade al Obj XML de Projecto, name,datatype,date,time,readmode,wait,etc, crea el readUnitProcess del archivo xml.
419 AΓ±ade al Obj XML de Projecto, name,datatype,date,time,readmode,wait,etc, crea el readUnitProcess del archivo xml.
417 Prepara la configuraciΓ³n del diΓ‘grama del Arbol del treeView numero 2
420 Prepara la configuraciΓ³n del diΓ‘grama del Arbol del treeView numero 2
418 """
421 """
419 if self.create:
422 if self.create:
420 self.idProject += 1
423 self.idProject += 1
421 projectId = self.idProject
424 projectId = self.idProject
422 projectObjView = self.createProjectView(projectId)
425 projectObjView = self.createProjectView(projectId)
423 readUnitObj = self.createReadUnitView(projectObjView)
426 readUnitObj = self.createReadUnitView(projectObjView)
424 self.addProject2ProjectExplorer(id=projectId, name=projectObjView.name)
427 self.addProject2ProjectExplorer(id=projectId, name=projectObjView.name)
425 else:
428 else:
426 projectObjView = self.updateProjectView()
429 projectObjView = self.updateProjectView()
427 projectId = projectObjView.getId()
430 projectId = projectObjView.getId()
428 idReadUnit = projectObjView.getReadUnitId()
431 idReadUnit = projectObjView.getReadUnitId()
429 readUnitObj = self.updateReadUnitView(projectObjView, idReadUnit)
432 readUnitObj = self.updateReadUnitView(projectObjView, idReadUnit)
430
433
431 self.__itemTreeDict[projectId].setText(projectObjView.name)
434 self.__itemTreeDict[projectId].setText(projectObjView.name)
432 # Project Properties
435 # Project Properties
433 self.showProjectProperties(projectObjView)
436 self.showProjectProperties(projectObjView)
434 # Disable tabProject after finish the creation
437 # Disable tabProject after finish the creation
435 self.tabProject.setEnabled(True)
438 self.tabProject.setEnabled(True)
436
439
437 @pyqtSignature("")
440 @pyqtSignature("")
438 def on_proClear_clicked(self):
441 def on_proClear_clicked(self):
439 self.setInputsProject_View()
442 self.setInputsProject_View()
440 projectObj = self.getSelectedProjectObj()
443 projectObj = self.getSelectedProjectObj()
441
444
442 @pyqtSignature("int")
445 @pyqtSignature("int")
443 def on_volOpCebChannels_stateChanged(self, p0):
446 def on_volOpCebChannels_stateChanged(self, p0):
444 """
447 """
445 Check Box habilita operaciones de SelecciοΏ½n de Canales
448 Check Box habilita operaciones de SelecciοΏ½n de Canales
446 """
449 """
447 if p0 == 2:
450 if p0 == 2:
448 self.volOpComChannels.setEnabled(True)
451 self.volOpComChannels.setEnabled(True)
449 self.volOpChannel.setEnabled(True)
452 self.volOpChannel.setEnabled(True)
450
453
451 if p0 == 0:
454 if p0 == 0:
452 self.volOpComChannels.setEnabled(False)
455 self.volOpComChannels.setEnabled(False)
453 self.volOpChannel.setEnabled(False)
456 self.volOpChannel.setEnabled(False)
454 self.volOpChannel.clear()
457 self.volOpChannel.clear()
455
458
456 @pyqtSignature("int")
459 @pyqtSignature("int")
457 def on_volOpCebHeights_stateChanged(self, p0):
460 def on_volOpCebHeights_stateChanged(self, p0):
458 """
461 """
459 Check Box habilita operaciones de SelecciοΏ½n de Alturas
462 Check Box habilita operaciones de SelecciοΏ½n de Alturas
460 """
463 """
461 if p0 == 2:
464 if p0 == 2:
462 self.volOpHeights.setEnabled(True)
465 self.volOpHeights.setEnabled(True)
463 self.volOpComHeights.setEnabled(True)
466 self.volOpComHeights.setEnabled(True)
464
467
465 if p0 == 0:
468 if p0 == 0:
466 self.volOpHeights.setEnabled(False)
469 self.volOpHeights.setEnabled(False)
467 self.volOpHeights.clear()
470 self.volOpHeights.clear()
468 self.volOpComHeights.setEnabled(False)
471 self.volOpComHeights.setEnabled(False)
469
472
470 @pyqtSignature("int")
473 @pyqtSignature("int")
471 def on_volOpCebFilter_stateChanged(self, p0):
474 def on_volOpCebFilter_stateChanged(self, p0):
472 """
475 """
473 Name='Decoder', optype='other'
476 Name='Decoder', optype='other'
474 """
477 """
475 if p0 == 2:
478 if p0 == 2:
476 self.volOpFilter.setEnabled(True)
479 self.volOpFilter.setEnabled(True)
477
480
478 if p0 == 0:
481 if p0 == 0:
479 self.volOpFilter.setEnabled(False)
482 self.volOpFilter.setEnabled(False)
480 self.volOpFilter.clear()
483 self.volOpFilter.clear()
481
484
482 @pyqtSignature("int")
485 @pyqtSignature("int")
483 def on_volOpCebProfile_stateChanged(self, p0):
486 def on_volOpCebProfile_stateChanged(self, p0):
484 """
487 """
485 Check Box habilita ingreso del rango de Perfiles
488 Check Box habilita ingreso del rango de Perfiles
486 """
489 """
487 if p0 == 2:
490 if p0 == 2:
488 self.volOpComProfile.setEnabled(True)
491 self.volOpComProfile.setEnabled(True)
489 self.volOpProfile.setEnabled(True)
492 self.volOpProfile.setEnabled(True)
490
493
491 if p0 == 0:
494 if p0 == 0:
492 self.volOpComProfile.setEnabled(False)
495 self.volOpComProfile.setEnabled(False)
493 self.volOpProfile.setEnabled(False)
496 self.volOpProfile.setEnabled(False)
494 self.volOpProfile.clear()
497 self.volOpProfile.clear()
495
498
496 @pyqtSignature("int")
499 @pyqtSignature("int")
497 def on_volOpCebDecodification_stateChanged(self, p0):
500 def on_volOpCebDecodification_stateChanged(self, p0):
498 """
501 """
499 Check Box habilita
502 Check Box habilita
500 """
503 """
501 if p0 == 2:
504 if p0 == 2:
502 self.volOpComCode.setEnabled(True)
505 self.volOpComCode.setEnabled(True)
503 self.volOpComMode.setEnabled(True)
506 self.volOpComMode.setEnabled(True)
504 if p0 == 0:
507 if p0 == 0:
505 self.volOpComCode.setEnabled(False)
508 self.volOpComCode.setEnabled(False)
506 self.volOpComMode.setEnabled(False)
509 self.volOpComMode.setEnabled(False)
507
510
508 @pyqtSignature("int")
511 @pyqtSignature("int")
509 def on_volOpCebCohInt_stateChanged(self, p0):
512 def on_volOpCebCohInt_stateChanged(self, p0):
510 """
513 """
511 Check Box habilita ingresode del numero de Integraciones a realizar
514 Check Box habilita ingresode del numero de Integraciones a realizar
512 """
515 """
513 if p0 == 2:
516 if p0 == 2:
514 self.volOpCohInt.setEnabled(True)
517 self.volOpCohInt.setEnabled(True)
515 if p0 == 0:
518 if p0 == 0:
516 self.volOpCohInt.setEnabled(False)
519 self.volOpCohInt.setEnabled(False)
517 self.volOpCohInt.clear()
520 self.volOpCohInt.clear()
518
521
519 @pyqtSignature("int")
522 @pyqtSignature("int")
520 def on_volOpCebRadarfrequency_stateChanged(self, p0):
523 def on_volOpCebRadarfrequency_stateChanged(self, p0):
521 """
524 """
522 Check Box habilita ingresode del numero de Integraciones a realizar
525 Check Box habilita ingresode del numero de Integraciones a realizar
523 """
526 """
524 if p0 == 2:
527 if p0 == 2:
525 self.volOpRadarfrequency.setEnabled(True)
528 self.volOpRadarfrequency.setEnabled(True)
526 if p0 == 0:
529 if p0 == 0:
527 self.volOpRadarfrequency.clear()
530 self.volOpRadarfrequency.clear()
528 self.volOpRadarfrequency.setEnabled(False)
531 self.volOpRadarfrequency.setEnabled(False)
529
532
530 @pyqtSignature("")
533 @pyqtSignature("")
531 def on_volOutputToolPath_clicked(self):
534 def on_volOutputToolPath_clicked(self):
532 dirOutPath = str(QtGui.QFileDialog.getExistingDirectory(self, 'Open Directory', './', QtGui.QFileDialog.ShowDirsOnly))
535 dirOutPath = str(QtGui.QFileDialog.getExistingDirectory(self, 'Open Directory', './', QtGui.QFileDialog.ShowDirsOnly))
533 self.volOutputPath.setText(dirOutPath)
536 self.volOutputPath.setText(dirOutPath)
534
537
535 @pyqtSignature("")
538 @pyqtSignature("")
536 def on_specOutputToolPath_clicked(self):
539 def on_specOutputToolPath_clicked(self):
537 dirOutPath = str(QtGui.QFileDialog.getExistingDirectory(self, 'Open Directory', './', QtGui.QFileDialog.ShowDirsOnly))
540 dirOutPath = str(QtGui.QFileDialog.getExistingDirectory(self, 'Open Directory', './', QtGui.QFileDialog.ShowDirsOnly))
538 self.specOutputPath.setText(dirOutPath)
541 self.specOutputPath.setText(dirOutPath)
539
542
540 @pyqtSignature("")
543 @pyqtSignature("")
541 def on_specHeisOutputToolPath_clicked(self):
544 def on_specHeisOutputToolPath_clicked(self):
542 dirOutPath = str(QtGui.QFileDialog.getExistingDirectory(self, 'Open Directory', './', QtGui.QFileDialog.ShowDirsOnly))
545 dirOutPath = str(QtGui.QFileDialog.getExistingDirectory(self, 'Open Directory', './', QtGui.QFileDialog.ShowDirsOnly))
543 self.specHeisOutputPath.setText(dirOutPath)
546 self.specHeisOutputPath.setText(dirOutPath)
544
547
545 @pyqtSignature("")
548 @pyqtSignature("")
546 def on_specHeisOutputMetadaToolPath_clicked(self):
549 def on_specHeisOutputMetadaToolPath_clicked(self):
547 home = expanduser("~")
550 home = expanduser("~")
548 self.dir = os.path.join(home, 'schain_workspace')
551 self.dir = os.path.join(home, 'schain_workspace')
549 filename = str(QtGui.QFileDialog.getOpenFileName(self, "Open text file", self.dir, self.tr("Text Files (*.xml)")))
552 filename = str(QtGui.QFileDialog.getOpenFileName(self, "Open text file", self.dir, self.tr("Text Files (*.xml)")))
550 self.specHeisOutputMetada.setText(filename)
553 self.specHeisOutputMetada.setText(filename)
551
554
552 @pyqtSignature("")
555 @pyqtSignature("")
553 def on_volOpOk_clicked(self):
556 def on_volOpOk_clicked(self):
554 """
557 """
555 BUSCA EN LA LISTA DE OPERACIONES DEL TIPO VOLTAJE Y LES AοΏ½ADE EL PARAMETRO ADECUADO ESPERANDO LA ACEPTACION DEL USUARIO
558 BUSCA EN LA LISTA DE OPERACIONES DEL TIPO VOLTAJE Y LES AοΏ½ADE EL PARAMETRO ADECUADO ESPERANDO LA ACEPTACION DEL USUARIO
556 PARA AGREGARLO AL ARCHIVO DE CONFIGURACION XML
559 PARA AGREGARLO AL ARCHIVO DE CONFIGURACION XML
557 """
560 """
558
561
559 checkPath = False
562 checkPath = False
560
563
561 self.actionSaveToolbar.setEnabled(False)
564 self.actionSaveToolbar.setEnabled(False)
562 self.actionStarToolbar.setEnabled(False)
565 self.actionStarToolbar.setEnabled(False)
563
566
564 puObj = self.getSelectedPUObj()
567 puObj = self.getSelectedPUObj()
565 puObj.removeOperations()
568 puObj.removeOperations()
566
569
567 if self.volOpCebRadarfrequency.isChecked():
570 if self.volOpCebRadarfrequency.isChecked():
568 value = self.volOpRadarfrequency.text()
571 value = self.volOpRadarfrequency.text()
569 format = 'float'
572 format = 'float'
570 name_operation = 'setRadarFrequency'
573 name_operation = 'setRadarFrequency'
571 name_parameter = 'frequency'
574 name_parameter = 'frequency'
572 if not value == "":
575 if not value == "":
573 try:
576 try:
574 radarfreq = float(self.volOpRadarfrequency.text())
577 radarfreq = float(self.volOpRadarfrequency.text())
575 except:
578 except:
576 self.console.clear()
579 self.console.clear()
577 self.console.append("Write the parameter Radar Frequency type float")
580 self.console.append("Write the parameter Radar Frequency type float")
578 return 0
581 return 0
579 opObj = puObj.addOperation(name=name_operation)
582 opObj = puObj.addOperation(name=name_operation)
580 opObj.addParameter(name=name_parameter, value=radarfreq, format=format)
583 opObj.addParameter(name=name_parameter, value=radarfreq, format=format)
581
584
582
585
583
586
584 if self.volOpCebChannels.isChecked():
587 if self.volOpCebChannels.isChecked():
585 value = self.volOpChannel.text()
588 value = self.volOpChannel.text()
586 format = 'intlist'
589 format = 'intlist'
587 if self.volOpComChannels.currentIndex() == 0:
590 if self.volOpComChannels.currentIndex() == 0:
588 name_operation = "selectChannels"
591 name_operation = "selectChannels"
589 name_parameter = 'channelList'
592 name_parameter = 'channelList'
590 else:
593 else:
591 name_operation = "selectChannelsByIndex"
594 name_operation = "selectChannelsByIndex"
592 name_parameter = 'channelIndexList'
595 name_parameter = 'channelIndexList'
593
596
594 opObj = puObj.addOperation(name=name_operation)
597 opObj = puObj.addOperation(name=name_operation)
595 opObj.addParameter(name=name_parameter, value=value, format=format)
598 opObj.addParameter(name=name_parameter, value=value, format=format)
596
599
597 if self.volOpCebHeights.isChecked():
600 if self.volOpCebHeights.isChecked():
598 value = self.volOpHeights.text()
601 value = self.volOpHeights.text()
599 valueList = value.split(',')
602 valueList = value.split(',')
600 format = 'float'
603 format = 'float'
601 if self.volOpComHeights.currentIndex() == 0:
604 if self.volOpComHeights.currentIndex() == 0:
602 name_operation = 'selectHeights'
605 name_operation = 'selectHeights'
603 name_parameter1 = 'minHei'
606 name_parameter1 = 'minHei'
604 name_parameter2 = 'maxHei'
607 name_parameter2 = 'maxHei'
605 else:
608 else:
606 name_operation = 'selectHeightsByIndex'
609 name_operation = 'selectHeightsByIndex'
607 name_parameter1 = 'minIndex'
610 name_parameter1 = 'minIndex'
608 name_parameter2 = 'maxIndex'
611 name_parameter2 = 'maxIndex'
609 opObj = puObj.addOperation(name=name_operation)
612 opObj = puObj.addOperation(name=name_operation)
610 opObj.addParameter(name=name_parameter1, value=valueList[0], format=format)
613 opObj.addParameter(name=name_parameter1, value=valueList[0], format=format)
611 opObj.addParameter(name=name_parameter2, value=valueList[1], format=format)
614 opObj.addParameter(name=name_parameter2, value=valueList[1], format=format)
612
615
613 if self.volOpCebFilter.isChecked():
616 if self.volOpCebFilter.isChecked():
614 value = self.volOpFilter.text()
617 value = self.volOpFilter.text()
615 format = 'int'
618 format = 'int'
616 name_operation = 'filterByHeights'
619 name_operation = 'filterByHeights'
617 name_parameter = 'window'
620 name_parameter = 'window'
618 opObj = puObj.addOperation(name=name_operation)
621 opObj = puObj.addOperation(name=name_operation)
619 opObj.addParameter(name=name_parameter, value=value, format=format)
622 opObj.addParameter(name=name_parameter, value=value, format=format)
620
623
621 if self.volOpCebProfile.isChecked():
624 if self.volOpCebProfile.isChecked():
622 value = self.volOpProfile.text()
625 value = self.volOpProfile.text()
623 format = 'intlist'
626 format = 'intlist'
624 optype = 'other'
627 optype = 'other'
625 name_operation = 'ProfileSelector'
628 name_operation = 'ProfileSelector'
626 if self.volOpComProfile.currentIndex() == 0:
629 if self.volOpComProfile.currentIndex() == 0:
627 name_parameter = 'profileList'
630 name_parameter = 'profileList'
628 else:
631 else:
629 name_parameter = 'profileRangeList'
632 name_parameter = 'profileRangeList'
630 opObj = puObj.addOperation(name='ProfileSelector', optype='other')
633 opObj = puObj.addOperation(name='ProfileSelector', optype='other')
631 opObj.addParameter(name=name_parameter, value=value, format=format)
634 opObj.addParameter(name=name_parameter, value=value, format=format)
632
635
633 if self.volOpCebDecodification.isChecked():
636 if self.volOpCebDecodification.isChecked():
634 name_operation = 'Decoder'
637 name_operation = 'Decoder'
635 optype = 'other'
638 optype = 'other'
636 format1 = 'floatlist'
639 format1 = 'floatlist'
637 format2 = 'int'
640 format2 = 'int'
638 format3 = 'int'
641 format3 = 'int'
639 format4 = 'int'
642 format4 = 'int'
640 name_parameter1 = 'code'
643 name_parameter1 = 'code'
641 name_parameter2 = 'nCode'
644 name_parameter2 = 'nCode'
642 name_parameter3 = 'nBaud'
645 name_parameter3 = 'nBaud'
643 name_parameter4 = 'mode'
646 name_parameter4 = 'mode'
644
647
645 if self.volOpComCode.currentIndex() == 0:
648 if self.volOpComCode.currentIndex() == 0:
646 value1 = '1,1,-1'
649 value1 = '1,1,-1'
647 value2 = '1'
650 value2 = '1'
648 value3 = '3'
651 value3 = '3'
649 if self.volOpComCode.currentIndex() == 1:
652 if self.volOpComCode.currentIndex() == 1:
650 value1 = '1,1,-1,1'
653 value1 = '1,1,-1,1'
651 value2 = '1'
654 value2 = '1'
652 value3 = '4'
655 value3 = '4'
653 if self.volOpComCode.currentIndex() == 2:
656 if self.volOpComCode.currentIndex() == 2:
654 value1 = '1,1,1,βˆ’1,1'
657 value1 = '1,1,1,βˆ’1,1'
655 value2 = '1'
658 value2 = '1'
656 value3 = '5'
659 value3 = '5'
657 if self.volOpComCode.currentIndex() == 3:
660 if self.volOpComCode.currentIndex() == 3:
658 value1 = '1,1,1,-1,-1,1,-1'
661 value1 = '1,1,1,-1,-1,1,-1'
659 value2 = '1'
662 value2 = '1'
660 value3 = '7'
663 value3 = '7'
661 if self.volOpComCode.currentIndex() == 4:
664 if self.volOpComCode.currentIndex() == 4:
662 value1 = '1,1,1,-1,-1,-1,1,-1,-1,1,-1'
665 value1 = '1,1,1,-1,-1,-1,1,-1,-1,1,-1'
663 value2 = '1'
666 value2 = '1'
664 value3 = '11'
667 value3 = '11'
665 if self.volOpComCode.currentIndex() == 5:
668 if self.volOpComCode.currentIndex() == 5:
666 value1 = '1,1,1,1,1,-1,-1,1,1,-1,1,-1,1'
669 value1 = '1,1,1,1,1,-1,-1,1,1,-1,1,-1,1'
667 value2 = '1'
670 value2 = '1'
668 value3 = '13'
671 value3 = '13'
669 if self.volOpComCode.currentIndex() == 6:
672 if self.volOpComCode.currentIndex() == 6:
670 value1 = '1,1,-1,-1,-1,1'
673 value1 = '1,1,-1,-1,-1,1'
671 value2 = '2'
674 value2 = '2'
672 value3 = '3'
675 value3 = '3'
673 if self.volOpComCode.currentIndex() == 7:
676 if self.volOpComCode.currentIndex() == 7:
674 value1 = '1,1,-1,1,-1,-1,1,-1'
677 value1 = '1,1,-1,1,-1,-1,1,-1'
675 value2 = '2'
678 value2 = '2'
676 value3 = '4'
679 value3 = '4'
677 if self.volOpComCode.currentIndex() == 8:
680 if self.volOpComCode.currentIndex() == 8:
678 value1 = '1,1,1,-1,1,-1,-1,-1,1,-1'
681 value1 = '1,1,1,-1,1,-1,-1,-1,1,-1'
679 value2 = '2'
682 value2 = '2'
680 value3 = '5'
683 value3 = '5'
681 if self.volOpComCode.currentIndex() == 9:
684 if self.volOpComCode.currentIndex() == 9:
682 value1 = '1,1,1,-1,-1,1,-1,-1,-1,-1,1,1,-1,1'
685 value1 = '1,1,1,-1,-1,1,-1,-1,-1,-1,1,1,-1,1'
683 value2 = '2'
686 value2 = '2'
684 value3 = '7'
687 value3 = '7'
685 if self.volOpComCode.currentIndex() == 10:
688 if self.volOpComCode.currentIndex() == 10:
686 value1 = '1,1,1,-1,-1,-1,1,-1,-1,1,-1,-1 ,-1 ,-1 ,1 ,1,1,-1 ,1 ,1 ,-1 ,1'
689 value1 = '1,1,1,-1,-1,-1,1,-1,-1,1,-1,-1 ,-1 ,-1 ,1 ,1,1,-1 ,1 ,1 ,-1 ,1'
687 value2 = '2'
690 value2 = '2'
688 value3 = '11'
691 value3 = '11'
689 if self.volOpComCode.currentIndex() == 11:
692 if self.volOpComCode.currentIndex() == 11:
690 value1 = '1,1,1,1,1,-1,-1,1,1,-1,1,-1,1,-1,-1,-1,-1,-1,1,1,-1,-1,1,-1,1,-1'
693 value1 = '1,1,1,1,1,-1,-1,1,1,-1,1,-1,1,-1,-1,-1,-1,-1,1,1,-1,-1,1,-1,1,-1'
691 value2 = '2'
694 value2 = '2'
692 value3 = '13'
695 value3 = '13'
693 if self.volOpComMode.currentIndex() == 0:
696 if self.volOpComMode.currentIndex() == 0:
694 value4 = '0'
697 value4 = '0'
695 if self.volOpComMode.currentIndex() == 1:
698 if self.volOpComMode.currentIndex() == 1:
696 value4 = '1'
699 value4 = '1'
697 if self.volOpComMode.currentIndex() == 2:
700 if self.volOpComMode.currentIndex() == 2:
698 value4 = '2'
701 value4 = '2'
699 opObj = puObj.addOperation(name=name_operation, optype='other')
702 opObj = puObj.addOperation(name=name_operation, optype='other')
700 if self.volOpComCode.currentIndex() == 12:
703 if self.volOpComCode.currentIndex() == 12:
701 pass
704 pass
702 else:
705 else:
703 opObj.addParameter(name=name_parameter1, value=value1, format=format1)
706 opObj.addParameter(name=name_parameter1, value=value1, format=format1)
704 opObj.addParameter(name=name_parameter2, value=value2, format=format2)
707 opObj.addParameter(name=name_parameter2, value=value2, format=format2)
705 opObj.addParameter(name=name_parameter3, value=value3, format=format3)
708 opObj.addParameter(name=name_parameter3, value=value3, format=format3)
706 opObj.addParameter(name=name_parameter4, value=value4, format=format4)
709 opObj.addParameter(name=name_parameter4, value=value4, format=format4)
707
710
708 if self.volOpCebFlip.isChecked():
711 if self.volOpCebFlip.isChecked():
709 name_operation = 'deFlip'
712 name_operation = 'deFlip'
710 optype = 'self'
713 optype = 'self'
711 value = self.volOpFlip.text()
714 value = self.volOpFlip.text()
712 name_parameter = 'channelList'
715 name_parameter = 'channelList'
713 format = 'intList'
716 format = 'intList'
714
717
715 opObj = puObj.addOperation(name=name_operation, optype=optype)
718 opObj = puObj.addOperation(name=name_operation, optype=optype)
716 opObj.addParameter(name=name_parameter, value=value, format=format)
719 opObj.addParameter(name=name_parameter, value=value, format=format)
717
720
718 if self.volOpCebCohInt.isChecked():
721 if self.volOpCebCohInt.isChecked():
719 name_operation = 'CohInt'
722 name_operation = 'CohInt'
720 optype = 'other'
723 optype = 'other'
721 value = self.volOpCohInt.text()
724 value = self.volOpCohInt.text()
722 name_parameter = 'n'
725 name_parameter = 'n'
723 format = 'float'
726 format = 'float'
724
727
725 opObj = puObj.addOperation(name=name_operation, optype=optype)
728 opObj = puObj.addOperation(name=name_operation, optype=optype)
726 opObj.addParameter(name=name_parameter, value=value, format=format)
729 opObj.addParameter(name=name_parameter, value=value, format=format)
727
730
728 if self.volGraphCebshow.isChecked():
731 if self.volGraphCebshow.isChecked():
729 name_operation = 'Scope'
732 name_operation = 'Scope'
730 optype = 'other'
733 optype = 'other'
731 name_parameter = 'type'
734 name_parameter = 'type'
732 value = 'Scope'
735 value = 'Scope'
733 if self.idImagscope == 0:
736 if self.idImagscope == 0:
734 self.idImagscope = 100
737 self.idImagscope = 100
735 else:
738 else:
736 self.idImagscope = self.idImagscope + 1
739 self.idImagscope = self.idImagscope + 1
737
740
738 name_parameter1 = 'id'
741 name_parameter1 = 'id'
739 value1 = int(self.idImagscope)
742 value1 = int(self.idImagscope)
740 format1 = 'int'
743 format1 = 'int'
741 format = 'str'
744 format = 'str'
742
745
743 opObj = puObj.addOperation(name=name_operation, optype=optype)
746 opObj = puObj.addOperation(name=name_operation, optype=optype)
744 # opObj.addParameter(name=name_parameter, value=value, format=format)
747 # opObj.addParameter(name=name_parameter, value=value, format=format)
745 opObj.addParameter(name=name_parameter1, value=value1, format=format1)
748 opObj.addParameter(name=name_parameter1, value=value1, format=format1)
746
749
747 channelList = self.volGraphChannelList.text()
750 channelList = self.volGraphChannelList.text()
748 xvalue = self.volGraphfreqrange.text()
751 xvalue = self.volGraphfreqrange.text()
749 yvalue = self.volGraphHeightrange.text()
752 yvalue = self.volGraphHeightrange.text()
750
753
751 if self.volGraphChannelList.isModified():
754 if self.volGraphChannelList.isModified():
752 try:
755 try:
753 value = str(channelList)
756 value = str(channelList)
754 except:
757 except:
755 return 0
758 return 0
756 opObj.addParameter(name='channelList', value=value, format='intlist')
759 opObj.addParameter(name='channelList', value=value, format='intlist')
757
760
758 if not xvalue == "":
761 if not xvalue == "":
759 xvalueList = xvalue.split(',')
762 xvalueList = xvalue.split(',')
760 try:
763 try:
761 value0 = int(xvalueList[0])
764 value0 = int(xvalueList[0])
762 value1 = int(xvalueList[1])
765 value1 = int(xvalueList[1])
763 except:
766 except:
764 return 0
767 return 0
765 opObj.addParameter(name='xmin', value=value0, format='int')
768 opObj.addParameter(name='xmin', value=value0, format='int')
766 opObj.addParameter(name='xmax', value=value1, format='int')
769 opObj.addParameter(name='xmax', value=value1, format='int')
767
770
768
771
769 if not yvalue == "":
772 if not yvalue == "":
770 yvalueList = yvalue.split(",")
773 yvalueList = yvalue.split(",")
771 try:
774 try:
772 value = yvalueList[0]
775 value = yvalueList[0]
773 value = yvalueList[1]
776 value = yvalueList[1]
774 except:
777 except:
775 return 0
778 return 0
776 opObj.addParameter(name='ymin', value=yvalueList[0], format='int')
779 opObj.addParameter(name='ymin', value=yvalueList[0], format='int')
777 opObj.addParameter(name='ymax', value=yvalueList[1], format='int')
780 opObj.addParameter(name='ymax', value=yvalueList[1], format='int')
778
781
779 if self.volGraphCebSave.isChecked():
782 if self.volGraphCebSave.isChecked():
780 checkPath = True
783 checkPath = True
781 opObj.addParameter(name='save', value='1', format='int')
784 opObj.addParameter(name='save', value='1', format='int')
782 opObj.addParameter(name='figpath', value=self.volGraphPath.text(), format='str')
785 opObj.addParameter(name='figpath', value=self.volGraphPath.text(), format='str')
783 value = self.volGraphPrefix.text()
786 value = self.volGraphPrefix.text()
784 if not value == "":
787 if not value == "":
785 try:
788 try:
786 value = str(self.volGraphPrefix.text())
789 value = str(self.volGraphPrefix.text())
787 except:
790 except:
788 self.console.clear()
791 self.console.clear()
789 self.console.append("Please Write prefix")
792 self.console.append("Please Write prefix")
790 return 0
793 return 0
791 opObj.addParameter(name='figfile', value=self.volGraphPrefix.text(), format='str')
794 opObj.addParameter(name='figfile', value=self.volGraphPrefix.text(), format='str')
792
795
793 localfolder = None
796 localfolder = None
794 if checkPath:
797 if checkPath:
795 localfolder = str(self.specGraphPath.text())
798 localfolder = str(self.specGraphPath.text())
796 if localfolder == '':
799 if localfolder == '':
797 self.console.clear()
800 self.console.clear()
798 self.console.append("Graphic path should be defined")
801 self.console.append("Graphic path should be defined")
799 return 0
802 return 0
800
803
801 # if something happend
804 # if something happend
802 parms_ok, output_path, blocksperfile, profilesperblock = self.checkInputsPUSave(datatype='Voltage')
805 parms_ok, output_path, blocksperfile, profilesperblock = self.checkInputsPUSave(datatype='Voltage')
803 if parms_ok:
806 if parms_ok:
804 name_operation = 'VoltageWriter'
807 name_operation = 'VoltageWriter'
805 optype = 'other'
808 optype = 'other'
806 name_parameter1 = 'path'
809 name_parameter1 = 'path'
807 name_parameter2 = 'blocksPerFile'
810 name_parameter2 = 'blocksPerFile'
808 name_parameter3 = 'profilesPerBlock'
811 name_parameter3 = 'profilesPerBlock'
809 value1 = output_path
812 value1 = output_path
810 value2 = blocksperfile
813 value2 = blocksperfile
811 value3 = profilesperblock
814 value3 = profilesperblock
812 format = "int"
815 format = "int"
813 opObj = puObj.addOperation(name=name_operation, optype=optype)
816 opObj = puObj.addOperation(name=name_operation, optype=optype)
814 opObj.addParameter(name=name_parameter1, value=value1)
817 opObj.addParameter(name=name_parameter1, value=value1)
815 opObj.addParameter(name=name_parameter2, value=value2, format=format)
818 opObj.addParameter(name=name_parameter2, value=value2, format=format)
816 opObj.addParameter(name=name_parameter3, value=value3, format=format)
819 opObj.addParameter(name=name_parameter3, value=value3, format=format)
817
820
818 #---------NEW VOLTAGE PROPERTIES
821 #---------NEW VOLTAGE PROPERTIES
819 self.showPUVoltageProperties(puObj)
822 self.showPUVoltageProperties(puObj)
820
823
821 self.console.clear()
824 self.console.clear()
822 self.console.append("If you want to save your project")
825 self.console.append("If you want to save your project")
823 self.console.append("click on your project name in the Tree Project Explorer")
826 self.console.append("click on your project name in the Tree Project Explorer")
824
827
825 self.actionSaveToolbar.setEnabled(True)
828 self.actionSaveToolbar.setEnabled(True)
826 self.actionStarToolbar.setEnabled(True)
829 self.actionStarToolbar.setEnabled(True)
827
830
828 return 1
831 return 1
829
832
830 """
833 """
831 Voltage Graph
834 Voltage Graph
832 """
835 """
833 @pyqtSignature("int")
836 @pyqtSignature("int")
834 def on_volGraphCebSave_stateChanged(self, p0):
837 def on_volGraphCebSave_stateChanged(self, p0):
835 """
838 """
836 Check Box habilita ingresode del numero de Integraciones a realizar
839 Check Box habilita ingresode del numero de Integraciones a realizar
837 """
840 """
838 if p0 == 2:
841 if p0 == 2:
839 self.volGraphPath.setEnabled(True)
842 self.volGraphPath.setEnabled(True)
840 self.volGraphPrefix.setEnabled(True)
843 self.volGraphPrefix.setEnabled(True)
841 self.volGraphToolPath.setEnabled(True)
844 self.volGraphToolPath.setEnabled(True)
842
845
843 if p0 == 0:
846 if p0 == 0:
844 self.volGraphPath.setEnabled(False)
847 self.volGraphPath.setEnabled(False)
845 self.volGraphPrefix.setEnabled(False)
848 self.volGraphPrefix.setEnabled(False)
846 self.volGraphToolPath.setEnabled(False)
849 self.volGraphToolPath.setEnabled(False)
847
850
848 @pyqtSignature("")
851 @pyqtSignature("")
849 def on_volGraphToolPath_clicked(self):
852 def on_volGraphToolPath_clicked(self):
850 """
853 """
851 Donde se guardan los DATOS
854 Donde se guardan los DATOS
852 """
855 """
853 self.dataPath = str(QtGui.QFileDialog.getExistingDirectory(self, 'Open Directory', './', QtGui.QFileDialog.ShowDirsOnly))
856 self.dataPath = str(QtGui.QFileDialog.getExistingDirectory(self, 'Open Directory', './', QtGui.QFileDialog.ShowDirsOnly))
854 self.volGraphPath.setText(self.dataPath)
857 self.volGraphPath.setText(self.dataPath)
855
858
856 # if not os.path.exists(self.dataPath):
859 # if not os.path.exists(self.dataPath):
857 # self.volGraphOk.setEnabled(False)
860 # self.volGraphOk.setEnabled(False)
858 # return
861 # return
859
862
860 @pyqtSignature("int")
863 @pyqtSignature("int")
861 def on_volGraphCebshow_stateChanged(self, p0):
864 def on_volGraphCebshow_stateChanged(self, p0):
862 """
865 """
863 Check Box habilita ingresode del numero de Integraciones a realizar
866 Check Box habilita ingresode del numero de Integraciones a realizar
864 """
867 """
865 if p0 == 0:
868 if p0 == 0:
866
869
867 self.volGraphChannelList.setEnabled(False)
870 self.volGraphChannelList.setEnabled(False)
868 self.volGraphfreqrange.setEnabled(False)
871 self.volGraphfreqrange.setEnabled(False)
869 self.volGraphHeightrange.setEnabled(False)
872 self.volGraphHeightrange.setEnabled(False)
870 if p0 == 2:
873 if p0 == 2:
871
874
872 self.volGraphChannelList.setEnabled(True)
875 self.volGraphChannelList.setEnabled(True)
873 self.volGraphfreqrange.setEnabled(True)
876 self.volGraphfreqrange.setEnabled(True)
874 self.volGraphHeightrange.setEnabled(True)
877 self.volGraphHeightrange.setEnabled(True)
875
878
876 """
879 """
877 Spectra operation
880 Spectra operation
878 """
881 """
879 @pyqtSignature("int")
882 @pyqtSignature("int")
880 def on_specOpCebRadarfrequency_stateChanged(self, p0):
883 def on_specOpCebRadarfrequency_stateChanged(self, p0):
881 """
884 """
882 Check Box habilita ingresode del numero de Integraciones a realizar
885 Check Box habilita ingresode del numero de Integraciones a realizar
883 """
886 """
884 if p0 == 2:
887 if p0 == 2:
885 self.specOpRadarfrequency.setEnabled(True)
888 self.specOpRadarfrequency.setEnabled(True)
886 if p0 == 0:
889 if p0 == 0:
887 self.specOpRadarfrequency.clear()
890 self.specOpRadarfrequency.clear()
888 self.specOpRadarfrequency.setEnabled(False)
891 self.specOpRadarfrequency.setEnabled(False)
889
892
890
893
891 @pyqtSignature("int")
894 @pyqtSignature("int")
892 def on_specOpCebCrossSpectra_stateChanged(self, p0):
895 def on_specOpCebCrossSpectra_stateChanged(self, p0):
893 """
896 """
894 Habilita la opcion de aοΏ½adir el parοΏ½metro CrossSpectra a la Unidad de Procesamiento .
897 Habilita la opcion de aοΏ½adir el parοΏ½metro CrossSpectra a la Unidad de Procesamiento .
895 """
898 """
896 if p0 == 2:
899 if p0 == 2:
897 # self.specOpnFFTpoints.setEnabled(True)
900 # self.specOpnFFTpoints.setEnabled(True)
898 self.specOppairsList.setEnabled(True)
901 self.specOppairsList.setEnabled(True)
899 if p0 == 0:
902 if p0 == 0:
900 # self.specOpnFFTpoints.setEnabled(False)
903 # self.specOpnFFTpoints.setEnabled(False)
901 self.specOppairsList.setEnabled(False)
904 self.specOppairsList.setEnabled(False)
902
905
903 @pyqtSignature("int")
906 @pyqtSignature("int")
904 def on_specOpCebChannel_stateChanged(self, p0):
907 def on_specOpCebChannel_stateChanged(self, p0):
905 """
908 """
906 Habilita la opcion de aοΏ½adir el parοΏ½metro numero de Canales a la Unidad de Procesamiento .
909 Habilita la opcion de aοΏ½adir el parοΏ½metro numero de Canales a la Unidad de Procesamiento .
907 """
910 """
908 if p0 == 2:
911 if p0 == 2:
909 self.specOpChannel.setEnabled(True)
912 self.specOpChannel.setEnabled(True)
910 self.specOpComChannel.setEnabled(True)
913 self.specOpComChannel.setEnabled(True)
911 if p0 == 0:
914 if p0 == 0:
912 self.specOpChannel.setEnabled(False)
915 self.specOpChannel.setEnabled(False)
913 self.specOpComChannel.setEnabled(False)
916 self.specOpComChannel.setEnabled(False)
914
917
915 @pyqtSignature("int")
918 @pyqtSignature("int")
916 def on_specOpCebHeights_stateChanged(self, p0):
919 def on_specOpCebHeights_stateChanged(self, p0):
917 """
920 """
918 Habilita la opcion de aοΏ½adir el parοΏ½metro de alturas a la Unidad de Procesamiento .
921 Habilita la opcion de aοΏ½adir el parοΏ½metro de alturas a la Unidad de Procesamiento .
919 """
922 """
920 if p0 == 2:
923 if p0 == 2:
921 self.specOpComHeights.setEnabled(True)
924 self.specOpComHeights.setEnabled(True)
922 self.specOpHeights.setEnabled(True)
925 self.specOpHeights.setEnabled(True)
923 if p0 == 0:
926 if p0 == 0:
924 self.specOpComHeights.setEnabled(False)
927 self.specOpComHeights.setEnabled(False)
925 self.specOpHeights.setEnabled(False)
928 self.specOpHeights.setEnabled(False)
926
929
927
930
928 @pyqtSignature("int")
931 @pyqtSignature("int")
929 def on_specOpCebIncoherent_stateChanged(self, p0):
932 def on_specOpCebIncoherent_stateChanged(self, p0):
930 """
933 """
931 Habilita la opcion de aοΏ½adir el parοΏ½metro integraciones incoherentes a la Unidad de Procesamiento .
934 Habilita la opcion de aοΏ½adir el parοΏ½metro integraciones incoherentes a la Unidad de Procesamiento .
932 """
935 """
933 if p0 == 2:
936 if p0 == 2:
934 self.specOpIncoherent.setEnabled(True)
937 self.specOpIncoherent.setEnabled(True)
935 if p0 == 0:
938 if p0 == 0:
936 self.specOpIncoherent.setEnabled(False)
939 self.specOpIncoherent.setEnabled(False)
937
940
938 @pyqtSignature("int")
941 @pyqtSignature("int")
939 def on_specOpCebRemoveDC_stateChanged(self, p0):
942 def on_specOpCebRemoveDC_stateChanged(self, p0):
940 """
943 """
941 Habilita la opcion de aοΏ½adir el parοΏ½metro remover DC a la Unidad de Procesamiento .
944 Habilita la opcion de aοΏ½adir el parοΏ½metro remover DC a la Unidad de Procesamiento .
942 """
945 """
943 if p0 == 2:
946 if p0 == 2:
944 self.specOpComRemoveDC.setEnabled(True)
947 self.specOpComRemoveDC.setEnabled(True)
945 if p0 == 0:
948 if p0 == 0:
946 self.specOpComRemoveDC.setEnabled(False)
949 self.specOpComRemoveDC.setEnabled(False)
947
950
948 @pyqtSignature("int")
951 @pyqtSignature("int")
949 def on_specOpCebgetNoise_stateChanged(self, p0):
952 def on_specOpCebgetNoise_stateChanged(self, p0):
950 """
953 """
951 Habilita la opcion de aοΏ½adir la estimacion de ruido a la Unidad de Procesamiento .
954 Habilita la opcion de aοΏ½adir la estimacion de ruido a la Unidad de Procesamiento .
952 """
955 """
953 if p0 == 2:
956 if p0 == 2:
954 self.specOpgetNoise.setEnabled(True)
957 self.specOpgetNoise.setEnabled(True)
955
958
956 if p0 == 0:
959 if p0 == 0:
957 self.specOpgetNoise.setEnabled(False)
960 self.specOpgetNoise.setEnabled(False)
958
961
959 def refreshID(self, puObj):
962 def refreshID(self, puObj):
960 opObj = puObj.getOperationObj(name='Scope')
963 opObj = puObj.getOperationObj(name='Scope')
961 # opObj = puObj.getOpObjfromParamValue(value="Scope")
964 # opObj = puObj.getOpObjfromParamValue(value="Scope")
962 if opObj == None:
965 if opObj == None:
963 pass
966 pass
964 else:
967 else:
965 name_parameter1 = 'id'
968 name_parameter1 = 'id'
966 format1 = 'int'
969 format1 = 'int'
967 if self.idImagscope == 0:
970 if self.idImagscope == 0:
968 self.idImagscope = 100
971 self.idImagscope = 100
969 else:
972 else:
970 self.idImagscope = self.idImagscope + 1
973 self.idImagscope = self.idImagscope + 1
971 value1 = int(self.idImagscope)
974 value1 = int(self.idImagscope)
972 opObj.changeParameter(name=name_parameter1, value=value1, format=format1)
975 opObj.changeParameter(name=name_parameter1, value=value1, format=format1)
973
976
974 opObj = puObj.getOperationObj(name='SpectraPlot')
977 opObj = puObj.getOperationObj(name='SpectraPlot')
975 # opObj = puObj.getOpObjfromParamValue(value="SpectraPlot")
978 # opObj = puObj.getOpObjfromParamValue(value="SpectraPlot")
976 if opObj == None:
979 if opObj == None:
977 pass
980 pass
978 else:
981 else:
979 name_parameter1 = 'id'
982 name_parameter1 = 'id'
980 format1 = 'int'
983 format1 = 'int'
981 if self.idImagspectra == 0:
984 if self.idImagspectra == 0:
982 self.idImagspectra = 200
985 self.idImagspectra = 200
983 else:
986 else:
984 self.idImagspectra = self.idImagspectra + 1
987 self.idImagspectra = self.idImagspectra + 1
985 value1 = int(self.idImagspectra)
988 value1 = int(self.idImagspectra)
986 opObj.changeParameter(name=name_parameter1, value=value1, format=format1)
989 opObj.changeParameter(name=name_parameter1, value=value1, format=format1)
987
990
988 opObj = puObj.getOperationObj(name='CrossSpectraPlot')
991 opObj = puObj.getOperationObj(name='CrossSpectraPlot')
989 # opObj = puObj.getOpObjfromParamValue(value="CrossSpectraPlot")
992 # opObj = puObj.getOpObjfromParamValue(value="CrossSpectraPlot")
990 if opObj == None:
993 if opObj == None:
991 pass
994 pass
992 else:
995 else:
993 name_parameter1 = 'id'
996 name_parameter1 = 'id'
994 format1 = 'int'
997 format1 = 'int'
995 if self.idImagcross == 0:
998 if self.idImagcross == 0:
996 self.idImagcross = 300
999 self.idImagcross = 300
997 else:
1000 else:
998 self.idImagcross = self.idImagcross + 1
1001 self.idImagcross = self.idImagcross + 1
999 value1 = int(self.idImagcross)
1002 value1 = int(self.idImagcross)
1000 opObj.changeParameter(name=name_parameter1, value=value1, format=format1)
1003 opObj.changeParameter(name=name_parameter1, value=value1, format=format1)
1001
1004
1002 opObj = puObj.getOperationObj(name='RTIPlot')
1005 opObj = puObj.getOperationObj(name='RTIPlot')
1003 # opObj = puObj.getOpObjfromParamValue(value="RTIPlot")
1006 # opObj = puObj.getOpObjfromParamValue(value="RTIPlot")
1004 if opObj == None:
1007 if opObj == None:
1005 pass
1008 pass
1006 else:
1009 else:
1007 name_parameter1 = 'id'
1010 name_parameter1 = 'id'
1008 format1 = 'int'
1011 format1 = 'int'
1009 if self.idImagrti == 0:
1012 if self.idImagrti == 0:
1010 self.idImagrti = 400
1013 self.idImagrti = 400
1011 else:
1014 else:
1012 self.idImagrti = self.idImagrti + 1
1015 self.idImagrti = self.idImagrti + 1
1013 value1 = int(self.idImagrti)
1016 value1 = int(self.idImagrti)
1014 opObj.changeParameter(name=name_parameter1, value=value1, format=format1)
1017 opObj.changeParameter(name=name_parameter1, value=value1, format=format1)
1015
1018
1016 opObj = puObj.getOperationObj(name='CoherenceMap')
1019 opObj = puObj.getOperationObj(name='CoherenceMap')
1017 # opObj = puObj.getOpObjfromParamValue(value="CoherenceMap")
1020 # opObj = puObj.getOpObjfromParamValue(value="CoherenceMap")
1018 if opObj == None:
1021 if opObj == None:
1019 pass
1022 pass
1020 else:
1023 else:
1021 name_parameter1 = 'id'
1024 name_parameter1 = 'id'
1022 format1 = 'int'
1025 format1 = 'int'
1023 if self.idImagcoherence == 0:
1026 if self.idImagcoherence == 0:
1024 self.idImagcoherence = 500
1027 self.idImagcoherence = 500
1025 else:
1028 else:
1026 self.idImagcoherence = self.idImagcoherence + 1
1029 self.idImagcoherence = self.idImagcoherence + 1
1027 value1 = int(self.idImagcoherence)
1030 value1 = int(self.idImagcoherence)
1028 opObj.changeParameter(name=name_parameter1, value=value1, format=format1)
1031 opObj.changeParameter(name=name_parameter1, value=value1, format=format1)
1029
1032
1030 opObj = puObj.getOperationObj(name='PowerProfilePlot')
1033 opObj = puObj.getOperationObj(name='PowerProfilePlot')
1031 # opObj = puObj.getOpObjfromParamValue(value="PowerProfilePlot")
1034 # opObj = puObj.getOpObjfromParamValue(value="PowerProfilePlot")
1032 if opObj == None:
1035 if opObj == None:
1033 pass
1036 pass
1034 else:
1037 else:
1035 name_parameter1 = 'id'
1038 name_parameter1 = 'id'
1036 format1 = 'int'
1039 format1 = 'int'
1037 if self.idImagpower == 0:
1040 if self.idImagpower == 0:
1038 self.idImagpower = 600
1041 self.idImagpower = 600
1039 else:
1042 else:
1040 self.idImagpower = self.idImagpower + 1
1043 self.idImagpower = self.idImagpower + 1
1041 value1 = int(self.idImagpower)
1044 value1 = int(self.idImagpower)
1042 opObj.changeParameter(name=name_parameter1, value=value1, format=format1)
1045 opObj.changeParameter(name=name_parameter1, value=value1, format=format1)
1043
1046
1044 opObj = puObj.getOperationObj(name='Noise')
1047 opObj = puObj.getOperationObj(name='Noise')
1045 # opObj = puObj.getOpObjfromParamValue(value="Noise")
1048 # opObj = puObj.getOpObjfromParamValue(value="Noise")
1046 if opObj == None:
1049 if opObj == None:
1047 pass
1050 pass
1048 else:
1051 else:
1049 name_parameter1 = 'id'
1052 name_parameter1 = 'id'
1050 format1 = 'int'
1053 format1 = 'int'
1051 if self.idImagrtinoise == 0:
1054 if self.idImagrtinoise == 0:
1052 self.idImagrtinoise = 700
1055 self.idImagrtinoise = 700
1053 else:
1056 else:
1054 self.idImagrtinoise = self.idImagrtinoise + 1
1057 self.idImagrtinoise = self.idImagrtinoise + 1
1055 value1 = int(self.idImagrtinoise)
1058 value1 = int(self.idImagrtinoise)
1056 opObj.changeParameter(name=name_parameter1, value=value1, format=format1)
1059 opObj.changeParameter(name=name_parameter1, value=value1, format=format1)
1057
1060
1058 opObj = puObj.getOperationObj(name='SpectraHeisScope')
1061 opObj = puObj.getOperationObj(name='SpectraHeisScope')
1059 # opObj = puObj.getOpObjfromParamValue(value="SpectraHeisScope")
1062 # opObj = puObj.getOpObjfromParamValue(value="SpectraHeisScope")
1060 if opObj == None:
1063 if opObj == None:
1061 pass
1064 pass
1062 else:
1065 else:
1063 name_parameter1 = 'id'
1066 name_parameter1 = 'id'
1064 format1 = 'int'
1067 format1 = 'int'
1065 if self.idImagspectraHeis == 0:
1068 if self.idImagspectraHeis == 0:
1066 self.idImagspectraHeis = 800
1069 self.idImagspectraHeis = 800
1067 else:
1070 else:
1068 self.idImagspectraHeis = self.idImagspectraHeis + 1
1071 self.idImagspectraHeis = self.idImagspectraHeis + 1
1069 value1 = int(self.idImagspectraHeis)
1072 value1 = int(self.idImagspectraHeis)
1070 opObj.changeParameter(name=name_parameter1, value=value1, format=format1)
1073 opObj.changeParameter(name=name_parameter1, value=value1, format=format1)
1071
1074
1072 opObj = puObj.getOperationObj(name='RTIfromSpectraHeis')
1075 opObj = puObj.getOperationObj(name='RTIfromSpectraHeis')
1073 # opObj = puObj.getOpObjfromParamValue(value="RTIfromSpectraHeis")
1076 # opObj = puObj.getOpObjfromParamValue(value="RTIfromSpectraHeis")
1074 if opObj == None:
1077 if opObj == None:
1075 pass
1078 pass
1076 else:
1079 else:
1077 name_parameter1 = 'id'
1080 name_parameter1 = 'id'
1078 format1 = 'int'
1081 format1 = 'int'
1079 if self.idImagrtiHeis == 0:
1082 if self.idImagrtiHeis == 0:
1080 self.idImagrtiHeis = 900
1083 self.idImagrtiHeis = 900
1081 else:
1084 else:
1082 self.idImagrtiHeis = self.idImagrtiHeis + 1
1085 self.idImagrtiHeis = self.idImagrtiHeis + 1
1083 value1 = int(self.idImagrtiHeis)
1086 value1 = int(self.idImagrtiHeis)
1084 opObj.changeParameter(name=name_parameter1, value=value1, format=format1)
1087 opObj.changeParameter(name=name_parameter1, value=value1, format=format1)
1085
1088
1086 @pyqtSignature("")
1089 @pyqtSignature("")
1087 def on_specOpOk_clicked(self):
1090 def on_specOpOk_clicked(self):
1088 """
1091 """
1089 AΓ‘ADE OPERACION SPECTRA
1092 AΓ‘ADE OPERACION SPECTRA
1090 """
1093 """
1091
1094
1092 addFTP = False
1095 addFTP = False
1093 checkPath = False
1096 checkPath = False
1094
1097
1095 self.actionSaveToolbar.setEnabled(False)
1098 self.actionSaveToolbar.setEnabled(False)
1096 self.actionStarToolbar.setEnabled(False)
1099 self.actionStarToolbar.setEnabled(False)
1097
1100
1098 puObj = self.getSelectedPUObj()
1101 puObj = self.getSelectedPUObj()
1099 puObj.removeOperations()
1102 puObj.removeOperations()
1100
1103
1101 if self.specOpCebRadarfrequency.isChecked():
1104 if self.specOpCebRadarfrequency.isChecked():
1102 value = self.specOpRadarfrequency.text()
1105 value = self.specOpRadarfrequency.text()
1103 format = 'float'
1106 format = 'float'
1104 name_operation = 'setRadarFrequency'
1107 name_operation = 'setRadarFrequency'
1105 name_parameter = 'frequency'
1108 name_parameter = 'frequency'
1106 if not value == "":
1109 if not value == "":
1107 try:
1110 try:
1108 radarfreq = float(self.specOpRadarfrequency.text())
1111 radarfreq = float(self.specOpRadarfrequency.text())
1109 except:
1112 except:
1110 self.console.clear()
1113 self.console.clear()
1111 self.console.append("Write the parameter Radar Frequency type float")
1114 self.console.append("Write the parameter Radar Frequency type float")
1112 return 0
1115 return 0
1113 opObj = puObj.addOperation(name=name_operation)
1116 opObj = puObj.addOperation(name=name_operation)
1114 opObj.addParameter(name=name_parameter, value=radarfreq, format=format)
1117 opObj.addParameter(name=name_parameter, value=radarfreq, format=format)
1115
1118
1116
1119
1117 if self.proComDataType.currentText() == 'Voltage':
1120 if self.proComDataType.currentText() == 'Voltage':
1118 name_parameter = 'nFFTPoints'
1121 name_parameter = 'nFFTPoints'
1119 value = self.specOpnFFTpoints.text()
1122 value = self.specOpnFFTpoints.text()
1120 name_parameter1 = 'nProfiles'
1123 name_parameter1 = 'nProfiles'
1121 value1 = self.specOpProfiles.text()
1124 value1 = self.specOpProfiles.text()
1122 name_parameter2 = 'ippFactor'
1125 name_parameter2 = 'ippFactor'
1123 value2 = self.specOpippFactor.text()
1126 value2 = self.specOpippFactor.text()
1124 format = 'int'
1127 format = 'int'
1125 try:
1128 try:
1126 value = int(self.specOpnFFTpoints.text())
1129 value = int(self.specOpnFFTpoints.text())
1127 except:
1130 except:
1128 self.console.clear()
1131 self.console.clear()
1129 self.console.append("Please Write the number of FFT")
1132 self.console.append("Please Write the number of FFT")
1130 return 0
1133 return 0
1131 puObj.addParameter(name=name_parameter, value=value, format=format)
1134 puObj.addParameter(name=name_parameter, value=value, format=format)
1132 if not value1 == "":
1135 if not value1 == "":
1133 try:
1136 try:
1134 value1 = int(self.specOpProfiles.text())
1137 value1 = int(self.specOpProfiles.text())
1135 except:
1138 except:
1136 self.console.clear()
1139 self.console.clear()
1137 self.console.append("Please Write the number of Profiles")
1140 self.console.append("Please Write the number of Profiles")
1138 return 0
1141 return 0
1139 puObj.addParameter(name=name_parameter1, value=value1, format=format)
1142 puObj.addParameter(name=name_parameter1, value=value1, format=format)
1140 if not value2 == "":
1143 if not value2 == "":
1141 try:
1144 try:
1142 value2 = int(self.specOpippFactor.text())
1145 value2 = int(self.specOpippFactor.text())
1143 except:
1146 except:
1144 self.console.clear()
1147 self.console.clear()
1145 self.console.append("Please Write the Number of IppFactor")
1148 self.console.append("Please Write the Number of IppFactor")
1146 puObj.addParameter(name=name_parameter2 , value=value2 , format=format)
1149 puObj.addParameter(name=name_parameter2 , value=value2 , format=format)
1147
1150
1148 if self.specOpCebCrossSpectra.isChecked():
1151 if self.specOpCebCrossSpectra.isChecked():
1149 name_parameter = 'pairsList'
1152 name_parameter = 'pairsList'
1150 format = 'pairslist'
1153 format = 'pairslist'
1151 value2 = self.specOppairsList.text()
1154 value2 = self.specOppairsList.text()
1152 puObj.addParameter(name=name_parameter, value=value2, format=format)
1155 puObj.addParameter(name=name_parameter, value=value2, format=format)
1153
1156
1154 if self.specOpCebHeights.isChecked():
1157 if self.specOpCebHeights.isChecked():
1155 value = self.specOpHeights.text()
1158 value = self.specOpHeights.text()
1156 valueList = value.split(',')
1159 valueList = value.split(',')
1157 format = 'float'
1160 format = 'float'
1158 value0 = valueList[0]
1161 value0 = valueList[0]
1159 value1 = valueList[1]
1162 value1 = valueList[1]
1160
1163
1161 if self.specOpComHeights.currentIndex() == 0:
1164 if self.specOpComHeights.currentIndex() == 0:
1162 name_operation = 'selectHeights'
1165 name_operation = 'selectHeights'
1163 name_parameter1 = 'minHei'
1166 name_parameter1 = 'minHei'
1164 name_parameter2 = 'maxHei'
1167 name_parameter2 = 'maxHei'
1165 else:
1168 else:
1166 name_operation = 'selectHeightsByIndex'
1169 name_operation = 'selectHeightsByIndex'
1167 name_parameter1 = 'minIndex'
1170 name_parameter1 = 'minIndex'
1168 name_parameter2 = 'maxIndex'
1171 name_parameter2 = 'maxIndex'
1169 opObj = puObj.addOperation(name=name_operation)
1172 opObj = puObj.addOperation(name=name_operation)
1170 opObj.addParameter(name=name_parameter1, value=value0, format=format)
1173 opObj.addParameter(name=name_parameter1, value=value0, format=format)
1171 opObj.addParameter(name=name_parameter2, value=value1, format=format)
1174 opObj.addParameter(name=name_parameter2, value=value1, format=format)
1172
1175
1173 if self.specOpCebChannel.isChecked():
1176 if self.specOpCebChannel.isChecked():
1174 value = self.specOpChannel.text()
1177 value = self.specOpChannel.text()
1175 format = 'intlist'
1178 format = 'intlist'
1176 if self.specOpComChannel.currentIndex() == 0:
1179 if self.specOpComChannel.currentIndex() == 0:
1177 name_operation = "selectChannels"
1180 name_operation = "selectChannels"
1178 name_parameter = 'channelList'
1181 name_parameter = 'channelList'
1179 else:
1182 else:
1180 name_operation = "selectChannelsByIndex"
1183 name_operation = "selectChannelsByIndex"
1181 name_parameter = 'channelIndexList'
1184 name_parameter = 'channelIndexList'
1182 opObj = puObj.addOperation(name="selectChannels")
1185 opObj = puObj.addOperation(name="selectChannels")
1183 opObj.addParameter(name=name_parameter, value=value, format=format)
1186 opObj.addParameter(name=name_parameter, value=value, format=format)
1184
1187
1185 if self.specOpCebIncoherent.isChecked():
1188 if self.specOpCebIncoherent.isChecked():
1186 value = self.specOpIncoherent.text()
1189 value = self.specOpIncoherent.text()
1187 name_operation = 'IncohInt'
1190 name_operation = 'IncohInt'
1188 optype = 'other'
1191 optype = 'other'
1189 if self.specOpCobIncInt.currentIndex() == 0:
1192 if self.specOpCobIncInt.currentIndex() == 0:
1190 name_parameter = 'timeInterval'
1193 name_parameter = 'timeInterval'
1191 format = 'float'
1194 format = 'float'
1192 else:
1195 else:
1193 name_parameter = 'n'
1196 name_parameter = 'n'
1194 format = 'float'
1197 format = 'float'
1195
1198
1196 opObj = puObj.addOperation(name=name_operation, optype=optype)
1199 opObj = puObj.addOperation(name=name_operation, optype=optype)
1197 opObj.addParameter(name=name_parameter, value=value, format=format)
1200 opObj.addParameter(name=name_parameter, value=value, format=format)
1198
1201
1199 if self.specOpCebRemoveDC.isChecked():
1202 if self.specOpCebRemoveDC.isChecked():
1200 name_operation = 'removeDC'
1203 name_operation = 'removeDC'
1201 name_parameter = 'mode'
1204 name_parameter = 'mode'
1202 format = 'int'
1205 format = 'int'
1203 if self.specOpComRemoveDC.currentIndex() == 0:
1206 if self.specOpComRemoveDC.currentIndex() == 0:
1204 value = 1
1207 value = 1
1205 else:
1208 else:
1206 value = 2
1209 value = 2
1207 opObj = puObj.addOperation(name=name_operation)
1210 opObj = puObj.addOperation(name=name_operation)
1208 opObj.addParameter(name=name_parameter, value=value, format=format)
1211 opObj.addParameter(name=name_parameter, value=value, format=format)
1209
1212
1210 if self.specOpCebRemoveInt.isChecked():
1213 if self.specOpCebRemoveInt.isChecked():
1211 name_operation = 'removeInterference'
1214 name_operation = 'removeInterference'
1212 opObj = puObj.addOperation(name=name_operation)
1215 opObj = puObj.addOperation(name=name_operation)
1213
1216
1214
1217
1215 if self.specOpCebgetNoise.isChecked():
1218 if self.specOpCebgetNoise.isChecked():
1216 value = self.specOpgetNoise.text()
1219 value = self.specOpgetNoise.text()
1217 valueList = value.split(',')
1220 valueList = value.split(',')
1218 format = 'float'
1221 format = 'float'
1219 name_operation = "getNoise"
1222 name_operation = "getNoise"
1220 opObj = puObj.addOperation(name=name_operation)
1223 opObj = puObj.addOperation(name=name_operation)
1221
1224
1222 if not value == '':
1225 if not value == '':
1223 valueList = value.split(',')
1226 valueList = value.split(',')
1224 length = len(valueList)
1227 length = len(valueList)
1225 if length == 1:
1228 if length == 1:
1226 try:
1229 try:
1227 value1 = float(valueList[0])
1230 value1 = float(valueList[0])
1228 except:
1231 except:
1229 self.console.clear()
1232 self.console.clear()
1230 self.console.append("Please Write correct parameter Get Noise")
1233 self.console.append("Please Write correct parameter Get Noise")
1231 return 0
1234 return 0
1232 name1 = 'minHei'
1235 name1 = 'minHei'
1233 opObj.addParameter(name=name1, value=value1, format=format)
1236 opObj.addParameter(name=name1, value=value1, format=format)
1234 elif length == 2:
1237 elif length == 2:
1235 try:
1238 try:
1236 value1 = float(valueList[0])
1239 value1 = float(valueList[0])
1237 value2 = float(valueList[1])
1240 value2 = float(valueList[1])
1238 except:
1241 except:
1239 self.console.clear()
1242 self.console.clear()
1240 self.console.append("Please Write corrects parameter Get Noise")
1243 self.console.append("Please Write corrects parameter Get Noise")
1241 return 0
1244 return 0
1242 name1 = 'minHei'
1245 name1 = 'minHei'
1243 name2 = 'maxHei'
1246 name2 = 'maxHei'
1244 opObj.addParameter(name=name1, value=value1, format=format)
1247 opObj.addParameter(name=name1, value=value1, format=format)
1245 opObj.addParameter(name=name2, value=value2, format=format)
1248 opObj.addParameter(name=name2, value=value2, format=format)
1246
1249
1247 elif length == 3:
1250 elif length == 3:
1248 try:
1251 try:
1249 value1 = float(valueList[0])
1252 value1 = float(valueList[0])
1250 value2 = float(valueList[1])
1253 value2 = float(valueList[1])
1251 value3 = float(valueList[2])
1254 value3 = float(valueList[2])
1252 except:
1255 except:
1253 self.console.clear()
1256 self.console.clear()
1254 self.console.append("Please Write corrects parameter Get Noise")
1257 self.console.append("Please Write corrects parameter Get Noise")
1255 return 0
1258 return 0
1256 name1 = 'minHei'
1259 name1 = 'minHei'
1257 name2 = 'maxHei'
1260 name2 = 'maxHei'
1258 name3 = 'minVel'
1261 name3 = 'minVel'
1259 opObj.addParameter(name=name1, value=value1, format=format)
1262 opObj.addParameter(name=name1, value=value1, format=format)
1260 opObj.addParameter(name=name2, value=value2, format=format)
1263 opObj.addParameter(name=name2, value=value2, format=format)
1261 opObj.addParameter(name=name3, value=value3, format=format)
1264 opObj.addParameter(name=name3, value=value3, format=format)
1262
1265
1263 elif length == 4:
1266 elif length == 4:
1264 try:
1267 try:
1265 value1 = float(valueList[0])
1268 value1 = float(valueList[0])
1266 value2 = float(valueList[1])
1269 value2 = float(valueList[1])
1267 value3 = float(valueList[2])
1270 value3 = float(valueList[2])
1268 value4 = float(valueList[3])
1271 value4 = float(valueList[3])
1269 except:
1272 except:
1270 self.console.clear()
1273 self.console.clear()
1271 self.console.append("Please Write corrects parameter Get Noise")
1274 self.console.append("Please Write corrects parameter Get Noise")
1272 return 0
1275 return 0
1273 name1 = 'minHei'
1276 name1 = 'minHei'
1274 name2 = 'maxHei'
1277 name2 = 'maxHei'
1275 name3 = 'minVel'
1278 name3 = 'minVel'
1276 name4 = 'maxVel'
1279 name4 = 'maxVel'
1277 opObj.addParameter(name=name1, value=value1, format=format)
1280 opObj.addParameter(name=name1, value=value1, format=format)
1278 opObj.addParameter(name=name2, value=value2, format=format)
1281 opObj.addParameter(name=name2, value=value2, format=format)
1279 opObj.addParameter(name=name3, value=value3, format=format)
1282 opObj.addParameter(name=name3, value=value3, format=format)
1280 opObj.addParameter(name=name4, value=value4, format=format)
1283 opObj.addParameter(name=name4, value=value4, format=format)
1281
1284
1282 elif length > 4:
1285 elif length > 4:
1283 self.console.clear()
1286 self.console.clear()
1284 self.console.append("Get Noise Operation only accepts 4 parameters")
1287 self.console.append("Get Noise Operation only accepts 4 parameters")
1285 return 0
1288 return 0
1286
1289
1287 #-----Spectra Plot-----
1290 #-----Spectra Plot-----
1288 if self.specGraphCebSpectraplot.isChecked():
1291 if self.specGraphCebSpectraplot.isChecked():
1289 name_operation = 'SpectraPlot'
1292 name_operation = 'SpectraPlot'
1290 optype = 'other'
1293 optype = 'other'
1291 name_parameter = 'type'
1294 name_parameter = 'type'
1292 value = 'SpectraPlot'
1295 value = 'SpectraPlot'
1293 format = 'str'
1296 format = 'str'
1294 if self.idImagspectra == 0:
1297 if self.idImagspectra == 0:
1295 self.idImagspectra = 200
1298 self.idImagspectra = 200
1296 else:
1299 else:
1297 self.idImagspectra = self.idImagspectra + 1
1300 self.idImagspectra = self.idImagspectra + 1
1298 name_parameter1 = 'id'
1301 name_parameter1 = 'id'
1299 value1 = int(self.idImagspectra)
1302 value1 = int(self.idImagspectra)
1300 format1 = 'int'
1303 format1 = 'int'
1301
1304
1302 format = 'str'
1305 format = 'str'
1303
1306
1304 channelList = self.specGgraphChannelList.text()
1307 channelList = self.specGgraphChannelList.text()
1305 xvalue = self.specGgraphFreq.text()
1308 xvalue = self.specGgraphFreq.text()
1306 yvalue = self.specGgraphHeight.text()
1309 yvalue = self.specGgraphHeight.text()
1307 zvalue = self.specGgraphDbsrange.text()
1310 zvalue = self.specGgraphDbsrange.text()
1308 opObj = puObj.addOperation(name=name_operation, optype=optype)
1311 opObj = puObj.addOperation(name=name_operation, optype=optype)
1309 # opObj.addParameter(name=name_parameter, value=value, format=format)
1312 # opObj.addParameter(name=name_parameter, value=value, format=format)
1310 opObj.addParameter(name=name_parameter1, value=value1, format=format1)
1313 opObj.addParameter(name=name_parameter1, value=value1, format=format1)
1311
1314
1312 if not channelList == '':
1315 if not channelList == '':
1313 name_parameter = 'channelList'
1316 name_parameter = 'channelList'
1314 format = 'intlist'
1317 format = 'intlist'
1315 opObj.addParameter(name=name_parameter, value=channelList, format=format)
1318 opObj.addParameter(name=name_parameter, value=channelList, format=format)
1316
1319
1317 if not xvalue == '':
1320 if not xvalue == '':
1318 xvalueList = xvalue.split(',')
1321 xvalueList = xvalue.split(',')
1319 try:
1322 try:
1320 value1 = float(xvalueList[0])
1323 value1 = float(xvalueList[0])
1321 value2 = float(xvalueList[1])
1324 value2 = float(xvalueList[1])
1322 except:
1325 except:
1323 self.console.clear()
1326 self.console.clear()
1324 self.console.append("Please Write corrects parameter freq")
1327 self.console.append("Please Write corrects parameter freq")
1325 return 0
1328 return 0
1326 name1 = 'xmin'
1329 name1 = 'xmin'
1327 name2 = 'xmax'
1330 name2 = 'xmax'
1328 format = 'float'
1331 format = 'float'
1329 opObj.addParameter(name=name1, value=value1, format=format)
1332 opObj.addParameter(name=name1, value=value1, format=format)
1330 opObj.addParameter(name=name2, value=value2, format=format)
1333 opObj.addParameter(name=name2, value=value2, format=format)
1331 #------specGgraphHeight---
1334 #------specGgraphHeight---
1332 if not yvalue == '':
1335 if not yvalue == '':
1333 yvalueList = yvalue.split(",")
1336 yvalueList = yvalue.split(",")
1334 try:
1337 try:
1335 value1 = float(yvalueList[0])
1338 value1 = float(yvalueList[0])
1336 value2 = float(yvalueList[1])
1339 value2 = float(yvalueList[1])
1337 except:
1340 except:
1338 self.console.clear()
1341 self.console.clear()
1339 self.console.append("Please Write corrects parameter Height")
1342 self.console.append("Please Write corrects parameter Height")
1340 return 0
1343 return 0
1341 name1 = 'ymin'
1344 name1 = 'ymin'
1342 name2 = 'ymax'
1345 name2 = 'ymax'
1343 format = 'float'
1346 format = 'float'
1344 opObj.addParameter(name=name1, value=value1, format=format)
1347 opObj.addParameter(name=name1, value=value1, format=format)
1345 opObj.addParameter(name=name2, value=value2, format=format)
1348 opObj.addParameter(name=name2, value=value2, format=format)
1346
1349
1347 if not zvalue == '':
1350 if not zvalue == '':
1348 zvalueList = zvalue.split(",")
1351 zvalueList = zvalue.split(",")
1349 try:
1352 try:
1350 value = float(zvalueList[0])
1353 value = float(zvalueList[0])
1351 value = float(zvalueList[1])
1354 value = float(zvalueList[1])
1352 except:
1355 except:
1353 self.console.clear()
1356 self.console.clear()
1354 self.console.append("Please Write corrects parameter Dbsrange")
1357 self.console.append("Please Write corrects parameter Dbsrange")
1355 return 0
1358 return 0
1356 format = 'float'
1359 format = 'float'
1357 opObj.addParameter(name='zmin', value=zvalueList[0], format=format)
1360 opObj.addParameter(name='zmin', value=zvalueList[0], format=format)
1358 opObj.addParameter(name='zmax', value=zvalueList[1], format=format)
1361 opObj.addParameter(name='zmax', value=zvalueList[1], format=format)
1359
1362
1360 if self.specGraphSaveSpectra.isChecked():
1363 if self.specGraphSaveSpectra.isChecked():
1361 checkPath = True
1364 checkPath = True
1362 name_parameter1 = 'save'
1365 name_parameter1 = 'save'
1363 name_parameter2 = 'figpath'
1366 name_parameter2 = 'figpath'
1364 name_parameter3 = 'figfile'
1367 name_parameter3 = 'figfile'
1365 value1 = '1'
1368 value1 = '1'
1366 value2 = self.specGraphPath.text()
1369 value2 = self.specGraphPath.text()
1367 value3 = self.specGraphPrefix.text()
1370 value3 = self.specGraphPrefix.text()
1368 format1 = 'bool'
1371 format1 = 'bool'
1369 format2 = 'str'
1372 format2 = 'str'
1370 opObj.addParameter(name=name_parameter1, value=value1 , format=format1)
1373 opObj.addParameter(name=name_parameter1, value=value1 , format=format1)
1371 opObj.addParameter(name=name_parameter2, value=value2, format=format2)
1374 opObj.addParameter(name=name_parameter2, value=value2, format=format2)
1372 opObj.addParameter(name=name_parameter3, value=value3, format=format2)
1375 opObj.addParameter(name=name_parameter3, value=value3, format=format2)
1373
1376
1374 # opObj.addParameter(name='wr_period', value='5',format='int')
1377 # opObj.addParameter(name='wr_period', value='5',format='int')
1375
1378
1376 if self.specGraphftpSpectra.isChecked():
1379 if self.specGraphftpSpectra.isChecked():
1377 opObj.addParameter(name='ftp', value='1', format='int')
1380 opObj.addParameter(name='ftp', value='1', format='int')
1378 self.addFTPConf2Operation(puObj, opObj)
1381 self.addFTPConf2Operation(puObj, opObj)
1379 addFTP = True
1382 addFTP = True
1380
1383
1381 if self.specGraphCebCrossSpectraplot.isChecked():
1384 if self.specGraphCebCrossSpectraplot.isChecked():
1382 name_operation = 'CrossSpectraPlot'
1385 name_operation = 'CrossSpectraPlot'
1383 optype = 'other'
1386 optype = 'other'
1384 opObj = puObj.addOperation(name=name_operation, optype=optype)
1387 opObj = puObj.addOperation(name=name_operation, optype=optype)
1385 # opObj.addParameter(name='type', value="CrossSpectraPlot", format='str')
1388 # opObj.addParameter(name='type', value="CrossSpectraPlot", format='str')
1386 opObj.addParameter(name='power_cmap', value='jet', format='str')
1389 opObj.addParameter(name='power_cmap', value='jet', format='str')
1387 opObj.addParameter(name='coherence_cmap', value='jet', format='str')
1390 opObj.addParameter(name='coherence_cmap', value='jet', format='str')
1388 opObj.addParameter(name='phase_cmap', value='RdBu_r', format='str')
1391 opObj.addParameter(name='phase_cmap', value='RdBu_r', format='str')
1389
1392
1390 if self.idImagcross == 0:
1393 if self.idImagcross == 0:
1391 self.idImagcross = 300
1394 self.idImagcross = 300
1392 else:
1395 else:
1393 self.idImagcross = self.idImagcross + 1
1396 self.idImagcross = self.idImagcross + 1
1394 value1 = int(self.idImagcross)
1397 value1 = int(self.idImagcross)
1395 channelList = self.specGgraphChannelList.text()
1398 channelList = self.specGgraphChannelList.text()
1396 xvalue = self.specGgraphFreq.text()
1399 xvalue = self.specGgraphFreq.text()
1397 yvalue = self.specGgraphHeight.text()
1400 yvalue = self.specGgraphHeight.text()
1398 zvalue = self.specGgraphDbsrange.text()
1401 zvalue = self.specGgraphDbsrange.text()
1399
1402
1400 opObj.addParameter(name='id', value=value1, format='int')
1403 opObj.addParameter(name='id', value=value1, format='int')
1401
1404
1402 if self.specGgraphChannelList.isModified():
1405 if self.specGgraphChannelList.isModified():
1403 opObj.addParameter(name='channelList', value=channelList, format='intlist')
1406 opObj.addParameter(name='channelList', value=channelList, format='intlist')
1404
1407
1405 if not xvalue == '':
1408 if not xvalue == '':
1406 xvalueList = xvalue.split(',')
1409 xvalueList = xvalue.split(',')
1407 try:
1410 try:
1408 value = float(xvalueList[0])
1411 value = float(xvalueList[0])
1409 value = float(xvalueList[1])
1412 value = float(xvalueList[1])
1410 except:
1413 except:
1411 return 0
1414 return 0
1412 format = 'float'
1415 format = 'float'
1413 opObj.addParameter(name='xmin', value=xvalueList[0], format=format)
1416 opObj.addParameter(name='xmin', value=xvalueList[0], format=format)
1414 opObj.addParameter(name='xmax', value=xvalueList[1], format=format)
1417 opObj.addParameter(name='xmax', value=xvalueList[1], format=format)
1415
1418
1416 if not yvalue == '':
1419 if not yvalue == '':
1417 yvalueList = yvalue.split(",")
1420 yvalueList = yvalue.split(",")
1418 try:
1421 try:
1419 value = float(yvalueList[0])
1422 value = float(yvalueList[0])
1420 value = float(yvalueList[1])
1423 value = float(yvalueList[1])
1421 except:
1424 except:
1422 return 0
1425 return 0
1423 format = 'float'
1426 format = 'float'
1424 opObj.addParameter(name='ymin', value=yvalueList[0], format=format)
1427 opObj.addParameter(name='ymin', value=yvalueList[0], format=format)
1425 opObj.addParameter(name='ymax', value=yvalueList[1], format=format)
1428 opObj.addParameter(name='ymax', value=yvalueList[1], format=format)
1426
1429
1427
1430
1428 if not zvalue == '':
1431 if not zvalue == '':
1429 zvalueList = zvalue.split(",")
1432 zvalueList = zvalue.split(",")
1430 try:
1433 try:
1431 value = float(zvalueList[0])
1434 value = float(zvalueList[0])
1432 value = float(zvalueList[1])
1435 value = float(zvalueList[1])
1433 except:
1436 except:
1434 return 0
1437 return 0
1435 opObj.addParameter(name='zmin', value=zvalueList[0], format='float')
1438 opObj.addParameter(name='zmin', value=zvalueList[0], format='float')
1436 opObj.addParameter(name='zmax', value=zvalueList[1], format='float')
1439 opObj.addParameter(name='zmax', value=zvalueList[1], format='float')
1437
1440
1438 if self.specGraphSaveCross.isChecked():
1441 if self.specGraphSaveCross.isChecked():
1439 checkPath = True
1442 checkPath = True
1440 opObj.addParameter(name='save', value='1', format='bool')
1443 opObj.addParameter(name='save', value='1', format='bool')
1441 opObj.addParameter(name='figpath', value=self.specGraphPath.text(), format='str')
1444 opObj.addParameter(name='figpath', value=self.specGraphPath.text(), format='str')
1442 value = self.specGraphPrefix.text()
1445 value = self.specGraphPrefix.text()
1443 if not value == "":
1446 if not value == "":
1444 try:
1447 try:
1445 value = str(self.specGraphPrefix.text())
1448 value = str(self.specGraphPrefix.text())
1446 except:
1449 except:
1447 self.console.clear()
1450 self.console.clear()
1448 self.console.append("Please Write prefix")
1451 self.console.append("Please Write prefix")
1449 return 0
1452 return 0
1450 opObj.addParameter(name='figfile', value=value, format='str')
1453 opObj.addParameter(name='figfile', value=value, format='str')
1451 # opObj.addParameter(name='figfile', value=self.specGraphPrefix.text(), format='str')
1454 # opObj.addParameter(name='figfile', value=self.specGraphPrefix.text(), format='str')
1452 if self.specGraphftpCross.isChecked():
1455 if self.specGraphftpCross.isChecked():
1453 opObj.addParameter(name='ftp', value='1', format='int')
1456 opObj.addParameter(name='ftp', value='1', format='int')
1454 self.addFTPConf2Operation(puObj, opObj)
1457 self.addFTPConf2Operation(puObj, opObj)
1455 addFTP = True
1458 addFTP = True
1456
1459
1457 if self.specGraphCebRTIplot.isChecked():
1460 if self.specGraphCebRTIplot.isChecked():
1458 name_operation = 'RTIPlot'
1461 name_operation = 'RTIPlot'
1459 optype = 'other'
1462 optype = 'other'
1460 name_parameter = 'type'
1463 name_parameter = 'type'
1461 value = 'RTIPlot'
1464 value = 'RTIPlot'
1462 format = 'str'
1465 format = 'str'
1463
1466
1464 if self.idImagrti == 0:
1467 if self.idImagrti == 0:
1465 self.idImagrti = 400
1468 self.idImagrti = 400
1466 else:
1469 else:
1467 self.idImagrti = self.idImagrti + 1
1470 self.idImagrti = self.idImagrti + 1
1468
1471
1469 name_parameter1 = 'id'
1472 name_parameter1 = 'id'
1470 value1 = int(self.idImagrti)
1473 value1 = int(self.idImagrti)
1471 format1 = 'int'
1474 format1 = 'int'
1472
1475
1473 format = 'str'
1476 format = 'str'
1474
1477
1475 opObj = puObj.addOperation(name=name_operation, optype=optype)
1478 opObj = puObj.addOperation(name=name_operation, optype=optype)
1476 # opObj.addParameter(name=name_parameter, value=value, format=format)
1479 # opObj.addParameter(name=name_parameter, value=value, format=format)
1477 opObj.addParameter(name=name_parameter1, value=value1, format=format1)
1480 opObj.addParameter(name=name_parameter1, value=value1, format=format1)
1478
1481
1479 channelList = self.specGgraphChannelList.text()
1482 channelList = self.specGgraphChannelList.text()
1480 xvalue = self.specGgraphTminTmax.text()
1483 xvalue = self.specGgraphTminTmax.text()
1481 yvalue = self.specGgraphHeight.text()
1484 yvalue = self.specGgraphHeight.text()
1482 zvalue = self.specGgraphDbsrange.text()
1485 zvalue = self.specGgraphDbsrange.text()
1483 timerange = self.specGgraphTimeRange.text()
1486 timerange = self.specGgraphTimeRange.text()
1484
1487
1485 if not channelList == '':
1488 if not channelList == '':
1486 opObj.addParameter(name='channelList', value=channelList, format='intlist')
1489 opObj.addParameter(name='channelList', value=channelList, format='intlist')
1487
1490
1488 if not xvalue == '':
1491 if not xvalue == '':
1489 xvalueList = xvalue.split(',')
1492 xvalueList = xvalue.split(',')
1490 try:
1493 try:
1491 value = float(xvalueList[0])
1494 value = float(xvalueList[0])
1492 value = float(xvalueList[1])
1495 value = float(xvalueList[1])
1493 except:
1496 except:
1494 return 0
1497 return 0
1495 format = 'float'
1498 format = 'float'
1496 opObj.addParameter(name='xmin', value=xvalueList[0], format=format)
1499 opObj.addParameter(name='xmin', value=xvalueList[0], format=format)
1497 opObj.addParameter(name='xmax', value=xvalueList[1], format=format)
1500 opObj.addParameter(name='xmax', value=xvalueList[1], format=format)
1498
1501
1499 if not timerange == '':
1502 if not timerange == '':
1500 format = 'int'
1503 format = 'int'
1501 try:
1504 try:
1502 timerange = int(timerange)
1505 timerange = int(timerange)
1503 except:
1506 except:
1504 return 0
1507 return 0
1505 opObj.addParameter(name='timerange', value=timerange, format=format)
1508 opObj.addParameter(name='timerange', value=timerange, format=format)
1506
1509
1507
1510
1508 if not yvalue == '':
1511 if not yvalue == '':
1509 yvalueList = yvalue.split(",")
1512 yvalueList = yvalue.split(",")
1510 try:
1513 try:
1511 value = float(yvalueList[0])
1514 value = float(yvalueList[0])
1512 value = float(yvalueList[1])
1515 value = float(yvalueList[1])
1513 except:
1516 except:
1514 return 0
1517 return 0
1515 format = 'float'
1518 format = 'float'
1516 opObj.addParameter(name='ymin', value=yvalueList[0], format=format)
1519 opObj.addParameter(name='ymin', value=yvalueList[0], format=format)
1517 opObj.addParameter(name='ymax', value=yvalueList[1], format=format)
1520 opObj.addParameter(name='ymax', value=yvalueList[1], format=format)
1518
1521
1519 if not zvalue == '':
1522 if not zvalue == '':
1520 zvalueList = zvalue.split(",")
1523 zvalueList = zvalue.split(",")
1521 try:
1524 try:
1522 value = float(zvalueList[0])
1525 value = float(zvalueList[0])
1523 value = float(zvalueList[1])
1526 value = float(zvalueList[1])
1524 except:
1527 except:
1525 return 0
1528 return 0
1526 format = 'float'
1529 format = 'float'
1527 opObj.addParameter(name='zmin', value=zvalueList[0], format=format)
1530 opObj.addParameter(name='zmin', value=zvalueList[0], format=format)
1528 opObj.addParameter(name='zmax', value=zvalueList[1], format=format)
1531 opObj.addParameter(name='zmax', value=zvalueList[1], format=format)
1529
1532
1530 if self.specGraphSaveRTIplot.isChecked():
1533 if self.specGraphSaveRTIplot.isChecked():
1531 checkPath = True
1534 checkPath = True
1532 opObj.addParameter(name='save', value='1', format='bool')
1535 opObj.addParameter(name='save', value='1', format='bool')
1533 opObj.addParameter(name='figpath', value=self.specGraphPath.text(), format='str')
1536 opObj.addParameter(name='figpath', value=self.specGraphPath.text(), format='str')
1534 value = self.specGraphPrefix.text()
1537 value = self.specGraphPrefix.text()
1535 if not value == "":
1538 if not value == "":
1536 try:
1539 try:
1537 value = str(self.specGraphPrefix.text())
1540 value = str(self.specGraphPrefix.text())
1538 except:
1541 except:
1539 self.console.clear()
1542 self.console.clear()
1540 self.console.append("Please Write prefix")
1543 self.console.append("Please Write prefix")
1541 return 0
1544 return 0
1542 opObj.addParameter(name='figfile', value=value, format='str')
1545 opObj.addParameter(name='figfile', value=value, format='str')
1543
1546
1544 # test_ftp
1547 # test_ftp
1545 if self.specGraphftpRTIplot.isChecked():
1548 if self.specGraphftpRTIplot.isChecked():
1546 opObj.addParameter(name='ftp', value='1', format='int')
1549 opObj.addParameter(name='ftp', value='1', format='int')
1547 self.addFTPConf2Operation(puObj, opObj)
1550 self.addFTPConf2Operation(puObj, opObj)
1548 addFTP = True
1551 addFTP = True
1549
1552
1550 if self.specGraphCebCoherencmap.isChecked():
1553 if self.specGraphCebCoherencmap.isChecked():
1551 name_operation = 'CoherenceMap'
1554 name_operation = 'CoherenceMap'
1552 optype = 'other'
1555 optype = 'other'
1553 name_parameter = 'type'
1556 name_parameter = 'type'
1554 value = 'CoherenceMap'
1557 value = 'CoherenceMap'
1555 format = 'str'
1558 format = 'str'
1556 if self.idImagcoherence == 0:
1559 if self.idImagcoherence == 0:
1557 self.idImagcoherence = 500
1560 self.idImagcoherence = 500
1558 else:
1561 else:
1559 self.idImagcoherence = self.idImagcoherence + 1
1562 self.idImagcoherence = self.idImagcoherence + 1
1560
1563
1561 name_parameter1 = 'id'
1564 name_parameter1 = 'id'
1562 value1 = int(self.idImagcoherence)
1565 value1 = int(self.idImagcoherence)
1563 format1 = 'int'
1566 format1 = 'int'
1564
1567
1565 opObj = puObj.addOperation(name=name_operation, optype=optype)
1568 opObj = puObj.addOperation(name=name_operation, optype=optype)
1566 # opObj.addParameter(name=name_parameter, value=value, format=format)
1569 # opObj.addParameter(name=name_parameter, value=value, format=format)
1567 # opObj.addParameter(name='coherence_cmap', value='jet', format='str')
1570 # opObj.addParameter(name='coherence_cmap', value='jet', format='str')
1568 # opObj.addParameter(name='phase_cmap', value='RdBu_r', format='str')
1571 # opObj.addParameter(name='phase_cmap', value='RdBu_r', format='str')
1569 opObj.addParameter(name=name_parameter1, value=value1, format=format1)
1572 opObj.addParameter(name=name_parameter1, value=value1, format=format1)
1570
1573
1571 channelList = self.specGgraphChannelList.text()
1574 channelList = self.specGgraphChannelList.text()
1572 if not channelList == '':
1575 if not channelList == '':
1573 opObj.addParameter(name='channelList', value=channelList, format='intlist')
1576 opObj.addParameter(name='channelList', value=channelList, format='intlist')
1574
1577
1575 timerange = self.specGgraphTimeRange.text()
1578 timerange = self.specGgraphTimeRange.text()
1576 if not timerange == '':
1579 if not timerange == '':
1577 try:
1580 try:
1578 timerange = int(timerange)
1581 timerange = int(timerange)
1579 except:
1582 except:
1580 return 0
1583 return 0
1581 format = 'int'
1584 format = 'int'
1582 opObj.addParameter(name='timerange', value=timerange, format=format)
1585 opObj.addParameter(name='timerange', value=timerange, format=format)
1583
1586
1584 xvalue = self.specGgraphTminTmax.text()
1587 xvalue = self.specGgraphTminTmax.text()
1585 if not xvalue == '':
1588 if not xvalue == '':
1586 xvalueList = xvalue.split(',')
1589 xvalueList = xvalue.split(',')
1587 try:
1590 try:
1588 value = float(xvalueList[0])
1591 value = float(xvalueList[0])
1589 value = float(xvalueList[1])
1592 value = float(xvalueList[1])
1590 except:
1593 except:
1591 return 0
1594 return 0
1592 format = 'float'
1595 format = 'float'
1593 opObj.addParameter(name='xmin', value=xvalueList[0], format=format)
1596 opObj.addParameter(name='xmin', value=xvalueList[0], format=format)
1594 opObj.addParameter(name='xmax', value=xvalueList[1], format=format)
1597 opObj.addParameter(name='xmax', value=xvalueList[1], format=format)
1595
1598
1596 yvalue = self.specGgraphHeight.text()
1599 yvalue = self.specGgraphHeight.text()
1597 if not yvalue == '':
1600 if not yvalue == '':
1598 yvalueList = yvalue.split(",")
1601 yvalueList = yvalue.split(",")
1599 try:
1602 try:
1600 value = float(yvalueList[0])
1603 value = float(yvalueList[0])
1601 value = float(yvalueList[1])
1604 value = float(yvalueList[1])
1602 except:
1605 except:
1603 return 0
1606 return 0
1604 format = 'float'
1607 format = 'float'
1605 opObj.addParameter(name='ymin', value=yvalueList[0], format=format)
1608 opObj.addParameter(name='ymin', value=yvalueList[0], format=format)
1606 opObj.addParameter(name='ymax', value=yvalueList[1], format=format)
1609 opObj.addParameter(name='ymax', value=yvalueList[1], format=format)
1607
1610
1608 zvalue = self.specGgraphmagnitud.text()
1611 zvalue = self.specGgraphmagnitud.text()
1609 if not zvalue == '':
1612 if not zvalue == '':
1610 zvalueList = zvalue.split(",")
1613 zvalueList = zvalue.split(",")
1611 try:
1614 try:
1612 value = float(zvalueList[0])
1615 value = float(zvalueList[0])
1613 value = float(zvalueList[1])
1616 value = float(zvalueList[1])
1614 except:
1617 except:
1615 return 0
1618 return 0
1616 opObj.addParameter(name='zmin', value=zvalueList[0], format='float')
1619 opObj.addParameter(name='zmin', value=zvalueList[0], format='float')
1617 opObj.addParameter(name='zmax', value=zvalueList[1], format='float')
1620 opObj.addParameter(name='zmax', value=zvalueList[1], format='float')
1618
1621
1619 if self.specGraphSaveCoherencemap.isChecked():
1622 if self.specGraphSaveCoherencemap.isChecked():
1620 checkPath = True
1623 checkPath = True
1621 opObj.addParameter(name='save', value='1', format='bool')
1624 opObj.addParameter(name='save', value='1', format='bool')
1622 opObj.addParameter(name='figpath', value=self.specGraphPath.text(), format='str')
1625 opObj.addParameter(name='figpath', value=self.specGraphPath.text(), format='str')
1623 value = self.specGraphPrefix.text()
1626 value = self.specGraphPrefix.text()
1624 if not value == "":
1627 if not value == "":
1625 try:
1628 try:
1626 value = str(self.specGraphPrefix.text())
1629 value = str(self.specGraphPrefix.text())
1627 except:
1630 except:
1628 self.console.clear()
1631 self.console.clear()
1629 self.console.append("Please Write prefix")
1632 self.console.append("Please Write prefix")
1630 return 0
1633 return 0
1631 opObj.addParameter(name='figfile', value=value, format='str')
1634 opObj.addParameter(name='figfile', value=value, format='str')
1632
1635
1633 # test_ftp
1636 # test_ftp
1634 if self.specGraphftpCoherencemap.isChecked():
1637 if self.specGraphftpCoherencemap.isChecked():
1635 opObj.addParameter(name='ftp', value='1', format='int')
1638 opObj.addParameter(name='ftp', value='1', format='int')
1636 self.addFTPConf2Operation(puObj, opObj)
1639 self.addFTPConf2Operation(puObj, opObj)
1637 addFTP = True
1640 addFTP = True
1638
1641
1639 if self.specGraphPowerprofile.isChecked():
1642 if self.specGraphPowerprofile.isChecked():
1640 name_operation = 'PowerProfilePlot'
1643 name_operation = 'PowerProfilePlot'
1641 optype = 'other'
1644 optype = 'other'
1642 name_parameter = 'type'
1645 name_parameter = 'type'
1643 value = 'PowerProfilePlot'
1646 value = 'PowerProfilePlot'
1644 format = 'str'
1647 format = 'str'
1645
1648
1646 if self.idImagpower == 0:
1649 if self.idImagpower == 0:
1647 self.idImagpower = 600
1650 self.idImagpower = 600
1648 else:
1651 else:
1649 self.idImagpower = self.idImagpower + 1
1652 self.idImagpower = self.idImagpower + 1
1650 value1 = int(self.idImagpower)
1653 value1 = int(self.idImagpower)
1651 opObj = puObj.addOperation(name=name_operation, optype=optype)
1654 opObj = puObj.addOperation(name=name_operation, optype=optype)
1652 # opObj.addParameter(name=name_parameter, value=value, format='str')
1655 # opObj.addParameter(name=name_parameter, value=value, format='str')
1653 opObj.addParameter(name='id', value=value1, format='int')
1656 opObj.addParameter(name='id', value=value1, format='int')
1654
1657
1655 channelList = self.specGgraphChannelList.text()
1658 channelList = self.specGgraphChannelList.text()
1656 if not channelList == '':
1659 if not channelList == '':
1657 opObj.addParameter(name='channelList', value=channelList, format='intlist')
1660 opObj.addParameter(name='channelList', value=channelList, format='intlist')
1658
1661
1659 xvalue = self.specGgraphDbsrange.text()
1662 xvalue = self.specGgraphDbsrange.text()
1660 if not xvalue == '':
1663 if not xvalue == '':
1661 xvalueList = xvalue.split(',')
1664 xvalueList = xvalue.split(',')
1662 try:
1665 try:
1663 value = float(xvalueList[0])
1666 value = float(xvalueList[0])
1664 value = float(xvalueList[1])
1667 value = float(xvalueList[1])
1665 except:
1668 except:
1666 return 0
1669 return 0
1667 format = 'float'
1670 format = 'float'
1668 opObj.addParameter(name='xmin', value=xvalueList[0], format=format)
1671 opObj.addParameter(name='xmin', value=xvalueList[0], format=format)
1669 opObj.addParameter(name='xmax', value=xvalueList[1], format=format)
1672 opObj.addParameter(name='xmax', value=xvalueList[1], format=format)
1670
1673
1671 yvalue = self.specGgraphHeight.text()
1674 yvalue = self.specGgraphHeight.text()
1672 if not yvalue == '':
1675 if not yvalue == '':
1673 yvalueList = yvalue.split(",")
1676 yvalueList = yvalue.split(",")
1674 try:
1677 try:
1675 value = float(yvalueList[0])
1678 value = float(yvalueList[0])
1676 value = float(yvalueList[1])
1679 value = float(yvalueList[1])
1677 except:
1680 except:
1678 return 0
1681 return 0
1679 format = 'float'
1682 format = 'float'
1680 opObj.addParameter(name='ymin', value=yvalueList[0], format=format)
1683 opObj.addParameter(name='ymin', value=yvalueList[0], format=format)
1681 opObj.addParameter(name='ymax', value=yvalueList[1], format=format)
1684 opObj.addParameter(name='ymax', value=yvalueList[1], format=format)
1682
1685
1683
1686
1684 if self.specGraphSavePowerprofile.isChecked():
1687 if self.specGraphSavePowerprofile.isChecked():
1685 checkPath = True
1688 checkPath = True
1686 opObj.addParameter(name='save', value='1', format='bool')
1689 opObj.addParameter(name='save', value='1', format='bool')
1687 opObj.addParameter(name='figpath', value=self.specGraphPath.text(), format='str')
1690 opObj.addParameter(name='figpath', value=self.specGraphPath.text(), format='str')
1688 value = self.specGraphPrefix.text()
1691 value = self.specGraphPrefix.text()
1689 if not value == "":
1692 if not value == "":
1690 try:
1693 try:
1691 value = str(self.specGraphPrefix.text())
1694 value = str(self.specGraphPrefix.text())
1692 except:
1695 except:
1693 self.console.clear()
1696 self.console.clear()
1694 self.console.append("Please Write prefix")
1697 self.console.append("Please Write prefix")
1695 return 0
1698 return 0
1696 opObj.addParameter(name='figfile', value=value, format='str')
1699 opObj.addParameter(name='figfile', value=value, format='str')
1697
1700
1698
1701
1699 if self.specGraphftpPowerprofile.isChecked():
1702 if self.specGraphftpPowerprofile.isChecked():
1700 opObj.addParameter(name='ftp', value='1', format='int')
1703 opObj.addParameter(name='ftp', value='1', format='int')
1701 self.addFTPConf2Operation(puObj, opObj)
1704 self.addFTPConf2Operation(puObj, opObj)
1702 addFTP = True
1705 addFTP = True
1703 # rti noise
1706 # rti noise
1704
1707
1705 if self.specGraphCebRTInoise.isChecked():
1708 if self.specGraphCebRTInoise.isChecked():
1706 name_operation = 'Noise'
1709 name_operation = 'Noise'
1707 optype = 'other'
1710 optype = 'other'
1708 name_parameter = 'type'
1711 name_parameter = 'type'
1709 value = 'Noise'
1712 value = 'Noise'
1710 format = 'str'
1713 format = 'str'
1711
1714
1712 if self.idImagrtinoise == 0:
1715 if self.idImagrtinoise == 0:
1713 self.idImagrtinoise = 700
1716 self.idImagrtinoise = 700
1714 else:
1717 else:
1715 self.idImagrtinoise = self.idImagrtinoise + 1
1718 self.idImagrtinoise = self.idImagrtinoise + 1
1716
1719
1717 name_parameter1 = 'id'
1720 name_parameter1 = 'id'
1718 value1 = int(self.idImagrtinoise)
1721 value1 = int(self.idImagrtinoise)
1719 format1 = 'int'
1722 format1 = 'int'
1720 format = 'str'
1723 format = 'str'
1721
1724
1722 opObj = puObj.addOperation(name=name_operation, optype=optype)
1725 opObj = puObj.addOperation(name=name_operation, optype=optype)
1723 # opObj.addParameter(name=name_parameter, value=value, format=format)
1726 # opObj.addParameter(name=name_parameter, value=value, format=format)
1724 opObj.addParameter(name=name_parameter1, value=value1, format=format1)
1727 opObj.addParameter(name=name_parameter1, value=value1, format=format1)
1725
1728
1726 channelList = self.specGgraphChannelList.text()
1729 channelList = self.specGgraphChannelList.text()
1727 xvalue = self.specGgraphTminTmax.text()
1730 xvalue = self.specGgraphTminTmax.text()
1728 yvalue = self.specGgraphDbsrange.text()
1731 yvalue = self.specGgraphDbsrange.text()
1729 timerange = self.specGgraphTimeRange.text()
1732 timerange = self.specGgraphTimeRange.text()
1730
1733
1731
1734
1732 if not channelList == '':
1735 if not channelList == '':
1733 opObj.addParameter(name='channelList', value=channelList, format='intlist')
1736 opObj.addParameter(name='channelList', value=channelList, format='intlist')
1734
1737
1735 if not timerange == '':
1738 if not timerange == '':
1736 format = 'int'
1739 format = 'int'
1737 try:
1740 try:
1738 timerange = int(timerange)
1741 timerange = int(timerange)
1739 except:
1742 except:
1740 return 0
1743 return 0
1741 opObj.addParameter(name='timerange', value=timerange, format=format)
1744 opObj.addParameter(name='timerange', value=timerange, format=format)
1742
1745
1743 if not xvalue == '':
1746 if not xvalue == '':
1744 xvalueList = xvalue.split(',')
1747 xvalueList = xvalue.split(',')
1745 try:
1748 try:
1746 value = float(xvalueList[0])
1749 value = float(xvalueList[0])
1747 value = float(xvalueList[1])
1750 value = float(xvalueList[1])
1748 except:
1751 except:
1749 return 0
1752 return 0
1750 format = 'float'
1753 format = 'float'
1751 opObj.addParameter(name='xmin', value=xvalueList[0], format=format)
1754 opObj.addParameter(name='xmin', value=xvalueList[0], format=format)
1752 opObj.addParameter(name='xmax', value=xvalueList[1], format=format)
1755 opObj.addParameter(name='xmax', value=xvalueList[1], format=format)
1753
1756
1754 if not yvalue == '':
1757 if not yvalue == '':
1755 yvalueList = yvalue.split(",")
1758 yvalueList = yvalue.split(",")
1756 try:
1759 try:
1757 value = float(yvalueList[0])
1760 value = float(yvalueList[0])
1758 value = float(yvalueList[1])
1761 value = float(yvalueList[1])
1759 except:
1762 except:
1760 return 0
1763 return 0
1761 format = 'float'
1764 format = 'float'
1762 opObj.addParameter(name='ymin', value=yvalueList[0], format=format)
1765 opObj.addParameter(name='ymin', value=yvalueList[0], format=format)
1763 opObj.addParameter(name='ymax', value=yvalueList[1], format=format)
1766 opObj.addParameter(name='ymax', value=yvalueList[1], format=format)
1764
1767
1765 if self.specGraphSaveRTInoise.isChecked():
1768 if self.specGraphSaveRTInoise.isChecked():
1766 checkPath = True
1769 checkPath = True
1767 opObj.addParameter(name='save', value='1', format='bool')
1770 opObj.addParameter(name='save', value='1', format='bool')
1768 opObj.addParameter(name='figpath', value=self.specGraphPath.text(), format='str')
1771 opObj.addParameter(name='figpath', value=self.specGraphPath.text(), format='str')
1769 value = self.specGraphPrefix.text()
1772 value = self.specGraphPrefix.text()
1770 if not value == "":
1773 if not value == "":
1771 try:
1774 try:
1772 value = str(self.specGraphPrefix.text())
1775 value = str(self.specGraphPrefix.text())
1773 except:
1776 except:
1774 self.console.clear()
1777 self.console.clear()
1775 self.console.append("Please Write prefix")
1778 self.console.append("Please Write prefix")
1776 return 0
1779 return 0
1777 opObj.addParameter(name='figfile', value=value, format='str')
1780 opObj.addParameter(name='figfile', value=value, format='str')
1778
1781
1779 # test_ftp
1782 # test_ftp
1780 if self.specGraphftpRTInoise.isChecked():
1783 if self.specGraphftpRTInoise.isChecked():
1781 opObj.addParameter(name='ftp', value='1', format='int')
1784 opObj.addParameter(name='ftp', value='1', format='int')
1782 self.addFTPConf2Operation(puObj, opObj)
1785 self.addFTPConf2Operation(puObj, opObj)
1783 addFTP = True
1786 addFTP = True
1784
1787
1785 localfolder = None
1788 localfolder = None
1786 if checkPath:
1789 if checkPath:
1787 localfolder = str(self.specGraphPath.text())
1790 localfolder = str(self.specGraphPath.text())
1788 if localfolder == '':
1791 if localfolder == '':
1789 self.console.clear()
1792 self.console.clear()
1790 self.console.append("Graphic path should be defined")
1793 self.console.append("Graphic path should be defined")
1791 return 0
1794 return 0
1792
1795
1793 if addFTP:
1796 if addFTP:
1794 if not localfolder:
1797 if not localfolder:
1795 self.console.clear()
1798 self.console.clear()
1796 self.console.append("You have to save the plots before sending them to FTP Server")
1799 self.console.append("You have to save the plots before sending them to FTP Server")
1797 return 0
1800 return 0
1798
1801
1802 if not self.temporalFTP.create:
1803 self.temporalFTP.setwithoutconfiguration()
1804
1799 server, remotefolder, username, password, ftp_wei, exp_code, sub_exp_code, plot_pos = self.temporalFTP.recover()
1805 server, remotefolder, username, password, ftp_wei, exp_code, sub_exp_code, plot_pos = self.temporalFTP.recover()
1800 self.createFTPProcUnitView(server, username, password, remotefolder, localfolder)
1806 self.createFTPProcUnitView(server, username, password, remotefolder,
1807 ftp_wei, exp_code, sub_exp_code, plot_pos,
1808 localfolder=localfolder)
1801 else:
1809 else:
1802 self.removeFTPProcUnitView()
1810 self.removeFTPProcUnitView()
1803
1811
1804 # if something happend
1812 # if something happend
1805 parms_ok, output_path, blocksperfile, profilesperblock = self.checkInputsPUSave(datatype='Spectra')
1813 parms_ok, output_path, blocksperfile, profilesperblock = self.checkInputsPUSave(datatype='Spectra')
1806 if parms_ok:
1814 if parms_ok:
1807 name_operation = 'SpectraWriter'
1815 name_operation = 'SpectraWriter'
1808 optype = 'other'
1816 optype = 'other'
1809 name_parameter1 = 'path'
1817 name_parameter1 = 'path'
1810 name_parameter2 = 'blocksPerFile'
1818 name_parameter2 = 'blocksPerFile'
1811 name_parameter3 = 'profilesPerBlock'
1819 name_parameter3 = 'profilesPerBlock'
1812 value1 = output_path
1820 value1 = output_path
1813 value2 = blocksperfile
1821 value2 = blocksperfile
1814 value3 = profilesperblock
1822 value3 = profilesperblock
1815 format = "int"
1823 format = "int"
1816
1824
1817 opObj = puObj.addOperation(name=name_operation, optype=optype)
1825 opObj = puObj.addOperation(name=name_operation, optype=optype)
1818 opObj.addParameter(name=name_parameter1, value=value1)
1826 opObj.addParameter(name=name_parameter1, value=value1)
1819 opObj.addParameter(name=name_parameter2, value=value2, format=format)
1827 opObj.addParameter(name=name_parameter2, value=value2, format=format)
1820 opObj.addParameter(name=name_parameter3, value=value3, format=format)
1828 opObj.addParameter(name=name_parameter3, value=value3, format=format)
1821
1829
1822 self.showPUSpectraProperties(puObj)
1830 self.showPUSpectraProperties(puObj)
1823
1831
1824 self.console.clear()
1832 self.console.clear()
1825 self.console.append("If you want to save your project")
1833 self.console.append("If you want to save your project")
1826 self.console.append("click on your project name in the Tree Project Explorer")
1834 self.console.append("click on your project name in the Tree Project Explorer")
1827
1835
1828 self.actionSaveToolbar.setEnabled(True)
1836 self.actionSaveToolbar.setEnabled(True)
1829 self.actionStarToolbar.setEnabled(True)
1837 self.actionStarToolbar.setEnabled(True)
1830
1838
1831 return 1
1839 return 1
1832
1840
1833 """
1841 """
1834 Spectra Graph
1842 Spectra Graph
1835 """
1843 """
1836 @pyqtSignature("int")
1844 @pyqtSignature("int")
1837 def on_specGraphCebSpectraplot_stateChanged(self, p0):
1845 def on_specGraphCebSpectraplot_stateChanged(self, p0):
1838
1846
1839 if p0 == 2:
1847 if p0 == 2:
1840 self.specGgraphChannelList.setEnabled(True)
1848 self.specGgraphChannelList.setEnabled(True)
1841 self.specGgraphFreq.setEnabled(True)
1849 self.specGgraphFreq.setEnabled(True)
1842 self.specGgraphHeight.setEnabled(True)
1850 self.specGgraphHeight.setEnabled(True)
1843 self.specGgraphDbsrange.setEnabled(True)
1851 self.specGgraphDbsrange.setEnabled(True)
1844 if p0 == 0:
1852 if p0 == 0:
1845 self.specGgraphFreq.setEnabled(False)
1853 self.specGgraphFreq.setEnabled(False)
1846 self.specGgraphHeight.setEnabled(False)
1854 self.specGgraphHeight.setEnabled(False)
1847 self.specGgraphDbsrange.setEnabled(False)
1855 self.specGgraphDbsrange.setEnabled(False)
1848
1856
1849
1857
1850 @pyqtSignature("int")
1858 @pyqtSignature("int")
1851 def on_specGraphCebCrossSpectraplot_stateChanged(self, p0):
1859 def on_specGraphCebCrossSpectraplot_stateChanged(self, p0):
1852
1860
1853 if p0 == 2:
1861 if p0 == 2:
1854 self.specGgraphFreq.setEnabled(True)
1862 self.specGgraphFreq.setEnabled(True)
1855 self.specGgraphHeight.setEnabled(True)
1863 self.specGgraphHeight.setEnabled(True)
1856 self.specGgraphDbsrange.setEnabled(True)
1864 self.specGgraphDbsrange.setEnabled(True)
1857 if p0 == 0:
1865 if p0 == 0:
1858 self.specGgraphFreq.setEnabled(False)
1866 self.specGgraphFreq.setEnabled(False)
1859 self.specGgraphHeight.setEnabled(False)
1867 self.specGgraphHeight.setEnabled(False)
1860 self.specGgraphDbsrange.setEnabled(False)
1868 self.specGgraphDbsrange.setEnabled(False)
1861
1869
1862 @pyqtSignature("int")
1870 @pyqtSignature("int")
1863 def on_specGraphCebRTIplot_stateChanged(self, p0):
1871 def on_specGraphCebRTIplot_stateChanged(self, p0):
1864
1872
1865 if p0 == 2:
1873 if p0 == 2:
1866 self.specGgraphChannelList.setEnabled(True)
1874 self.specGgraphChannelList.setEnabled(True)
1867 self.specGgraphTminTmax.setEnabled(True)
1875 self.specGgraphTminTmax.setEnabled(True)
1868 self.specGgraphHeight.setEnabled(True)
1876 self.specGgraphHeight.setEnabled(True)
1869 self.specGgraphDbsrange.setEnabled(True)
1877 self.specGgraphDbsrange.setEnabled(True)
1870 self.specGgraphTimeRange.setEnabled(True)
1878 self.specGgraphTimeRange.setEnabled(True)
1871
1879
1872 if p0 == 0:
1880 if p0 == 0:
1873 self.specGgraphTminTmax.setEnabled(False)
1881 self.specGgraphTminTmax.setEnabled(False)
1874 self.specGgraphHeight.setEnabled(False)
1882 self.specGgraphHeight.setEnabled(False)
1875 self.specGgraphDbsrange.setEnabled(False)
1883 self.specGgraphDbsrange.setEnabled(False)
1876 self.specGgraphTimeRange.setEnabled(False)
1884 self.specGgraphTimeRange.setEnabled(False)
1877
1885
1878
1886
1879 @pyqtSignature("int")
1887 @pyqtSignature("int")
1880 def on_specGraphCebRTInoise_stateChanged(self, p0):
1888 def on_specGraphCebRTInoise_stateChanged(self, p0):
1881 if p0 == 2:
1889 if p0 == 2:
1882 self.specGgraphChannelList.setEnabled(True)
1890 self.specGgraphChannelList.setEnabled(True)
1883 self.specGgraphTminTmax.setEnabled(True)
1891 self.specGgraphTminTmax.setEnabled(True)
1884 self.specGgraphDbsrange.setEnabled(True)
1892 self.specGgraphDbsrange.setEnabled(True)
1885 self.specGgraphTimeRange.setEnabled(True)
1893 self.specGgraphTimeRange.setEnabled(True)
1886
1894
1887 if p0 == 0:
1895 if p0 == 0:
1888 self.specGgraphTminTmax.setEnabled(False)
1896 self.specGgraphTminTmax.setEnabled(False)
1889 self.specGgraphDbsrange.setEnabled(False)
1897 self.specGgraphDbsrange.setEnabled(False)
1890 self.specGgraphTimeRange.setEnabled(False)
1898 self.specGgraphTimeRange.setEnabled(False)
1891
1899
1892
1900
1893
1901
1894
1902
1895 @pyqtSignature("int")
1903 @pyqtSignature("int")
1896 def on_specGraphCebCoherencmap_stateChanged(self, p0):
1904 def on_specGraphCebCoherencmap_stateChanged(self, p0):
1897
1905
1898 if p0 == 2:
1906 if p0 == 2:
1899 self.specGgraphTminTmax.setEnabled(True)
1907 self.specGgraphTminTmax.setEnabled(True)
1900 self.specGgraphHeight.setEnabled(True)
1908 self.specGgraphHeight.setEnabled(True)
1901 self.specGgraphmagnitud.setEnabled(True)
1909 self.specGgraphmagnitud.setEnabled(True)
1902 self.specGgraphTimeRange.setEnabled(True)
1910 self.specGgraphTimeRange.setEnabled(True)
1903
1911
1904 if p0 == 0:
1912 if p0 == 0:
1905 self.specGgraphTminTmax.setEnabled(False)
1913 self.specGgraphTminTmax.setEnabled(False)
1906 self.specGgraphHeight.setEnabled(False)
1914 self.specGgraphHeight.setEnabled(False)
1907 self.specGgraphmagnitud.setEnabled(False)
1915 self.specGgraphmagnitud.setEnabled(False)
1908 self.specGgraphTimeRange.setEnabled(False)
1916 self.specGgraphTimeRange.setEnabled(False)
1909
1917
1910
1918
1911
1919
1912
1920
1913 @pyqtSignature("int")
1921 @pyqtSignature("int")
1914 def on_specGraphPowerprofile_stateChanged(self, p0):
1922 def on_specGraphPowerprofile_stateChanged(self, p0):
1915
1923
1916 if p0 == 2:
1924 if p0 == 2:
1917
1925
1918 self.specGgraphHeight.setEnabled(True)
1926 self.specGgraphHeight.setEnabled(True)
1919 self.specGgraphDbsrange.setEnabled(True)
1927 self.specGgraphDbsrange.setEnabled(True)
1920 if p0 == 0:
1928 if p0 == 0:
1921 self.specGgraphHeight.setEnabled(False)
1929 self.specGgraphHeight.setEnabled(False)
1922 self.specGgraphDbsrange.setEnabled(False)
1930 self.specGgraphDbsrange.setEnabled(False)
1923
1931
1924 @pyqtSignature("int")
1932 @pyqtSignature("int")
1925 def on_specGraphPhase_stateChanged(self, p0):
1933 def on_specGraphPhase_stateChanged(self, p0):
1926
1934
1927 if p0 == 2:
1935 if p0 == 2:
1928 self.specGgraphTminTmax.setEnabled(True)
1936 self.specGgraphTminTmax.setEnabled(True)
1929 self.specGgraphPhaserange.setEnabled(True)
1937 self.specGgraphPhaserange.setEnabled(True)
1930
1938
1931 if p0 == 0:
1939 if p0 == 0:
1932 self.specGgraphTminTmax.setEnabled(False)
1940 self.specGgraphTminTmax.setEnabled(False)
1933 self.specGgraphPhaserange.setEnabled(False)
1941 self.specGgraphPhaserange.setEnabled(False)
1934
1942
1935 @pyqtSignature("int")
1943 @pyqtSignature("int")
1936 def on_specGraphSaveSpectra_stateChanged(self, p0):
1944 def on_specGraphSaveSpectra_stateChanged(self, p0):
1937 """
1945 """
1938 """
1946 """
1939 if p0 == 2:
1947 if p0 == 2:
1940 self.specGraphPath.setEnabled(True)
1948 self.specGraphPath.setEnabled(True)
1941 self.specGraphPrefix.setEnabled(True)
1949 self.specGraphPrefix.setEnabled(True)
1942 self.specGraphToolPath.setEnabled(True)
1950 self.specGraphToolPath.setEnabled(True)
1943 if p0 == 0:
1951 if p0 == 0:
1944 self.specGraphPath.setEnabled(False)
1952 self.specGraphPath.setEnabled(False)
1945 self.specGraphPrefix.setEnabled(False)
1953 self.specGraphPrefix.setEnabled(False)
1946 self.specGraphToolPath.setEnabled(False)
1954 self.specGraphToolPath.setEnabled(False)
1947
1955
1948
1956
1949 @pyqtSignature("int")
1957 @pyqtSignature("int")
1950 def on_specGraphSaveCross_stateChanged(self, p0):
1958 def on_specGraphSaveCross_stateChanged(self, p0):
1951 if p0 == 2:
1959 if p0 == 2:
1952 self.specGraphPath.setEnabled(True)
1960 self.specGraphPath.setEnabled(True)
1953 self.specGraphPrefix.setEnabled(True)
1961 self.specGraphPrefix.setEnabled(True)
1954 self.specGraphToolPath.setEnabled(True)
1962 self.specGraphToolPath.setEnabled(True)
1955
1963
1956 @pyqtSignature("int")
1964 @pyqtSignature("int")
1957 def on_specGraphSaveRTIplot_stateChanged(self, p0):
1965 def on_specGraphSaveRTIplot_stateChanged(self, p0):
1958 if p0 == 2:
1966 if p0 == 2:
1959 self.specGraphPath.setEnabled(True)
1967 self.specGraphPath.setEnabled(True)
1960 self.specGraphPrefix.setEnabled(True)
1968 self.specGraphPrefix.setEnabled(True)
1961 self.specGraphToolPath.setEnabled(True)
1969 self.specGraphToolPath.setEnabled(True)
1962
1970
1963 @pyqtSignature("int")
1971 @pyqtSignature("int")
1964 def on_specGraphSaveRTInoise_stateChanged(self, p0):
1972 def on_specGraphSaveRTInoise_stateChanged(self, p0):
1965 if p0 == 2:
1973 if p0 == 2:
1966 self.specGraphPath.setEnabled(True)
1974 self.specGraphPath.setEnabled(True)
1967 self.specGraphPrefix.setEnabled(True)
1975 self.specGraphPrefix.setEnabled(True)
1968 self.specGraphToolPath.setEnabled(True)
1976 self.specGraphToolPath.setEnabled(True)
1969
1977
1970 @pyqtSignature("int")
1978 @pyqtSignature("int")
1971 def on_specGraphSaveCoherencemap_stateChanged(self, p0):
1979 def on_specGraphSaveCoherencemap_stateChanged(self, p0):
1972 if p0 == 2:
1980 if p0 == 2:
1973 self.specGraphPath.setEnabled(True)
1981 self.specGraphPath.setEnabled(True)
1974 self.specGraphPrefix.setEnabled(True)
1982 self.specGraphPrefix.setEnabled(True)
1975 self.specGraphToolPath.setEnabled(True)
1983 self.specGraphToolPath.setEnabled(True)
1976
1984
1977
1985
1978 @pyqtSignature("int")
1986 @pyqtSignature("int")
1979 def on_specGraphSavePowerprofile_stateChanged(self, p0):
1987 def on_specGraphSavePowerprofile_stateChanged(self, p0):
1980 if p0 == 2:
1988 if p0 == 2:
1981 self.specGraphPath.setEnabled(True)
1989 self.specGraphPath.setEnabled(True)
1982 self.specGraphPrefix.setEnabled(True)
1990 self.specGraphPrefix.setEnabled(True)
1983 self.specGraphToolPath.setEnabled(True)
1991 self.specGraphToolPath.setEnabled(True)
1984
1992
1985
1993
1986 #-------ftp-----#
1994 #-------ftp-----#
1987 @pyqtSignature("int")
1995 @pyqtSignature("int")
1988 def on_specGraphftpSpectra_stateChanged(self, p0):
1996 def on_specGraphftpSpectra_stateChanged(self, p0):
1989 """
1997 """
1990 """
1998 """
1991 if p0 == 2:
1999 if p0 == 2:
1992 self.specGgraphftpratio.setEnabled(True)
2000 self.specGgraphftpratio.setEnabled(True)
1993
2001
1994 if p0 == 0:
2002 if p0 == 0:
1995 self.specGgraphftpratio.setEnabled(False)
2003 self.specGgraphftpratio.setEnabled(False)
1996
2004
1997
2005
1998 @pyqtSignature("int")
2006 @pyqtSignature("int")
1999 def on_specGraphftpCross_stateChanged(self, p0):
2007 def on_specGraphftpCross_stateChanged(self, p0):
2000 if p0 == 2:
2008 if p0 == 2:
2001 self.specGgraphftpratio.setEnabled(True)
2009 self.specGgraphftpratio.setEnabled(True)
2002
2010
2003 @pyqtSignature("int")
2011 @pyqtSignature("int")
2004 def on_specGraphftpRTIplot_stateChanged(self, p0):
2012 def on_specGraphftpRTIplot_stateChanged(self, p0):
2005 if p0 == 2:
2013 if p0 == 2:
2006 self.specGgraphftpratio.setEnabled(True)
2014 self.specGgraphftpratio.setEnabled(True)
2007
2015
2008 @pyqtSignature("int")
2016 @pyqtSignature("int")
2009 def on_specGraphftpRTInoise_stateChanged(self, p0):
2017 def on_specGraphftpRTInoise_stateChanged(self, p0):
2010 if p0 == 2:
2018 if p0 == 2:
2011 self.specGgraphftpratio.setEnabled(True)
2019 self.specGgraphftpratio.setEnabled(True)
2012
2020
2013 @pyqtSignature("int")
2021 @pyqtSignature("int")
2014 def on_specGraphftpCoherencemap_stateChanged(self, p0):
2022 def on_specGraphftpCoherencemap_stateChanged(self, p0):
2015 if p0 == 2:
2023 if p0 == 2:
2016 self.specGgraphftpratio.setEnabled(True)
2024 self.specGgraphftpratio.setEnabled(True)
2017
2025
2018 @pyqtSignature("int")
2026 @pyqtSignature("int")
2019 def on_specGraphftpPowerprofile_stateChanged(self, p0):
2027 def on_specGraphftpPowerprofile_stateChanged(self, p0):
2020 if p0 == 2:
2028 if p0 == 2:
2021 self.specGgraphftpratio.setEnabled(True)
2029 self.specGgraphftpratio.setEnabled(True)
2022
2030
2023 #-------------------#
2031 #-------------------#
2024
2032
2025
2033
2026
2034
2027 @pyqtSignature("")
2035 @pyqtSignature("")
2028 def on_specGraphToolPath_clicked(self):
2036 def on_specGraphToolPath_clicked(self):
2029 """
2037 """
2030 """
2038 """
2031 self.savePath = str(QtGui.QFileDialog.getExistingDirectory(self, 'Open Directory', './', QtGui.QFileDialog.ShowDirsOnly))
2039 self.savePath = str(QtGui.QFileDialog.getExistingDirectory(self, 'Open Directory', './', QtGui.QFileDialog.ShowDirsOnly))
2032 self.specGraphPath.setText(self.savePath)
2040 self.specGraphPath.setText(self.savePath)
2033 if not os.path.exists(self.savePath):
2041 if not os.path.exists(self.savePath):
2034 self.console.clear()
2042 self.console.clear()
2035 self.console.append("Write a correct a path")
2043 self.console.append("Write a correct a path")
2036 return
2044 return
2037
2045
2038 @pyqtSignature("")
2046 @pyqtSignature("")
2039 def on_specHeisGraphToolPath_clicked(self):
2047 def on_specHeisGraphToolPath_clicked(self):
2040 """
2048 """
2041 """
2049 """
2042 self.savePath = str(QtGui.QFileDialog.getExistingDirectory(self, 'Open Directory', './', QtGui.QFileDialog.ShowDirsOnly))
2050 self.savePath = str(QtGui.QFileDialog.getExistingDirectory(self, 'Open Directory', './', QtGui.QFileDialog.ShowDirsOnly))
2043 self.specHeisGraphPath.setText(self.savePath)
2051 self.specHeisGraphPath.setText(self.savePath)
2044 if not os.path.exists(self.savePath):
2052 if not os.path.exists(self.savePath):
2045 self.console.clear()
2053 self.console.clear()
2046 self.console.append("Write a correct a path")
2054 self.console.append("Write a correct a path")
2047 return
2055 return
2048
2056
2049 @pyqtSignature("")
2057 @pyqtSignature("")
2050 def on_specGraphClear_clicked(self):
2058 def on_specGraphClear_clicked(self):
2051 self.clearspecGraph()
2059 self.clearspecGraph()
2052
2060
2053 @pyqtSignature("int")
2061 @pyqtSignature("int")
2054 def on_specHeisOpCebIncoherent_stateChanged(self, p0):
2062 def on_specHeisOpCebIncoherent_stateChanged(self, p0):
2055 """
2063 """
2056 Habilita la opcion de aοΏ½adir el parοΏ½metro integraciones incoherentes a la Unidad de Procesamiento .
2064 Habilita la opcion de aοΏ½adir el parοΏ½metro integraciones incoherentes a la Unidad de Procesamiento .
2057 """
2065 """
2058 if p0 == 2:
2066 if p0 == 2:
2059 self.specHeisOpIncoherent.setEnabled(True)
2067 self.specHeisOpIncoherent.setEnabled(True)
2060 self.specHeisOpCobIncInt.setEnabled(True)
2068 self.specHeisOpCobIncInt.setEnabled(True)
2061 if p0 == 0:
2069 if p0 == 0:
2062 self.specHeisOpIncoherent.setEnabled(False)
2070 self.specHeisOpIncoherent.setEnabled(False)
2063 self.specHeisOpCobIncInt.setEnabled(False)
2071 self.specHeisOpCobIncInt.setEnabled(False)
2064
2072
2065 @pyqtSignature("")
2073 @pyqtSignature("")
2066 def on_specHeisOpOk_clicked(self):
2074 def on_specHeisOpOk_clicked(self):
2067 """
2075 """
2068 AΓ‘ADE OPERACION SPECTRAHEIS
2076 AΓ‘ADE OPERACION SPECTRAHEIS
2069 """
2077 """
2070 addFTP = False
2078 addFTP = False
2071 checkPath = False
2079 checkPath = False
2072
2080
2073 self.actionSaveToolbar.setEnabled(False)
2081 self.actionSaveToolbar.setEnabled(False)
2074 self.actionStarToolbar.setEnabled(False)
2082 self.actionStarToolbar.setEnabled(False)
2075
2083
2076 puObj = self.getSelectedPUObj()
2084 puObj = self.getSelectedPUObj()
2077 puObj.removeOperations()
2085 puObj.removeOperations()
2078
2086
2079 if self.specHeisOpCebIncoherent.isChecked():
2087 if self.specHeisOpCebIncoherent.isChecked():
2080 value = self.specHeisOpIncoherent.text()
2088 value = self.specHeisOpIncoherent.text()
2081 name_operation = 'IncohInt4SpectraHeis'
2089 name_operation = 'IncohInt4SpectraHeis'
2082 optype = 'other'
2090 optype = 'other'
2083 if self.specOpCobIncInt.currentIndex() == 0:
2091 if self.specOpCobIncInt.currentIndex() == 0:
2084 name_parameter = 'timeInterval'
2092 name_parameter = 'timeInterval'
2085 format = 'float'
2093 format = 'float'
2086 opObj = puObj.addOperation(name=name_operation, optype=optype)
2094 opObj = puObj.addOperation(name=name_operation, optype=optype)
2087 opObj.addParameter(name=name_parameter, value=value, format=format)
2095 opObj.addParameter(name=name_parameter, value=value, format=format)
2088
2096
2089 # ---- Spectra Plot-----
2097 # ---- Spectra Plot-----
2090 if self.specHeisGraphCebSpectraplot.isChecked():
2098 if self.specHeisGraphCebSpectraplot.isChecked():
2091 name_operation = 'SpectraHeisScope'
2099 name_operation = 'SpectraHeisScope'
2092 optype = 'other'
2100 optype = 'other'
2093 name_parameter = 'type'
2101 name_parameter = 'type'
2094 value = 'SpectraHeisScope'
2102 value = 'SpectraHeisScope'
2095 format = 'str'
2103 format = 'str'
2096 if self.idImagspectraHeis == 0:
2104 if self.idImagspectraHeis == 0:
2097 self.idImagspectraHeis = 800
2105 self.idImagspectraHeis = 800
2098 else:
2106 else:
2099 self.idImagspectraHeis = self.idImagspectraHeis + 1
2107 self.idImagspectraHeis = self.idImagspectraHeis + 1
2100 name_parameter1 = 'id'
2108 name_parameter1 = 'id'
2101 value1 = int(self.idImagspectraHeis)
2109 value1 = int(self.idImagspectraHeis)
2102 format1 = 'int'
2110 format1 = 'int'
2103
2111
2104 format = 'str'
2112 format = 'str'
2105
2113
2106 channelList = self.specHeisGgraphChannelList.text()
2114 channelList = self.specHeisGgraphChannelList.text()
2107 xvalue = self.specHeisGgraphXminXmax.text()
2115 xvalue = self.specHeisGgraphXminXmax.text()
2108 yvalue = self.specHeisGgraphYminYmax.text()
2116 yvalue = self.specHeisGgraphYminYmax.text()
2109 opObj = puObj.addOperation(name=name_operation, optype=optype)
2117 opObj = puObj.addOperation(name=name_operation, optype=optype)
2110 # opObj.addParameter(name=name_parameter, value=value, format=format)
2118 # opObj.addParameter(name=name_parameter, value=value, format=format)
2111 opObj.addParameter(name=name_parameter1, value=value1, format=format1)
2119 opObj.addParameter(name=name_parameter1, value=value1, format=format1)
2112
2120
2113 if not channelList == '':
2121 if not channelList == '':
2114 name_parameter = 'channelList'
2122 name_parameter = 'channelList'
2115 format = 'intlist'
2123 format = 'intlist'
2116 opObj.addParameter(name=name_parameter, value=channelList, format=format)
2124 opObj.addParameter(name=name_parameter, value=channelList, format=format)
2117
2125
2118 if not xvalue == '':
2126 if not xvalue == '':
2119 xvalueList = xvalue.split(',')
2127 xvalueList = xvalue.split(',')
2120 try:
2128 try:
2121 value1 = float(xvalueList[0])
2129 value1 = float(xvalueList[0])
2122 value2 = float(xvalueList[1])
2130 value2 = float(xvalueList[1])
2123 except:
2131 except:
2124 self.console.clear()
2132 self.console.clear()
2125 self.console.append("Please Write corrects parameter xmin-xmax")
2133 self.console.append("Please Write corrects parameter xmin-xmax")
2126 return 0
2134 return 0
2127 name1 = 'xmin'
2135 name1 = 'xmin'
2128 name2 = 'xmax'
2136 name2 = 'xmax'
2129 format = 'float'
2137 format = 'float'
2130 opObj.addParameter(name=name1, value=value1, format=format)
2138 opObj.addParameter(name=name1, value=value1, format=format)
2131 opObj.addParameter(name=name2, value=value2, format=format)
2139 opObj.addParameter(name=name2, value=value2, format=format)
2132 #------specHeisGgraphYmin-Ymax---
2140 #------specHeisGgraphYmin-Ymax---
2133 if not yvalue == '':
2141 if not yvalue == '':
2134 yvalueList = yvalue.split(",")
2142 yvalueList = yvalue.split(",")
2135 try:
2143 try:
2136 value1 = float(yvalueList[0])
2144 value1 = float(yvalueList[0])
2137 value2 = float(yvalueList[1])
2145 value2 = float(yvalueList[1])
2138 except:
2146 except:
2139 self.console.clear()
2147 self.console.clear()
2140 self.console.append("Please Write corrects parameter Ymix-Ymax")
2148 self.console.append("Please Write corrects parameter Ymix-Ymax")
2141 return 0
2149 return 0
2142 name1 = 'ymin'
2150 name1 = 'ymin'
2143 name2 = 'ymax'
2151 name2 = 'ymax'
2144 format = 'float'
2152 format = 'float'
2145 opObj.addParameter(name=name1, value=value1, format=format)
2153 opObj.addParameter(name=name1, value=value1, format=format)
2146 opObj.addParameter(name=name2, value=value2, format=format)
2154 opObj.addParameter(name=name2, value=value2, format=format)
2147
2155
2148 if self.specHeisGraphSaveSpectra.isChecked():
2156 if self.specHeisGraphSaveSpectra.isChecked():
2149 checkPath = True
2157 checkPath = True
2150 name_parameter1 = 'save'
2158 name_parameter1 = 'save'
2151 name_parameter2 = 'figpath'
2159 name_parameter2 = 'figpath'
2152 name_parameter3 = 'figfile'
2160 name_parameter3 = 'figfile'
2153 value1 = '1'
2161 value1 = '1'
2154 value2 = self.specHeisGraphPath.text()
2162 value2 = self.specHeisGraphPath.text()
2155 value3 = self.specHeisGraphPrefix.text()
2163 value3 = self.specHeisGraphPrefix.text()
2156 format1 = 'bool'
2164 format1 = 'bool'
2157 format2 = 'str'
2165 format2 = 'str'
2158 opObj.addParameter(name=name_parameter1, value=value1 , format=format1)
2166 opObj.addParameter(name=name_parameter1, value=value1 , format=format1)
2159 opObj.addParameter(name=name_parameter2, value=value2, format=format2)
2167 opObj.addParameter(name=name_parameter2, value=value2, format=format2)
2160 if not value3 == "":
2168 if not value3 == "":
2161 try:
2169 try:
2162 value3 = str(self.specHeisGraphPrefix.text())
2170 value3 = str(self.specHeisGraphPrefix.text())
2163 except:
2171 except:
2164 self.console.clear()
2172 self.console.clear()
2165 self.console.append("Please Write prefix")
2173 self.console.append("Please Write prefix")
2166 return 0
2174 return 0
2167 opObj.addParameter(name='figfile', value=self.specHeisGraphPrefix.text(), format='str')
2175 opObj.addParameter(name='figfile', value=self.specHeisGraphPrefix.text(), format='str')
2168
2176
2169 # opObj.addParameter(name=name_parameter3, value=value3, format=format2)
2177 # opObj.addParameter(name=name_parameter3, value=value3, format=format2)
2170 # opObj.addParameter(name='wr_period', value='5',format='int')
2178 # opObj.addParameter(name='wr_period', value='5',format='int')
2171
2179
2172 if self.specHeisGraphftpSpectra.isChecked():
2180 if self.specHeisGraphftpSpectra.isChecked():
2173 opObj.addParameter(name='ftp', value='1', format='int')
2181 opObj.addParameter(name='ftp', value='1', format='int')
2174 self.addFTPConf2Operation(puObj, opObj)
2182 self.addFTPConf2Operation(puObj, opObj)
2175 addFTP = True
2183 addFTP = True
2176
2184
2177 if self.specHeisGraphCebRTIplot.isChecked():
2185 if self.specHeisGraphCebRTIplot.isChecked():
2178 name_operation = 'RTIfromSpectraHeis'
2186 name_operation = 'RTIfromSpectraHeis'
2179 optype = 'other'
2187 optype = 'other'
2180 name_parameter = 'type'
2188 name_parameter = 'type'
2181 value = 'RTIfromSpectraHeis'
2189 value = 'RTIfromSpectraHeis'
2182 format = 'str'
2190 format = 'str'
2183
2191
2184 if self.idImagrtiHeis == 0:
2192 if self.idImagrtiHeis == 0:
2185 self.idImagrtiHeis = 900
2193 self.idImagrtiHeis = 900
2186 else:
2194 else:
2187 self.idImagrtiHeis = self.idImagrtiHeis + 1
2195 self.idImagrtiHeis = self.idImagrtiHeis + 1
2188
2196
2189 name_parameter1 = 'id'
2197 name_parameter1 = 'id'
2190 value1 = int(self.idImagrtiHeis)
2198 value1 = int(self.idImagrtiHeis)
2191 format1 = 'int'
2199 format1 = 'int'
2192
2200
2193 format = 'str'
2201 format = 'str'
2194
2202
2195 opObj = puObj.addOperation(name=name_operation, optype=optype)
2203 opObj = puObj.addOperation(name=name_operation, optype=optype)
2196 # opObj.addParameter(name=name_parameter, value=value, format=format)
2204 # opObj.addParameter(name=name_parameter, value=value, format=format)
2197 opObj.addParameter(name=name_parameter1, value=value1, format=format1)
2205 opObj.addParameter(name=name_parameter1, value=value1, format=format1)
2198
2206
2199 channelList = self.specHeisGgraphChannelList.text()
2207 channelList = self.specHeisGgraphChannelList.text()
2200 xvalue = self.specHeisGgraphTminTmax.text()
2208 xvalue = self.specHeisGgraphTminTmax.text()
2201 yvalue = self.specHeisGgraphYminYmax.text()
2209 yvalue = self.specHeisGgraphYminYmax.text()
2202 timerange = self.specHeisGgraphTimeRange.text()
2210 timerange = self.specHeisGgraphTimeRange.text()
2203
2211
2204 if not channelList == '':
2212 if not channelList == '':
2205 opObj.addParameter(name='channelList', value=channelList, format='intlist')
2213 opObj.addParameter(name='channelList', value=channelList, format='intlist')
2206
2214
2207 if not xvalue == '':
2215 if not xvalue == '':
2208 xvalueList = xvalue.split(',')
2216 xvalueList = xvalue.split(',')
2209 try:
2217 try:
2210 value = float(xvalueList[0])
2218 value = float(xvalueList[0])
2211 value = float(xvalueList[1])
2219 value = float(xvalueList[1])
2212 except:
2220 except:
2213 return 0
2221 return 0
2214 format = 'float'
2222 format = 'float'
2215 opObj.addParameter(name='xmin', value=xvalueList[0], format=format)
2223 opObj.addParameter(name='xmin', value=xvalueList[0], format=format)
2216 opObj.addParameter(name='xmax', value=xvalueList[1], format=format)
2224 opObj.addParameter(name='xmax', value=xvalueList[1], format=format)
2217
2225
2218 if not timerange == '':
2226 if not timerange == '':
2219 format = 'int'
2227 format = 'int'
2220 try:
2228 try:
2221 timerange = int(timerange)
2229 timerange = int(timerange)
2222 except:
2230 except:
2223 return 0
2231 return 0
2224 opObj.addParameter(name='timerange', value=timerange, format=format)
2232 opObj.addParameter(name='timerange', value=timerange, format=format)
2225
2233
2226
2234
2227 if not yvalue == '':
2235 if not yvalue == '':
2228 yvalueList = yvalue.split(",")
2236 yvalueList = yvalue.split(",")
2229 try:
2237 try:
2230 value = float(yvalueList[0])
2238 value = float(yvalueList[0])
2231 value = float(yvalueList[1])
2239 value = float(yvalueList[1])
2232 except:
2240 except:
2233 return 0
2241 return 0
2234 format = 'float'
2242 format = 'float'
2235 opObj.addParameter(name='ymin', value=yvalueList[0], format=format)
2243 opObj.addParameter(name='ymin', value=yvalueList[0], format=format)
2236 opObj.addParameter(name='ymax', value=yvalueList[1], format=format)
2244 opObj.addParameter(name='ymax', value=yvalueList[1], format=format)
2237
2245
2238 if self.specHeisGraphSaveRTIplot.isChecked():
2246 if self.specHeisGraphSaveRTIplot.isChecked():
2239 checkPath = True
2247 checkPath = True
2240 opObj.addParameter(name='save', value='1', format='bool')
2248 opObj.addParameter(name='save', value='1', format='bool')
2241 opObj.addParameter(name='figpath', value=self.specHeisGraphPath.text(), format='str')
2249 opObj.addParameter(name='figpath', value=self.specHeisGraphPath.text(), format='str')
2242 value = self.specHeisGraphPrefix.text()
2250 value = self.specHeisGraphPrefix.text()
2243 if not value == "":
2251 if not value == "":
2244 try:
2252 try:
2245 value = str(self.specHeisGraphPrefix.text())
2253 value = str(self.specHeisGraphPrefix.text())
2246 except:
2254 except:
2247 self.console.clear()
2255 self.console.clear()
2248 self.console.append("Please Write prefix")
2256 self.console.append("Please Write prefix")
2249 return 0
2257 return 0
2250 opObj.addParameter(name='figfile', value=value, format='str')
2258 opObj.addParameter(name='figfile', value=value, format='str')
2251
2259
2252 # test_ftp
2260 # test_ftp
2253 if self.specHeisGraphftpRTIplot.isChecked():
2261 if self.specHeisGraphftpRTIplot.isChecked():
2254 opObj.addParameter(name='ftp', value='1', format='int')
2262 opObj.addParameter(name='ftp', value='1', format='int')
2255 self.addFTPConf2Operation(puObj, opObj)
2263 self.addFTPConf2Operation(puObj, opObj)
2256 addFTP = True
2264 addFTP = True
2257
2265
2258 localfolder = None
2266 localfolder = None
2259 if checkPath:
2267 if checkPath:
2260 localfolder = str(self.specGraphPath.text())
2268 localfolder = str(self.specGraphPath.text())
2261 if localfolder == '':
2269 if localfolder == '':
2262 self.console.clear()
2270 self.console.clear()
2263 self.console.append("Graphic path should be defined")
2271 self.console.append("Graphic path should be defined")
2264 return 0
2272 return 0
2265
2273
2266 if addFTP:
2274 if addFTP:
2267 if not localfolder:
2275 if not localfolder:
2268 self.console.clear()
2276 self.console.clear()
2269 self.console.append("You have to save the plots before sending them to FTP Server")
2277 self.console.append("You have to save the plots before sending them to FTP Server")
2270 return 0
2278 return 0
2271
2279
2280 if not self.temporalFTP.create:
2281 self.temporalFTP.setwithoutconfiguration()
2282
2272 server, remotefolder, username, password, ftp_wei, exp_code, sub_exp_code, plot_pos = self.temporalFTP.recover()
2283 server, remotefolder, username, password, ftp_wei, exp_code, sub_exp_code, plot_pos = self.temporalFTP.recover()
2273 self.createFTPProcUnitView(server, username, password, remotefolder, localfolder)
2284 self.createFTPProcUnitView(server, username, password, remotefolder,
2285 ftp_wei, exp_code, sub_exp_code, plot_pos,
2286 localfolder=localfolder)
2274 else:
2287 else:
2275 self.removeFTPProcUnitView()
2288 self.removeFTPProcUnitView()
2276
2289
2277 # if something happened
2290 # if something happened
2278 parms_ok, output_path, blocksperfile, metada = self.checkInputsPUSave(datatype='SpectraHeis')
2291 parms_ok, output_path, blocksperfile, metada = self.checkInputsPUSave(datatype='SpectraHeis')
2279 if parms_ok:
2292 if parms_ok:
2280 name_operation = 'FitsWriter'
2293 name_operation = 'FitsWriter'
2281 optype = 'other'
2294 optype = 'other'
2282 name_parameter1 = 'path'
2295 name_parameter1 = 'path'
2283 name_parameter2 = 'dataBlocksPerFile'
2296 name_parameter2 = 'dataBlocksPerFile'
2284 name_parameter3 = 'metadatafile'
2297 name_parameter3 = 'metadatafile'
2285 value1 = output_path
2298 value1 = output_path
2286 value2 = blocksperfile
2299 value2 = blocksperfile
2287 value3 = metada
2300 value3 = metada
2288 format2 = "int"
2301 format2 = "int"
2289 format3 = "str"
2302 format3 = "str"
2290 opObj = puObj.addOperation(name=name_operation, optype=optype)
2303 opObj = puObj.addOperation(name=name_operation, optype=optype)
2291 opObj.addParameter(name=name_parameter1, value=value1)
2304 opObj.addParameter(name=name_parameter1, value=value1)
2292 opObj.addParameter(name=name_parameter2, value=value2, format=format2)
2305 opObj.addParameter(name=name_parameter2, value=value2, format=format2)
2293 opObj.addParameter(name=name_parameter3, value=value3, format=format3)
2306 opObj.addParameter(name=name_parameter3, value=value3, format=format3)
2294
2307
2295 self.showPUSpectraHeisProperties(puObj)
2308 self.showPUSpectraHeisProperties(puObj)
2296
2309
2297 self.console.clear()
2310 self.console.clear()
2298 self.console.append("Click on save icon ff you want to save your project")
2311 self.console.append("Click on save icon ff you want to save your project")
2299
2312
2300 self.actionSaveToolbar.setEnabled(True)
2313 self.actionSaveToolbar.setEnabled(True)
2301 self.actionStarToolbar.setEnabled(True)
2314 self.actionStarToolbar.setEnabled(True)
2302
2315
2303 return 1
2316 return 1
2304 @pyqtSignature("int")
2317 @pyqtSignature("int")
2305 def on_specHeisGraphCebSpectraplot_stateChanged(self, p0):
2318 def on_specHeisGraphCebSpectraplot_stateChanged(self, p0):
2306
2319
2307 if p0 == 2:
2320 if p0 == 2:
2308 self.specHeisGgraphChannelList.setEnabled(True)
2321 self.specHeisGgraphChannelList.setEnabled(True)
2309 self.specHeisGgraphXminXmax.setEnabled(True)
2322 self.specHeisGgraphXminXmax.setEnabled(True)
2310 self.specHeisGgraphYminYmax.setEnabled(True)
2323 self.specHeisGgraphYminYmax.setEnabled(True)
2311 if p0 == 0:
2324 if p0 == 0:
2312 self.specHeisGgraphXminXmax.setEnabled(False)
2325 self.specHeisGgraphXminXmax.setEnabled(False)
2313 self.specHeisGgraphYminYmax.setEnabled(False)
2326 self.specHeisGgraphYminYmax.setEnabled(False)
2314
2327
2315 @pyqtSignature("int")
2328 @pyqtSignature("int")
2316 def on_specHeisGraphCebRTIplot_stateChanged(self, p0):
2329 def on_specHeisGraphCebRTIplot_stateChanged(self, p0):
2317
2330
2318 if p0 == 2:
2331 if p0 == 2:
2319 self.specHeisGgraphChannelList.setEnabled(True)
2332 self.specHeisGgraphChannelList.setEnabled(True)
2320 self.specHeisGgraphTminTmax.setEnabled(True)
2333 self.specHeisGgraphTminTmax.setEnabled(True)
2321 self.specHeisGgraphYminYmax.setEnabled(True)
2334 self.specHeisGgraphYminYmax.setEnabled(True)
2322 self.specHeisGgraphTimeRange.setEnabled(True)
2335 self.specHeisGgraphTimeRange.setEnabled(True)
2323
2336
2324 if p0 == 0:
2337 if p0 == 0:
2325 self.specHeisGgraphTminTmax.setEnabled(False)
2338 self.specHeisGgraphTminTmax.setEnabled(False)
2326 self.specHeisGgraphYminYmax.setEnabled(False)
2339 self.specHeisGgraphYminYmax.setEnabled(False)
2327 self.specHeisGgraphTimeRange.setEnabled(False)
2340 self.specHeisGgraphTimeRange.setEnabled(False)
2328
2341
2329 @pyqtSignature("int")
2342 @pyqtSignature("int")
2330 def on_specHeisGraphSaveSpectra_stateChanged(self, p0):
2343 def on_specHeisGraphSaveSpectra_stateChanged(self, p0):
2331 """
2344 """
2332 """
2345 """
2333 if p0 == 2:
2346 if p0 == 2:
2334 self.specHeisGraphPath.setEnabled(True)
2347 self.specHeisGraphPath.setEnabled(True)
2335 self.specHeisGraphPrefix.setEnabled(True)
2348 self.specHeisGraphPrefix.setEnabled(True)
2336 self.specHeisGraphToolPath.setEnabled(True)
2349 self.specHeisGraphToolPath.setEnabled(True)
2337 if p0 == 0:
2350 if p0 == 0:
2338 self.specHeisGraphPath.setEnabled(False)
2351 self.specHeisGraphPath.setEnabled(False)
2339 self.specHeisGraphPrefix.setEnabled(False)
2352 self.specHeisGraphPrefix.setEnabled(False)
2340 self.specHeisGraphToolPath.setEnabled(False)
2353 self.specHeisGraphToolPath.setEnabled(False)
2341
2354
2342 @pyqtSignature("int")
2355 @pyqtSignature("int")
2343 def on_specHeisGraphSaveRTIplot_stateChanged(self, p0):
2356 def on_specHeisGraphSaveRTIplot_stateChanged(self, p0):
2344 if p0 == 2:
2357 if p0 == 2:
2345 self.specHeisGraphPath.setEnabled(True)
2358 self.specHeisGraphPath.setEnabled(True)
2346 self.specHeisGraphPrefix.setEnabled(True)
2359 self.specHeisGraphPrefix.setEnabled(True)
2347 self.specHeisGraphToolPath.setEnabled(True)
2360 self.specHeisGraphToolPath.setEnabled(True)
2348
2361
2349 #-------ftp-----#
2362 #-------ftp-----#
2350 @pyqtSignature("int")
2363 @pyqtSignature("int")
2351 def on_specHeisGraphftpSpectra_stateChanged(self, p0):
2364 def on_specHeisGraphftpSpectra_stateChanged(self, p0):
2352 """
2365 """
2353 """
2366 """
2354 if p0 == 2:
2367 if p0 == 2:
2355 self.specHeisGgraphftpratio.setEnabled(True)
2368 self.specHeisGgraphftpratio.setEnabled(True)
2356
2369
2357 if p0 == 0:
2370 if p0 == 0:
2358 self.specHeisGgraphftpratio.setEnabled(False)
2371 self.specHeisGgraphftpratio.setEnabled(False)
2359
2372
2360 @pyqtSignature("int")
2373 @pyqtSignature("int")
2361 def on_specHeisGraphftpRTIplot_stateChanged(self, p0):
2374 def on_specHeisGraphftpRTIplot_stateChanged(self, p0):
2362 if p0 == 2:
2375 if p0 == 2:
2363 self.specHeisGgraphftpratio.setEnabled(True)
2376 self.specHeisGgraphftpratio.setEnabled(True)
2364
2377
2365 @pyqtSignature("")
2378 @pyqtSignature("")
2366 def on_specHeisGraphClear_clicked(self):
2379 def on_specHeisGraphClear_clicked(self):
2367 pass
2380 pass
2368
2381
2369 def on_click(self, index):
2382 def on_click(self, index):
2370
2383
2371 self.selectedItemTree = self.projectExplorerModel.itemFromIndex(index)
2384 self.selectedItemTree = self.projectExplorerModel.itemFromIndex(index)
2372 if self.getSelectedProjectObj():
2385 if self.getSelectedProjectObj():
2373 projectObjView = self.getSelectedProjectObj()
2386 projectObjView = self.getSelectedProjectObj()
2374 project_name, description = projectObjView.name, projectObjView.description
2387 project_name, description = projectObjView.name, projectObjView.description
2375 id = int(projectObjView.id)
2388 id = int(projectObjView.id)
2376 idReadUnit = projectObjView.getReadUnitId()
2389 idReadUnit = projectObjView.getReadUnitId()
2377 readUnitObj = projectObjView.getProcUnitObj(idReadUnit)
2390 readUnitObj = projectObjView.getProcUnitObj(idReadUnit)
2378 datatype, data_path, startDate, endDate, startTime, endTime , online , delay, walk , set = self.showProjectProperties(projectObjView)
2391 datatype, data_path, startDate, endDate, startTime, endTime , online , delay, walk , set = self.showProjectProperties(projectObjView)
2379 # show ProjectView
2392 # show ProjectView
2380 self.refreshProjectWindow(project_name, description, datatype, data_path, startDate, endDate, startTime, endTime, online, delay, set)
2393 self.refreshProjectWindow(project_name, description, datatype, data_path, startDate, endDate, startTime, endTime, online, delay, set)
2381 if datatype == 'Voltage':
2394 if datatype == 'Voltage':
2382 ext = '.r'
2395 ext = '.r'
2383 elif datatype == 'Spectra':
2396 elif datatype == 'Spectra':
2384 ext = '.pdata'
2397 ext = '.pdata'
2385 elif datatype == 'Fits':
2398 elif datatype == 'Fits':
2386 ext = '.fits'
2399 ext = '.fits'
2387 if online == 0:
2400 if online == 0:
2388 self.proComStartDate.clear()
2401 self.proComStartDate.clear()
2389 self.proComEndDate.clear()
2402 self.proComEndDate.clear()
2390 self.loadDays(data_path, ext, walk)
2403 self.loadDays(data_path, ext, walk)
2391 self.tabProject.setEnabled(True)
2404 self.tabProject.setEnabled(True)
2392 self.tabVoltage.setEnabled(False)
2405 self.tabVoltage.setEnabled(False)
2393 self.tabSpectra.setEnabled(False)
2406 self.tabSpectra.setEnabled(False)
2394 self.tabCorrelation.setEnabled(False)
2407 self.tabCorrelation.setEnabled(False)
2395 self.tabSpectraHeis.setEnabled(False)
2408 self.tabSpectraHeis.setEnabled(False)
2396 self.tabWidgetProject.setCurrentWidget(self.tabProject)
2409 self.tabWidgetProject.setCurrentWidget(self.tabProject)
2397
2410
2398 if self.selectedItemTree.text() == 'Voltage':
2411 if self.selectedItemTree.text() == 'Voltage':
2399 datatype = 'Voltage'
2412 datatype = 'Voltage'
2400 puObj = self.getSelectedPUObj()
2413 puObj = self.getSelectedPUObj()
2401 self.showtabPUCreated(datatype=datatype)
2414 self.showtabPUCreated(datatype=datatype)
2402 if len(puObj.getOperationObjList()) == 1:
2415 if len(puObj.getOperationObjList()) == 1:
2403 self.setInputsPU_View(datatype)
2416 self.setInputsPU_View(datatype)
2404 else:
2417 else:
2405 self.refreshPUWindow(datatype=datatype, puObj=puObj)
2418 self.refreshPUWindow(datatype=datatype, puObj=puObj)
2406 self.showPUVoltageProperties(puObj)
2419 self.showPUVoltageProperties(puObj)
2407
2420
2408 if self.selectedItemTree.text() == 'Spectra':
2421 if self.selectedItemTree.text() == 'Spectra':
2409
2422
2410 datatype = 'Spectra'
2423 datatype = 'Spectra'
2411 puObj = self.getSelectedPUObj()
2424 puObj = self.getSelectedPUObj()
2412 self.showtabPUCreated(datatype=datatype)
2425 self.showtabPUCreated(datatype=datatype)
2413 if readUnitObj.datatype == 'Spectra':
2426 if readUnitObj.datatype == 'Spectra':
2414 self.specOpnFFTpoints.setEnabled(False)
2427 self.specOpnFFTpoints.setEnabled(False)
2415 self.specOpProfiles.setEnabled(False)
2428 self.specOpProfiles.setEnabled(False)
2416 self.specOpippFactor.setEnabled(False)
2429 self.specOpippFactor.setEnabled(False)
2417
2430
2418 else:
2431 else:
2419 self.specOpnFFTpoints.setEnabled(True)
2432 self.specOpnFFTpoints.setEnabled(True)
2420 self.specOpProfiles.setEnabled(True)
2433 self.specOpProfiles.setEnabled(True)
2421 self.specOpippFactor.setEnabled(True)
2434 self.specOpippFactor.setEnabled(True)
2422
2435
2423 if len(puObj.getOperationObjList()) == 1:
2436 if len(puObj.getOperationObjList()) == 1:
2424 self.setInputsPU_View(datatype)
2437 self.setInputsPU_View(datatype)
2425
2438
2426 opObj = puObj.getOperationObj(name="run")
2439 opObj = puObj.getOperationObj(name="run")
2427 if opObj == None:
2440 if opObj == None:
2428 self.specOpnFFTpoints.clear()
2441 self.specOpnFFTpoints.clear()
2429 self.specOpProfiles.clear()
2442 self.specOpProfiles.clear()
2430 self.specOpippFactor.clear()
2443 self.specOpippFactor.clear()
2431 else:
2444 else:
2432 parmObj = opObj.getParameterObj(parameterName='nFFTPoints')
2445 parmObj = opObj.getParameterObj(parameterName='nFFTPoints')
2433 if parmObj == None:
2446 if parmObj == None:
2434 self.specOpnFFTpoints.clear()
2447 self.specOpnFFTpoints.clear()
2435 else:
2448 else:
2436 value = opObj.getParameterValue(parameterName='nFFTPoints')
2449 value = opObj.getParameterValue(parameterName='nFFTPoints')
2437 self.specOpnFFTpoints.setText(str(value))
2450 self.specOpnFFTpoints.setText(str(value))
2438
2451
2439 parmObj = opObj.getParameterObj(parameterName='nProfiles')
2452 parmObj = opObj.getParameterObj(parameterName='nProfiles')
2440 if parmObj == None:
2453 if parmObj == None:
2441 self.specOpProfiles.clear()
2454 self.specOpProfiles.clear()
2442 else:
2455 else:
2443 value = opObj.getParameterValue(parameterName='nProfiles')
2456 value = opObj.getParameterValue(parameterName='nProfiles')
2444 self.specOpProfiles.setText(str(value))
2457 self.specOpProfiles.setText(str(value))
2445
2458
2446 parmObj = opObj.getParameterObj(parameterName="ippFactor")
2459 parmObj = opObj.getParameterObj(parameterName="ippFactor")
2447 if parmObj == None:
2460 if parmObj == None:
2448 self.specOpippFactor.clear()
2461 self.specOpippFactor.clear()
2449 else:
2462 else:
2450 value = opObj.getParameterValue(parameterName='ippFactor')
2463 value = opObj.getParameterValue(parameterName='ippFactor')
2451 self.specOpippFactor.setText(str(value))
2464 self.specOpippFactor.setText(str(value))
2452
2465
2453 opObj = puObj.getOperationObj(name="run")
2466 opObj = puObj.getOperationObj(name="run")
2454 if opObj == None:
2467 if opObj == None:
2455 self.specOppairsList.clear()
2468 self.specOppairsList.clear()
2456 self.specOpCebCrossSpectra.setCheckState(0)
2469 self.specOpCebCrossSpectra.setCheckState(0)
2457 else:
2470 else:
2458 parmObj = opObj.getParameterObj(parameterName='pairsList')
2471 parmObj = opObj.getParameterObj(parameterName='pairsList')
2459 if parmObj == None:
2472 if parmObj == None:
2460 self.specOppairsList.clear()
2473 self.specOppairsList.clear()
2461 self.specOpCebCrossSpectra.setCheckState(0)
2474 self.specOpCebCrossSpectra.setCheckState(0)
2462 else:
2475 else:
2463 value = opObj.getParameterValue(parameterName='pairsList')
2476 value = opObj.getParameterValue(parameterName='pairsList')
2464 value = str(value)[1:-1]
2477 value = str(value)[1:-1]
2465 self.specOppairsList.setText(str(value))
2478 self.specOppairsList.setText(str(value))
2466 self.specOppairsList.setEnabled(True)
2479 self.specOppairsList.setEnabled(True)
2467 self.specOpCebCrossSpectra.setCheckState(QtCore.Qt.Checked)
2480 self.specOpCebCrossSpectra.setCheckState(QtCore.Qt.Checked)
2468
2481
2469 else:
2482 else:
2470 self.refreshPUWindow(datatype=datatype, puObj=puObj)
2483 self.refreshPUWindow(datatype=datatype, puObj=puObj)
2471 self.showPUSpectraProperties(puObj)
2484 self.showPUSpectraProperties(puObj)
2472
2485
2473 if self.selectedItemTree.text() == 'Correlation':
2486 if self.selectedItemTree.text() == 'Correlation':
2474 self.tabCorrelation.setEnabled(True)
2487 self.tabCorrelation.setEnabled(True)
2475 self.tabVoltage.setEnabled(False)
2488 self.tabVoltage.setEnabled(False)
2476 self.tabSpectra.setEnabled(False)
2489 self.tabSpectra.setEnabled(False)
2477 self.tabWidgetProject.setCurrentWidget(self.tabCorrelation)
2490 self.tabWidgetProject.setCurrentWidget(self.tabCorrelation)
2478
2491
2479 if self.selectedItemTree.text() == 'SpectraHeis':
2492 if self.selectedItemTree.text() == 'SpectraHeis':
2480 datatype = 'SpectraHeis'
2493 datatype = 'SpectraHeis'
2481 puObj = self.getSelectedPUObj()
2494 puObj = self.getSelectedPUObj()
2482 self.showtabPUCreated(datatype=datatype)
2495 self.showtabPUCreated(datatype=datatype)
2483 if len(puObj.getOperationObjList()) == 1:
2496 if len(puObj.getOperationObjList()) == 1:
2484 self.setInputsPU_View(datatype)
2497 self.setInputsPU_View(datatype)
2485 else:
2498 else:
2486 self.refreshPUWindow(datatype=datatype, puObj=puObj)
2499 self.refreshPUWindow(datatype=datatype, puObj=puObj)
2487 self.showPUSpectraHeisProperties(puObj)
2500 self.showPUSpectraHeisProperties(puObj)
2488
2501
2489
2502
2490 def on_right_click(self, pos):
2503 def on_right_click(self, pos):
2491
2504
2492 self.menu = QtGui.QMenu()
2505 self.menu = QtGui.QMenu()
2493 quitAction0 = self.menu.addAction("NewProject")
2506 quitAction0 = self.menu.addAction("NewProject")
2494 quitAction1 = self.menu.addAction("NewProcessingUnit")
2507 quitAction1 = self.menu.addAction("NewProcessingUnit")
2495 quitAction2 = self.menu.addAction("Delete")
2508 quitAction2 = self.menu.addAction("Delete")
2496 quitAction3 = self.menu.addAction("Exit")
2509 quitAction3 = self.menu.addAction("Exit")
2497
2510
2498 if len(self.__itemTreeDict) == 0:
2511 if len(self.__itemTreeDict) == 0:
2499 quitAction2.setEnabled(False)
2512 quitAction2.setEnabled(False)
2500 else:
2513 else:
2501 quitAction2.setEnabled(True)
2514 quitAction2.setEnabled(True)
2502
2515
2503 action = self.menu.exec_(self.mapToGlobal(pos))
2516 action = self.menu.exec_(self.mapToGlobal(pos))
2504
2517
2505 if action == quitAction0:
2518 if action == quitAction0:
2506 self. setInputsProject_View()
2519 self. setInputsProject_View()
2507 self.create = True
2520 self.create = True
2508
2521
2509 if action == quitAction1:
2522 if action == quitAction1:
2510 if len(self.__projectObjDict) == 0:
2523 if len(self.__projectObjDict) == 0:
2511 outputstr = "First Create a Project then add Processing Unit"
2524 outputstr = "First Create a Project then add Processing Unit"
2512 self.console.clear()
2525 self.console.clear()
2513 self.console.append(outputstr)
2526 self.console.append(outputstr)
2514 return 0
2527 return 0
2515 else:
2528 else:
2516 self.addPUWindow()
2529 self.addPUWindow()
2517 self.console.clear()
2530 self.console.clear()
2518 self.console.append("Please, Choose the type of Processing Unit")
2531 self.console.append("Please, Choose the type of Processing Unit")
2519 self.console.append("If your Datatype is rawdata, you will start with processing unit Type Voltage")
2532 self.console.append("If your Datatype is rawdata, you will start with processing unit Type Voltage")
2520 self.console.append("If your Datatype is pdata, you will choose between processing unit Type Spectra or Correlation")
2533 self.console.append("If your Datatype is pdata, you will choose between processing unit Type Spectra or Correlation")
2521 self.console.append("If your Datatype is fits, you will start with processing unit Type SpectraHeis")
2534 self.console.append("If your Datatype is fits, you will start with processing unit Type SpectraHeis")
2522
2535
2523 if action == quitAction2:
2536 if action == quitAction2:
2524 index = self.selectedItemTree
2537 index = self.selectedItemTree
2525 try:
2538 try:
2526 index.parent()
2539 index.parent()
2527 except:
2540 except:
2528 self.console.append('First left click on Project or Processing Unit')
2541 self.console.append('First left click on Project or Processing Unit')
2529 return 0
2542 return 0
2530 # print index.parent(),index
2543 # print index.parent(),index
2531 if index.parent() == None:
2544 if index.parent() == None:
2532 self.projectExplorerModel.removeRow(index.row())
2545 self.projectExplorerModel.removeRow(index.row())
2533 else:
2546 else:
2534 index.parent().removeRow(index.row())
2547 index.parent().removeRow(index.row())
2535 self.deleteProjectorPU()
2548 self.deleteProjectorPU()
2536 self.console.clear()
2549 self.console.clear()
2537 # for i in self.projectExplorerTree.selectionModel().selection().indexes():
2550 # for i in self.projectExplorerTree.selectionModel().selection().indexes():
2538 # print i.row()
2551 # print i.row()
2539
2552
2540 if action == quitAction3:
2553 if action == quitAction3:
2541 return
2554 return
2542
2555
2543 def refreshProjectWindow(self, project_name, description, datatype, data_path, startDate, endDate, startTime, endTime, online, delay, set):
2556 def refreshProjectWindow(self, project_name, description, datatype, data_path, startDate, endDate, startTime, endTime, online, delay, set):
2544
2557
2545 self.proName.setText(str(project_name))
2558 self.proName.setText(str(project_name))
2546
2559
2547 if datatype == 'Voltage':
2560 if datatype == 'Voltage':
2548 ext = '.r'
2561 ext = '.r'
2549 value = 0
2562 value = 0
2550 elif datatype == 'Spectra':
2563 elif datatype == 'Spectra':
2551 ext = '.pdata'
2564 ext = '.pdata'
2552 value = 1
2565 value = 1
2553 elif datatype == 'Fits':
2566 elif datatype == 'Fits':
2554 ext = 'fits'
2567 ext = 'fits'
2555 value = 2
2568 value = 2
2556 self.proDataType.setText(ext)
2569 self.proDataType.setText(ext)
2557 self.proDataPath.setText(str(data_path))
2570 self.proDataPath.setText(str(data_path))
2558 self.proComDataType.setCurrentIndex(value)
2571 self.proComDataType.setCurrentIndex(value)
2559 self.proComReadMode.setCurrentIndex(int(online))
2572 self.proComReadMode.setCurrentIndex(int(online))
2560 self.proDelay.setText(str(delay))
2573 self.proDelay.setText(str(delay))
2561 self.proSet.setText(str(set))
2574 self.proSet.setText(str(set))
2562 self.proComStartDate.clear()
2575 self.proComStartDate.clear()
2563 self.proComEndDate.clear()
2576 self.proComEndDate.clear()
2564 self.proComStartDate.addItem(str(startDate))
2577 self.proComStartDate.addItem(str(startDate))
2565 self.proComEndDate.addItem(str(endDate))
2578 self.proComEndDate.addItem(str(endDate))
2566 starTime = str(startTime)
2579 starTime = str(startTime)
2567 starlist = starTime.split(":")
2580 starlist = starTime.split(":")
2568 endTime = str(endTime)
2581 endTime = str(endTime)
2569 endlist = endTime.split(":")
2582 endlist = endTime.split(":")
2570 self.time.setHMS(int(starlist[0]), int(starlist[1]), int(starlist[2]))
2583 self.time.setHMS(int(starlist[0]), int(starlist[1]), int(starlist[2]))
2571 self.proStartTime.setTime(self.time)
2584 self.proStartTime.setTime(self.time)
2572 self.time.setHMS(int(endlist[0]), int(endlist[1]), int(endlist[2]))
2585 self.time.setHMS(int(endlist[0]), int(endlist[1]), int(endlist[2]))
2573 self.proEndTime.setTime(self.time)
2586 self.proEndTime.setTime(self.time)
2574 self.proDescription.clear()
2587 self.proDescription.clear()
2575 self.proDescription.append(description)
2588 self.proDescription.append(description)
2576
2589
2577 def refreshPUWindow(self, datatype, puObj):
2590 def refreshPUWindow(self, datatype, puObj):
2578
2591
2579 if datatype == 'Voltage':
2592 if datatype == 'Voltage':
2580 opObj = puObj.getOperationObj(name='setRadarFrequency')
2593 opObj = puObj.getOperationObj(name='setRadarFrequency')
2581 if opObj == None:
2594 if opObj == None:
2582 self.volOpRadarfrequency.clear()
2595 self.volOpRadarfrequency.clear()
2583 self.volOpCebRadarfrequency.setCheckState(0)
2596 self.volOpCebRadarfrequency.setCheckState(0)
2584 else:
2597 else:
2585 value = opObj.getParameterValue(parameterName='frequency')
2598 value = opObj.getParameterValue(parameterName='frequency')
2586 value = str(value)
2599 value = str(value)
2587 self.volOpRadarfrequency.setText(value)
2600 self.volOpRadarfrequency.setText(value)
2588 self.volOpRadarfrequency.setEnabled(True)
2601 self.volOpRadarfrequency.setEnabled(True)
2589 self.volOpCebRadarfrequency.setCheckState(QtCore.Qt.Checked)
2602 self.volOpCebRadarfrequency.setCheckState(QtCore.Qt.Checked)
2590
2603
2591
2604
2592 opObj = puObj.getOperationObj(name="selectChannels")
2605 opObj = puObj.getOperationObj(name="selectChannels")
2593 if opObj == None:
2606 if opObj == None:
2594 self.volOpChannel.clear()
2607 self.volOpChannel.clear()
2595 self.volOpCebChannels.setCheckState(0)
2608 self.volOpCebChannels.setCheckState(0)
2596
2609
2597 else:
2610 else:
2598 value = opObj.getParameterValue(parameterName='channelList')
2611 value = opObj.getParameterValue(parameterName='channelList')
2599 value = str(value)[1:-1]
2612 value = str(value)[1:-1]
2600 self.volOpChannel.setText(value)
2613 self.volOpChannel.setText(value)
2601 self.volOpChannel.setEnabled(True)
2614 self.volOpChannel.setEnabled(True)
2602 self.volOpCebChannels.setCheckState(QtCore.Qt.Checked)
2615 self.volOpCebChannels.setCheckState(QtCore.Qt.Checked)
2603
2616
2604
2617
2605 opObj = puObj.getOperationObj(name="selectHeights")
2618 opObj = puObj.getOperationObj(name="selectHeights")
2606 if opObj == None:
2619 if opObj == None:
2607 self.volOpHeights.clear()
2620 self.volOpHeights.clear()
2608 self.volOpCebHeights.setCheckState(0)
2621 self.volOpCebHeights.setCheckState(0)
2609 else:
2622 else:
2610 value1 = int(opObj.getParameterValue(parameterName='minHei'))
2623 value1 = int(opObj.getParameterValue(parameterName='minHei'))
2611 value1 = str(value1)
2624 value1 = str(value1)
2612 value2 = int(opObj.getParameterValue(parameterName='maxHei'))
2625 value2 = int(opObj.getParameterValue(parameterName='maxHei'))
2613 value2 = str(value2)
2626 value2 = str(value2)
2614 value = value1 + "," + value2
2627 value = value1 + "," + value2
2615 self.volOpHeights.setText(value)
2628 self.volOpHeights.setText(value)
2616 self.volOpHeights.setEnabled(True)
2629 self.volOpHeights.setEnabled(True)
2617 self.volOpCebHeights.setCheckState(QtCore.Qt.Checked)
2630 self.volOpCebHeights.setCheckState(QtCore.Qt.Checked)
2618
2631
2619 opObj = puObj.getOperationObj(name="filterByHeights")
2632 opObj = puObj.getOperationObj(name="filterByHeights")
2620 if opObj == None:
2633 if opObj == None:
2621 self.volOpFilter.clear()
2634 self.volOpFilter.clear()
2622 self.volOpCebFilter.setCheckState(0)
2635 self.volOpCebFilter.setCheckState(0)
2623 else:
2636 else:
2624 value = opObj.getParameterValue(parameterName='window')
2637 value = opObj.getParameterValue(parameterName='window')
2625 value = str(value)
2638 value = str(value)
2626 self.volOpFilter.setText(value)
2639 self.volOpFilter.setText(value)
2627 self.volOpFilter.setEnabled(True)
2640 self.volOpFilter.setEnabled(True)
2628 self.volOpCebFilter.setCheckState(QtCore.Qt.Checked)
2641 self.volOpCebFilter.setCheckState(QtCore.Qt.Checked)
2629
2642
2630 opObj = puObj.getOperationObj(name="ProfileSelector")
2643 opObj = puObj.getOperationObj(name="ProfileSelector")
2631 if opObj == None:
2644 if opObj == None:
2632 self.volOpProfile.clear()
2645 self.volOpProfile.clear()
2633 self.volOpCebProfile.setCheckState(0)
2646 self.volOpCebProfile.setCheckState(0)
2634 else:
2647 else:
2635 for parmObj in opObj.getParameterObjList():
2648 for parmObj in opObj.getParameterObjList():
2636 if parmObj.name == "profileRangeList":
2649 if parmObj.name == "profileRangeList":
2637 value = opObj.getParameterValue(parameterName='profileRangeList')
2650 value = opObj.getParameterValue(parameterName='profileRangeList')
2638 value = str(value)[1:-1]
2651 value = str(value)[1:-1]
2639 self.volOpProfile.setText(value)
2652 self.volOpProfile.setText(value)
2640 self.volOpProfile.setEnabled(True)
2653 self.volOpProfile.setEnabled(True)
2641 self.volOpCebProfile.setCheckState(QtCore.Qt.Checked)
2654 self.volOpCebProfile.setCheckState(QtCore.Qt.Checked)
2642 self.volOpComProfile.setCurrentIndex(1)
2655 self.volOpComProfile.setCurrentIndex(1)
2643 if parmObj.name == "profileList":
2656 if parmObj.name == "profileList":
2644 value = opObj.getParameterValue(parameterName='profileList')
2657 value = opObj.getParameterValue(parameterName='profileList')
2645 value = str(value)[1:-1]
2658 value = str(value)[1:-1]
2646 self.volOpProfile.setText(value)
2659 self.volOpProfile.setText(value)
2647 self.volOpProfile.setEnabled(True)
2660 self.volOpProfile.setEnabled(True)
2648 self.volOpCebProfile.setCheckState(QtCore.Qt.Checked)
2661 self.volOpCebProfile.setCheckState(QtCore.Qt.Checked)
2649 self.volOpComProfile.setCurrentIndex(0)
2662 self.volOpComProfile.setCurrentIndex(0)
2650
2663
2651
2664
2652 opObj = puObj.getOperationObj(name="Decoder")
2665 opObj = puObj.getOperationObj(name="Decoder")
2653 if opObj == None:
2666 if opObj == None:
2654 self.volOpCebDecodification.setCheckState(0)
2667 self.volOpCebDecodification.setCheckState(0)
2655 else:
2668 else:
2656 try:
2669 try:
2657 valueCode = opObj.getParameterValue(parameterName='nCode')
2670 valueCode = opObj.getParameterValue(parameterName='nCode')
2658 status = "on"
2671 status = "on"
2659 except:
2672 except:
2660 status = "off"
2673 status = "off"
2661 if not status == "off":
2674 if not status == "off":
2662 if int(valueCode) == 1:
2675 if int(valueCode) == 1:
2663 valueBaud = opObj.getParameterValue(parameterName='nBaud')
2676 valueBaud = opObj.getParameterValue(parameterName='nBaud')
2664 if int(valueBaud) == 3:
2677 if int(valueBaud) == 3:
2665 self.volOpComCode.setCurrentIndex(0)
2678 self.volOpComCode.setCurrentIndex(0)
2666 if int(valueBaud) == 4:
2679 if int(valueBaud) == 4:
2667 self.volOpComCode.setCurrentIndex(1)
2680 self.volOpComCode.setCurrentIndex(1)
2668 if int(valueBaud) == 5:
2681 if int(valueBaud) == 5:
2669 self.volOpComCode.setCurrentIndex(2)
2682 self.volOpComCode.setCurrentIndex(2)
2670 if int(valueBaud) == 7:
2683 if int(valueBaud) == 7:
2671 self.volOpComCode.setCurrentIndex(3)
2684 self.volOpComCode.setCurrentIndex(3)
2672 if int(valueBaud) == 11:
2685 if int(valueBaud) == 11:
2673 self.volOpComCode.setCurrentIndex(4)
2686 self.volOpComCode.setCurrentIndex(4)
2674 if int(valueBaud) == 13:
2687 if int(valueBaud) == 13:
2675 self.volOpComCode.setCurrentIndex(5)
2688 self.volOpComCode.setCurrentIndex(5)
2676 else:
2689 else:
2677 valueBaud = opObj.getParameterValue(parameterName='nBaud')
2690 valueBaud = opObj.getParameterValue(parameterName='nBaud')
2678 if int(valueBaud) == 3:
2691 if int(valueBaud) == 3:
2679 self.volOpComCode.setCurrentIndex(6)
2692 self.volOpComCode.setCurrentIndex(6)
2680 if int(valueBaud) == 4:
2693 if int(valueBaud) == 4:
2681 self.volOpComCode.setCurrentIndex(7)
2694 self.volOpComCode.setCurrentIndex(7)
2682 if int(valueBaud) == 5:
2695 if int(valueBaud) == 5:
2683 self.volOpComCode.setCurrentIndex(8)
2696 self.volOpComCode.setCurrentIndex(8)
2684 if int(valueBaud) == 7:
2697 if int(valueBaud) == 7:
2685 self.volOpComCode.setCurrentIndex(9)
2698 self.volOpComCode.setCurrentIndex(9)
2686 if int(valueBaud) == 11:
2699 if int(valueBaud) == 11:
2687 self.volOpComCode.setCurrentIndex(10)
2700 self.volOpComCode.setCurrentIndex(10)
2688 if int(valueBaud) == 13:
2701 if int(valueBaud) == 13:
2689 self.volOpComCode.setCurrentIndex(11)
2702 self.volOpComCode.setCurrentIndex(11)
2690
2703
2691 for parmObj in opObj.getParameterObjList():
2704 for parmObj in opObj.getParameterObjList():
2692 if parmObj.name == "nBaud":
2705 if parmObj.name == "nBaud":
2693 value = opObj.getParameterValue(parameterName='nBaud')
2706 value = opObj.getParameterValue(parameterName='nBaud')
2694 if parmObj.name == "mode":
2707 if parmObj.name == "mode":
2695 value = opObj.getParameterValue(parameterName='mode')
2708 value = opObj.getParameterValue(parameterName='mode')
2696 self.volOpComMode.setCurrentIndex(value)
2709 self.volOpComMode.setCurrentIndex(value)
2697 else:
2710 else:
2698 self.volOpComCode.setCurrentIndex(12)
2711 self.volOpComCode.setCurrentIndex(12)
2699 self.volOpCebDecodification.setCheckState(QtCore.Qt.Checked)
2712 self.volOpCebDecodification.setCheckState(QtCore.Qt.Checked)
2700
2713
2701 opObj = puObj.getOperationObj(name="CohInt")
2714 opObj = puObj.getOperationObj(name="CohInt")
2702 if opObj == None:
2715 if opObj == None:
2703 self.volOpCohInt.clear()
2716 self.volOpCohInt.clear()
2704 self.volOpCebCohInt.setCheckState(0)
2717 self.volOpCebCohInt.setCheckState(0)
2705 else:
2718 else:
2706 value = opObj.getParameterValue(parameterName='n')
2719 value = opObj.getParameterValue(parameterName='n')
2707 self.volOpCohInt.setText(str(value))
2720 self.volOpCohInt.setText(str(value))
2708 self.volOpCohInt.setEnabled(True)
2721 self.volOpCohInt.setEnabled(True)
2709 self.volOpCebCohInt.setCheckState(QtCore.Qt.Checked)
2722 self.volOpCebCohInt.setCheckState(QtCore.Qt.Checked)
2710
2723
2711 opObj = puObj.getOperationObj(name='Scope')
2724 opObj = puObj.getOperationObj(name='Scope')
2712 if opObj == None:
2725 if opObj == None:
2713 self.volGraphCebshow.setCheckState(0)
2726 self.volGraphCebshow.setCheckState(0)
2714 else:
2727 else:
2715 self.volGraphCebshow.setCheckState(QtCore.Qt.Checked)
2728 self.volGraphCebshow.setCheckState(QtCore.Qt.Checked)
2716 value = opObj.getParameterObj(parameterName='channelList')
2729 value = opObj.getParameterObj(parameterName='channelList')
2717 if value == None:
2730 if value == None:
2718 self.volGraphChannelList.clear()
2731 self.volGraphChannelList.clear()
2719 else:
2732 else:
2720 value = opObj.getParameterValue(parameterName='channelList')
2733 value = opObj.getParameterValue(parameterName='channelList')
2721 value = str(value)[1:-1]
2734 value = str(value)[1:-1]
2722 self.volGraphChannelList.setText(value)
2735 self.volGraphChannelList.setText(value)
2723 self.volOpProfile.setEnabled(True)
2736 self.volOpProfile.setEnabled(True)
2724
2737
2725 for parmObj in opObj.getParameterObjList():
2738 for parmObj in opObj.getParameterObjList():
2726 if parmObj.name == "xmin":
2739 if parmObj.name == "xmin":
2727 value1 = opObj.getParameterValue(parameterName='xmin')
2740 value1 = opObj.getParameterValue(parameterName='xmin')
2728 value1 = str(value1)
2741 value1 = str(value1)
2729 value2 = opObj.getParameterValue(parameterName='xmax')
2742 value2 = opObj.getParameterValue(parameterName='xmax')
2730 value2 = str(value2)
2743 value2 = str(value2)
2731 value = value1 + "," + value2
2744 value = value1 + "," + value2
2732 self.volGraphfreqrange.setText(value)
2745 self.volGraphfreqrange.setText(value)
2733 else:
2746 else:
2734 self.volGraphfreqrange.clear()
2747 self.volGraphfreqrange.clear()
2735 for parmObj in opObj.getParameterObjList():
2748 for parmObj in opObj.getParameterObjList():
2736 if parmObj.name == "ymin":
2749 if parmObj.name == "ymin":
2737 value1 = opObj.getParameterValue(parameterName='ymin')
2750 value1 = opObj.getParameterValue(parameterName='ymin')
2738 value1 = str(value1)
2751 value1 = str(value1)
2739 value2 = opObj.getParameterValue(parameterName='ymax')
2752 value2 = opObj.getParameterValue(parameterName='ymax')
2740 value2 = str(value2)
2753 value2 = str(value2)
2741 value = value1 + "," + value2
2754 value = value1 + "," + value2
2742 value2 = str(value2)
2755 value2 = str(value2)
2743 self.volGraphHeightrange.setText(value)
2756 self.volGraphHeightrange.setText(value)
2744 else:
2757 else:
2745 self.volGraphHeightrange.clear()
2758 self.volGraphHeightrange.clear()
2746
2759
2747
2760
2748 for parmObj in opObj.getParameterObjList():
2761 for parmObj in opObj.getParameterObjList():
2749 if parmObj.name == "save":
2762 if parmObj.name == "save":
2750 self.volGraphCebSave.setCheckState(QtCore.Qt.Checked)
2763 self.volGraphCebSave.setCheckState(QtCore.Qt.Checked)
2751 else:
2764 else:
2752 self.volGraphCebSave.setCheckState(QtCore.Qt.Unchecked)
2765 self.volGraphCebSave.setCheckState(QtCore.Qt.Unchecked)
2753
2766
2754 # outputVoltageWrite
2767 # outputVoltageWrite
2755 opObj = puObj.getOperationObj(name='VoltageWriter')
2768 opObj = puObj.getOperationObj(name='VoltageWriter')
2756 if opObj == None:
2769 if opObj == None:
2757 self.volOutputPath.clear()
2770 self.volOutputPath.clear()
2758 self.volOutputblocksperfile.clear()
2771 self.volOutputblocksperfile.clear()
2759 self.volOutputprofilesperblock.clear()
2772 self.volOutputprofilesperblock.clear()
2760 else:
2773 else:
2761 value = opObj.getParameterObj(parameterName='path')
2774 value = opObj.getParameterObj(parameterName='path')
2762 if value == None:
2775 if value == None:
2763 self.volOutputPath.clear()
2776 self.volOutputPath.clear()
2764 else:
2777 else:
2765 value = opObj.getParameterValue(parameterName='path')
2778 value = opObj.getParameterValue(parameterName='path')
2766 path = str(value)
2779 path = str(value)
2767 self.volOutputPath.setText(path)
2780 self.volOutputPath.setText(path)
2768 value = opObj.getParameterObj(parameterName='blocksPerFile')
2781 value = opObj.getParameterObj(parameterName='blocksPerFile')
2769 if value == None:
2782 if value == None:
2770 self.volOutputblocksperfile.clear()
2783 self.volOutputblocksperfile.clear()
2771 else:
2784 else:
2772 value = opObj.getParameterValue(parameterName='blocksPerFile')
2785 value = opObj.getParameterValue(parameterName='blocksPerFile')
2773 blocksperfile = str(value)
2786 blocksperfile = str(value)
2774 self.volOutputblocksperfile.setText(blocksperfile)
2787 self.volOutputblocksperfile.setText(blocksperfile)
2775 value = opObj.getParameterObj(parameterName='profilesPerBlock')
2788 value = opObj.getParameterObj(parameterName='profilesPerBlock')
2776 if value == None:
2789 if value == None:
2777 self.volOutputprofilesperblock.clear()
2790 self.volOutputprofilesperblock.clear()
2778 else:
2791 else:
2779 value = opObj.getParameterValue(parameterName='profilesPerBlock')
2792 value = opObj.getParameterValue(parameterName='profilesPerBlock')
2780 profilesPerBlock = str(value)
2793 profilesPerBlock = str(value)
2781 self.volOutputprofilesperblock.setText(profilesPerBlock)
2794 self.volOutputprofilesperblock.setText(profilesPerBlock)
2782
2795
2783 if datatype == 'Spectra':
2796 if datatype == 'Spectra':
2784
2797
2785 opObj = puObj.getOperationObj(name='setRadarFrequency')
2798 opObj = puObj.getOperationObj(name='setRadarFrequency')
2786 if opObj == None:
2799 if opObj == None:
2787 self.specOpRadarfrequency.clear()
2800 self.specOpRadarfrequency.clear()
2788 self.specOpCebRadarfrequency.setCheckState(0)
2801 self.specOpCebRadarfrequency.setCheckState(0)
2789 else:
2802 else:
2790 value = opObj.getParameterValue(parameterName='frequency')
2803 value = opObj.getParameterValue(parameterName='frequency')
2791 value = str(value)
2804 value = str(value)
2792 self.specOpRadarfrequency.setText(value)
2805 self.specOpRadarfrequency.setText(value)
2793 self.specOpRadarfrequency.setEnabled(True)
2806 self.specOpRadarfrequency.setEnabled(True)
2794 self.specOpCebRadarfrequency.setCheckState(QtCore.Qt.Checked)
2807 self.specOpCebRadarfrequency.setCheckState(QtCore.Qt.Checked)
2795
2808
2796 opObj = puObj.getOperationObj(name="run")
2809 opObj = puObj.getOperationObj(name="run")
2797 if opObj == None:
2810 if opObj == None:
2798 self.specOpnFFTpoints.clear()
2811 self.specOpnFFTpoints.clear()
2799 self.specOpProfiles.clear()
2812 self.specOpProfiles.clear()
2800 self.specOpippFactor.clear()
2813 self.specOpippFactor.clear()
2801 else:
2814 else:
2802 parmObj = opObj.getParameterObj(parameterName='nFFTPoints')
2815 parmObj = opObj.getParameterObj(parameterName='nFFTPoints')
2803 if parmObj == None:
2816 if parmObj == None:
2804 self.specOpnFFTpoints.clear()
2817 self.specOpnFFTpoints.clear()
2805 else:
2818 else:
2806 self.specOpnFFTpoints.setEnabled(True)
2819 self.specOpnFFTpoints.setEnabled(True)
2807 value = opObj.getParameterValue(parameterName='nFFTPoints')
2820 value = opObj.getParameterValue(parameterName='nFFTPoints')
2808 self.specOpnFFTpoints.setText(str(value))
2821 self.specOpnFFTpoints.setText(str(value))
2809
2822
2810 parmObj = opObj.getParameterObj(parameterName='nProfiles')
2823 parmObj = opObj.getParameterObj(parameterName='nProfiles')
2811 if parmObj == None:
2824 if parmObj == None:
2812 self.specOpProfiles.clear()
2825 self.specOpProfiles.clear()
2813 else:
2826 else:
2814 self.specOpProfiles.setEnabled(True)
2827 self.specOpProfiles.setEnabled(True)
2815 value = opObj.getParameterValue(parameterName='nProfiles')
2828 value = opObj.getParameterValue(parameterName='nProfiles')
2816 self.specOpProfiles.setText(str(value))
2829 self.specOpProfiles.setText(str(value))
2817
2830
2818 parmObj = opObj.getParameterObj(parameterName='ippFactor')
2831 parmObj = opObj.getParameterObj(parameterName='ippFactor')
2819 if parmObj == None:
2832 if parmObj == None:
2820 self.specOpippFactor.clear()
2833 self.specOpippFactor.clear()
2821 else:
2834 else:
2822 self.specOpippFactor.setEnabled(True)
2835 self.specOpippFactor.setEnabled(True)
2823 value = opObj.getParameterValue(parameterName='ippFactor')
2836 value = opObj.getParameterValue(parameterName='ippFactor')
2824 self.specOpippFactor.setText(str(value))
2837 self.specOpippFactor.setText(str(value))
2825
2838
2826 opObj = puObj.getOperationObj(name="run")
2839 opObj = puObj.getOperationObj(name="run")
2827 if opObj == None:
2840 if opObj == None:
2828 self.specOppairsList.clear()
2841 self.specOppairsList.clear()
2829 self.specOpCebCrossSpectra.setCheckState(0)
2842 self.specOpCebCrossSpectra.setCheckState(0)
2830 else:
2843 else:
2831 parmObj = opObj.getParameterObj(parameterName='pairsList')
2844 parmObj = opObj.getParameterObj(parameterName='pairsList')
2832 if parmObj == None:
2845 if parmObj == None:
2833 self.specOppairsList.clear()
2846 self.specOppairsList.clear()
2834 self.specOpCebCrossSpectra.setCheckState(0)
2847 self.specOpCebCrossSpectra.setCheckState(0)
2835 else:
2848 else:
2836 value = opObj.getParameterValue(parameterName='pairsList')
2849 value = opObj.getParameterValue(parameterName='pairsList')
2837 value = str(value)[1:-1]
2850 value = str(value)[1:-1]
2838 self.specOppairsList.setText(str(value))
2851 self.specOppairsList.setText(str(value))
2839 self.specOppairsList.setEnabled(True)
2852 self.specOppairsList.setEnabled(True)
2840 self.specOpCebCrossSpectra.setCheckState(QtCore.Qt.Checked)
2853 self.specOpCebCrossSpectra.setCheckState(QtCore.Qt.Checked)
2841
2854
2842 opObj = puObj.getOperationObj(name="selectChannels")
2855 opObj = puObj.getOperationObj(name="selectChannels")
2843 if opObj == None:
2856 if opObj == None:
2844 self.specOpChannel.clear()
2857 self.specOpChannel.clear()
2845 self.specOpCebChannel.setCheckState(0)
2858 self.specOpCebChannel.setCheckState(0)
2846 else:
2859 else:
2847 value = opObj.getParameterValue(parameterName='channelList')
2860 value = opObj.getParameterValue(parameterName='channelList')
2848 value = str(value)[1:-1]
2861 value = str(value)[1:-1]
2849 self.specOpChannel.setText(value)
2862 self.specOpChannel.setText(value)
2850 self.specOpChannel.setEnabled(True)
2863 self.specOpChannel.setEnabled(True)
2851 self.specOpCebChannel.setCheckState(QtCore.Qt.Checked)
2864 self.specOpCebChannel.setCheckState(QtCore.Qt.Checked)
2852
2865
2853 opObj = puObj.getOperationObj(name="selectHeights")
2866 opObj = puObj.getOperationObj(name="selectHeights")
2854 if opObj == None:
2867 if opObj == None:
2855 self.specOpHeights.clear()
2868 self.specOpHeights.clear()
2856 self.specOpCebHeights.setCheckState(0)
2869 self.specOpCebHeights.setCheckState(0)
2857 else:
2870 else:
2858 value1 = int(opObj.getParameterValue(parameterName='minHei'))
2871 value1 = int(opObj.getParameterValue(parameterName='minHei'))
2859 value1 = str(value1)
2872 value1 = str(value1)
2860 value2 = int(opObj.getParameterValue(parameterName='maxHei'))
2873 value2 = int(opObj.getParameterValue(parameterName='maxHei'))
2861 value2 = str(value2)
2874 value2 = str(value2)
2862 value = value1 + "," + value2
2875 value = value1 + "," + value2
2863 self.specOpHeights.setText(value)
2876 self.specOpHeights.setText(value)
2864 self.specOpHeights.setEnabled(True)
2877 self.specOpHeights.setEnabled(True)
2865 self.specOpCebHeights.setCheckState(QtCore.Qt.Checked)
2878 self.specOpCebHeights.setCheckState(QtCore.Qt.Checked)
2866
2879
2867 opObj = puObj.getOperationObj(name="IncohInt")
2880 opObj = puObj.getOperationObj(name="IncohInt")
2868 if opObj == None:
2881 if opObj == None:
2869 self.specOpIncoherent.clear()
2882 self.specOpIncoherent.clear()
2870 self.specOpCebIncoherent.setCheckState(0)
2883 self.specOpCebIncoherent.setCheckState(0)
2871 else:
2884 else:
2872 for parmObj in opObj.getParameterObjList():
2885 for parmObj in opObj.getParameterObjList():
2873 if parmObj.name == 'timeInterval':
2886 if parmObj.name == 'timeInterval':
2874 value = opObj.getParameterValue(parameterName='timeInterval')
2887 value = opObj.getParameterValue(parameterName='timeInterval')
2875 value = float(value)
2888 value = float(value)
2876 self.specOpIncoherent.setText(str(value))
2889 self.specOpIncoherent.setText(str(value))
2877 self.specOpIncoherent.setEnabled(True)
2890 self.specOpIncoherent.setEnabled(True)
2878 self.specOpCebIncoherent.setCheckState(QtCore.Qt.Checked)
2891 self.specOpCebIncoherent.setCheckState(QtCore.Qt.Checked)
2879 self.specOpCobIncInt.setCurrentIndex(0)
2892 self.specOpCobIncInt.setCurrentIndex(0)
2880
2893
2881 if parmObj.name == 'n':
2894 if parmObj.name == 'n':
2882 value = opObj.getParameterValue(parameterName='n')
2895 value = opObj.getParameterValue(parameterName='n')
2883 value = float(value)
2896 value = float(value)
2884 self.specOpIncoherent.setText(str(value))
2897 self.specOpIncoherent.setText(str(value))
2885 self.specOpIncoherent.setEnabled(True)
2898 self.specOpIncoherent.setEnabled(True)
2886 self.specOpCebIncoherent.setCheckState(QtCore.Qt.Checked)
2899 self.specOpCebIncoherent.setCheckState(QtCore.Qt.Checked)
2887 self.specOpCobIncInt.setCurrentIndex(1)
2900 self.specOpCobIncInt.setCurrentIndex(1)
2888
2901
2889 opObj = puObj.getOperationObj(name="removeDC")
2902 opObj = puObj.getOperationObj(name="removeDC")
2890 if opObj == None:
2903 if opObj == None:
2891 self.specOpCebRemoveDC.setCheckState(0)
2904 self.specOpCebRemoveDC.setCheckState(0)
2892 else:
2905 else:
2893 self.specOpCebRemoveDC.setCheckState(QtCore.Qt.Checked)
2906 self.specOpCebRemoveDC.setCheckState(QtCore.Qt.Checked)
2894 value = opObj.getParameterValue(parameterName='mode')
2907 value = opObj.getParameterValue(parameterName='mode')
2895 if value == 1:
2908 if value == 1:
2896 self.specOpComRemoveDC.setCurrentIndex(0)
2909 self.specOpComRemoveDC.setCurrentIndex(0)
2897 elif value == 2:
2910 elif value == 2:
2898 self.specOpComRemoveDC.setCurrentIndex(1)
2911 self.specOpComRemoveDC.setCurrentIndex(1)
2899
2912
2900 opObj = puObj.getOperationObj(name="removeInterference")
2913 opObj = puObj.getOperationObj(name="removeInterference")
2901 if opObj == None:
2914 if opObj == None:
2902 self.specOpCebRemoveInt.setCheckState(0)
2915 self.specOpCebRemoveInt.setCheckState(0)
2903 else:
2916 else:
2904 self.specOpCebRemoveInt.setCheckState(QtCore.Qt.Checked)
2917 self.specOpCebRemoveInt.setCheckState(QtCore.Qt.Checked)
2905
2918
2906 opObj = puObj.getOperationObj(name='getNoise')
2919 opObj = puObj.getOperationObj(name='getNoise')
2907 if opObj == None:
2920 if opObj == None:
2908 self.specOpCebgetNoise.setCheckState(0)
2921 self.specOpCebgetNoise.setCheckState(0)
2909 self.specOpgetNoise.clear()
2922 self.specOpgetNoise.clear()
2910 else:
2923 else:
2911 self.specOpCebgetNoise.setCheckState(QtCore.Qt.Checked)
2924 self.specOpCebgetNoise.setCheckState(QtCore.Qt.Checked)
2912 parmObj = opObj.getParameterObj(parameterName='minHei')
2925 parmObj = opObj.getParameterObj(parameterName='minHei')
2913 if parmObj == None:
2926 if parmObj == None:
2914 self.specOpgetNoise.clear()
2927 self.specOpgetNoise.clear()
2915 value1 = None
2928 value1 = None
2916 else:
2929 else:
2917 value1 = opObj.getParameterValue(parameterName='minHei')
2930 value1 = opObj.getParameterValue(parameterName='minHei')
2918 value1 = str(value1)
2931 value1 = str(value1)
2919 parmObj = opObj.getParameterObj(parameterName='maxHei')
2932 parmObj = opObj.getParameterObj(parameterName='maxHei')
2920 if parmObj == None:
2933 if parmObj == None:
2921 value2 = None
2934 value2 = None
2922 value = value1
2935 value = value1
2923 self.specOpgetNoise.setText(value)
2936 self.specOpgetNoise.setText(value)
2924 self.specOpgetNoise.setEnabled(True)
2937 self.specOpgetNoise.setEnabled(True)
2925 else:
2938 else:
2926 value2 = opObj.getParameterValue(parameterName='maxHei')
2939 value2 = opObj.getParameterValue(parameterName='maxHei')
2927 value2 = str(value2)
2940 value2 = str(value2)
2928 parmObj = opObj.getParameterObj(parameterName='minVel')
2941 parmObj = opObj.getParameterObj(parameterName='minVel')
2929 if parmObj == None:
2942 if parmObj == None:
2930 value3 = None
2943 value3 = None
2931 value = value1 + "," + value2
2944 value = value1 + "," + value2
2932 self.specOpgetNoise.setText(value)
2945 self.specOpgetNoise.setText(value)
2933 self.specOpgetNoise.setEnabled(True)
2946 self.specOpgetNoise.setEnabled(True)
2934 else:
2947 else:
2935 value3 = opObj.getParameterValue(parameterName='minVel')
2948 value3 = opObj.getParameterValue(parameterName='minVel')
2936 value3 = str(value3)
2949 value3 = str(value3)
2937 parmObj = opObj.getParameterObj(parameterName='maxVel')
2950 parmObj = opObj.getParameterObj(parameterName='maxVel')
2938 if parmObj == None:
2951 if parmObj == None:
2939 value4 = None
2952 value4 = None
2940 value = value1 + "," + value2 + "," + value3
2953 value = value1 + "," + value2 + "," + value3
2941 self.specOpgetNoise.setText(value)
2954 self.specOpgetNoise.setText(value)
2942 self.specOpgetNoise.setEnabled(True)
2955 self.specOpgetNoise.setEnabled(True)
2943 else:
2956 else:
2944 value4 = opObj.getParameterValue(parameterName='maxVel')
2957 value4 = opObj.getParameterValue(parameterName='maxVel')
2945 value4 = str(value4)
2958 value4 = str(value4)
2946 value = value1 + "," + value2 + "," + value3 + ',' + value4
2959 value = value1 + "," + value2 + "," + value3 + ',' + value4
2947 self.specOpgetNoise.setText(value)
2960 self.specOpgetNoise.setText(value)
2948 self.specOpgetNoise.setEnabled(True)
2961 self.specOpgetNoise.setEnabled(True)
2949
2962
2950 opObj = puObj.getOperationObj(name='SpectraPlot')
2963 opObj = puObj.getOperationObj(name='SpectraPlot')
2951 # opObj = puObj.getOpObjfromParamValue(value="SpectraPlot")
2964 # opObj = puObj.getOpObjfromParamValue(value="SpectraPlot")
2952 if opObj == None:
2965 if opObj == None:
2953 self.specGraphCebSpectraplot.setCheckState(0)
2966 self.specGraphCebSpectraplot.setCheckState(0)
2954 self.specGraphSaveSpectra.setCheckState(0)
2967 self.specGraphSaveSpectra.setCheckState(0)
2955 self.specGraphftpSpectra.setCheckState(0)
2968 self.specGraphftpSpectra.setCheckState(0)
2956
2969
2957 else:
2970 else:
2958 operationSpectraPlot = "Enable"
2971 operationSpectraPlot = "Enable"
2959 self.specGraphCebSpectraplot.setCheckState(QtCore.Qt.Checked)
2972 self.specGraphCebSpectraplot.setCheckState(QtCore.Qt.Checked)
2960 parmObj = opObj.getParameterObj(parameterName='channelList')
2973 parmObj = opObj.getParameterObj(parameterName='channelList')
2961 if parmObj == None:
2974 if parmObj == None:
2962 self.specGgraphChannelList.clear()
2975 self.specGgraphChannelList.clear()
2963 else:
2976 else:
2964 value = opObj.getParameterValue(parameterName='channelList')
2977 value = opObj.getParameterValue(parameterName='channelList')
2965 channelListSpectraPlot = str(value)[1:-1]
2978 channelListSpectraPlot = str(value)[1:-1]
2966 self.specGgraphChannelList.setText(channelListSpectraPlot)
2979 self.specGgraphChannelList.setText(channelListSpectraPlot)
2967 self.specGgraphChannelList.setEnabled(True)
2980 self.specGgraphChannelList.setEnabled(True)
2968
2981
2969 parmObj = opObj.getParameterObj(parameterName='xmin')
2982 parmObj = opObj.getParameterObj(parameterName='xmin')
2970 if parmObj == None:
2983 if parmObj == None:
2971 self.specGgraphFreq.clear()
2984 self.specGgraphFreq.clear()
2972 else:
2985 else:
2973 value1 = opObj.getParameterValue(parameterName='xmin')
2986 value1 = opObj.getParameterValue(parameterName='xmin')
2974 value1 = str(value1)
2987 value1 = str(value1)
2975 value2 = opObj.getParameterValue(parameterName='xmax')
2988 value2 = opObj.getParameterValue(parameterName='xmax')
2976 value2 = str(value2)
2989 value2 = str(value2)
2977 value = value1 + "," + value2
2990 value = value1 + "," + value2
2978 self.specGgraphFreq.setText(value)
2991 self.specGgraphFreq.setText(value)
2979 self.specGgraphFreq.setEnabled(True)
2992 self.specGgraphFreq.setEnabled(True)
2980
2993
2981 parmObj = opObj.getParameterObj(parameterName='ymin')
2994 parmObj = opObj.getParameterObj(parameterName='ymin')
2982 if parmObj == None:
2995 if parmObj == None:
2983 self.specGgraphHeight.clear()
2996 self.specGgraphHeight.clear()
2984 else:
2997 else:
2985 value1 = opObj.getParameterValue(parameterName='ymin')
2998 value1 = opObj.getParameterValue(parameterName='ymin')
2986 value1 = str(value1)
2999 value1 = str(value1)
2987 value2 = opObj.getParameterValue(parameterName='ymax')
3000 value2 = opObj.getParameterValue(parameterName='ymax')
2988 value2 = str(value2)
3001 value2 = str(value2)
2989 value = value1 + "," + value2
3002 value = value1 + "," + value2
2990 self.specGgraphHeight.setText(value)
3003 self.specGgraphHeight.setText(value)
2991 self.specGgraphHeight.setEnabled(True)
3004 self.specGgraphHeight.setEnabled(True)
2992
3005
2993 parmObj = opObj.getParameterObj(parameterName='zmin')
3006 parmObj = opObj.getParameterObj(parameterName='zmin')
2994 if parmObj == None:
3007 if parmObj == None:
2995 self.specGgraphDbsrange.clear()
3008 self.specGgraphDbsrange.clear()
2996 else:
3009 else:
2997 value1 = opObj.getParameterValue(parameterName='zmin')
3010 value1 = opObj.getParameterValue(parameterName='zmin')
2998 value1 = str(value1)
3011 value1 = str(value1)
2999 value2 = opObj.getParameterValue(parameterName='zmax')
3012 value2 = opObj.getParameterValue(parameterName='zmax')
3000 value2 = str(value2)
3013 value2 = str(value2)
3001 value = value1 + "," + value2
3014 value = value1 + "," + value2
3002 self.specGgraphDbsrange.setText(value)
3015 self.specGgraphDbsrange.setText(value)
3003 self.specGgraphDbsrange.setEnabled(True)
3016 self.specGgraphDbsrange.setEnabled(True)
3004
3017
3005
3018
3006 parmObj = opObj.getParameterObj(parameterName="figpath")
3019 parmObj = opObj.getParameterObj(parameterName="figpath")
3007 if parmObj == None:
3020 if parmObj == None:
3008 self.specGraphSaveSpectra.setCheckState(0)
3021 self.specGraphSaveSpectra.setCheckState(0)
3009 else:
3022 else:
3010 self.specGraphSaveSpectra.setCheckState(QtCore.Qt.Checked)
3023 self.specGraphSaveSpectra.setCheckState(QtCore.Qt.Checked)
3011 value = opObj.getParameterValue(parameterName='figpath')
3024 value = opObj.getParameterValue(parameterName='figpath')
3012 self.specGraphPath.setText(value)
3025 self.specGraphPath.setText(value)
3013
3026
3014 parmObj = opObj.getParameterObj(parameterName="ftp")
3027 parmObj = opObj.getParameterObj(parameterName="ftp")
3015 if parmObj == None:
3028 if parmObj == None:
3016 self.specGraphftpSpectra.setCheckState(0)
3029 self.specGraphftpSpectra.setCheckState(0)
3017 else:
3030 else:
3018 self.specGraphftpSpectra.setCheckState(QtCore.Qt.Checked)
3031 self.specGraphftpSpectra.setCheckState(QtCore.Qt.Checked)
3019 try:
3032 try:
3020 value = opObj.getParameterValue(parameterName='wr_period')
3033 value = opObj.getParameterValue(parameterName='wr_period')
3021 except:
3034 except:
3022 value = " "
3035 value = " "
3023 self.specGgraphftpratio.setText(str(value))
3036 self.specGgraphftpratio.setText(str(value))
3024
3037
3025 opObj = puObj.getOperationObj(name='CrossSpectraPlot')
3038 opObj = puObj.getOperationObj(name='CrossSpectraPlot')
3026 # opObj = puObj.getOpObjfromParamValue(value="CrossSpectraPlot")
3039 # opObj = puObj.getOpObjfromParamValue(value="CrossSpectraPlot")
3027 if opObj == None:
3040 if opObj == None:
3028 self.specGraphCebCrossSpectraplot.setCheckState(0)
3041 self.specGraphCebCrossSpectraplot.setCheckState(0)
3029 self.specGraphSaveCross.setCheckState(0)
3042 self.specGraphSaveCross.setCheckState(0)
3030
3043
3031 else:
3044 else:
3032 operationCrossSpectraPlot = "Enable"
3045 operationCrossSpectraPlot = "Enable"
3033 self.specGraphCebCrossSpectraplot.setCheckState(QtCore.Qt.Checked)
3046 self.specGraphCebCrossSpectraplot.setCheckState(QtCore.Qt.Checked)
3034 parmObj = opObj.getParameterObj(parameterName='xmin')
3047 parmObj = opObj.getParameterObj(parameterName='xmin')
3035 if parmObj == None:
3048 if parmObj == None:
3036 self.specGgraphFreq.clear()
3049 self.specGgraphFreq.clear()
3037 else:
3050 else:
3038 value1 = opObj.getParameterValue(parameterName='xmin')
3051 value1 = opObj.getParameterValue(parameterName='xmin')
3039 value1 = str(value1)
3052 value1 = str(value1)
3040 value2 = opObj.getParameterValue(parameterName='xmax')
3053 value2 = opObj.getParameterValue(parameterName='xmax')
3041 value2 = str(value2)
3054 value2 = str(value2)
3042 value = value1 + "," + value2
3055 value = value1 + "," + value2
3043 self.specGgraphFreq.setText(value)
3056 self.specGgraphFreq.setText(value)
3044 self.specGgraphFreq.setEnabled(True)
3057 self.specGgraphFreq.setEnabled(True)
3045
3058
3046 parmObj = opObj.getParameterObj(parameterName='ymin')
3059 parmObj = opObj.getParameterObj(parameterName='ymin')
3047 if parmObj == None:
3060 if parmObj == None:
3048 self.specGgraphHeight.clear()
3061 self.specGgraphHeight.clear()
3049 else:
3062 else:
3050 value1 = opObj.getParameterValue(parameterName='ymin')
3063 value1 = opObj.getParameterValue(parameterName='ymin')
3051 value1 = str(value1)
3064 value1 = str(value1)
3052 value2 = opObj.getParameterValue(parameterName='ymax')
3065 value2 = opObj.getParameterValue(parameterName='ymax')
3053 value2 = str(value2)
3066 value2 = str(value2)
3054 value = value1 + "," + value2
3067 value = value1 + "," + value2
3055 self.specGgraphHeight.setText(value)
3068 self.specGgraphHeight.setText(value)
3056 self.specGgraphHeight.setEnabled(True)
3069 self.specGgraphHeight.setEnabled(True)
3057
3070
3058 parmObj = opObj.getParameterObj(parameterName='zmin')
3071 parmObj = opObj.getParameterObj(parameterName='zmin')
3059 if parmObj == None:
3072 if parmObj == None:
3060 self.specGgraphDbsrange.clear()
3073 self.specGgraphDbsrange.clear()
3061 else:
3074 else:
3062 value1 = opObj.getParameterValue(parameterName='zmin')
3075 value1 = opObj.getParameterValue(parameterName='zmin')
3063 value1 = str(value1)
3076 value1 = str(value1)
3064 value2 = opObj.getParameterValue(parameterName='zmax')
3077 value2 = opObj.getParameterValue(parameterName='zmax')
3065 value2 = str(value2)
3078 value2 = str(value2)
3066 value = value1 + "," + value2
3079 value = value1 + "," + value2
3067 self.specGgraphDbsrange.setText(value)
3080 self.specGgraphDbsrange.setText(value)
3068 self.specGgraphDbsrange.setEnabled(True)
3081 self.specGgraphDbsrange.setEnabled(True)
3069
3082
3070 parmObj = opObj.getParameterObj(parameterName="figpath")
3083 parmObj = opObj.getParameterObj(parameterName="figpath")
3071 if parmObj == None:
3084 if parmObj == None:
3072 self.specGraphSaveCross.setCheckState(0)
3085 self.specGraphSaveCross.setCheckState(0)
3073
3086
3074 else:
3087 else:
3075 self.specGraphSaveCross.setCheckState(QtCore.Qt.Checked)
3088 self.specGraphSaveCross.setCheckState(QtCore.Qt.Checked)
3076 value = opObj.getParameterValue(parameterName='figpath')
3089 value = opObj.getParameterValue(parameterName='figpath')
3077 self.specGraphPath.setText(value)
3090 self.specGraphPath.setText(value)
3078
3091
3079 parmObj = opObj.getParameterObj(parameterName="ftp")
3092 parmObj = opObj.getParameterObj(parameterName="ftp")
3080 if parmObj == None:
3093 if parmObj == None:
3081 self.specGraphftpCross.setCheckState(0)
3094 self.specGraphftpCross.setCheckState(0)
3082 else:
3095 else:
3083 self.specGraphftpCross.setCheckState(QtCore.Qt.Checked)
3096 self.specGraphftpCross.setCheckState(QtCore.Qt.Checked)
3084 try:
3097 try:
3085 value = opObj.getParameterValue(parameterName='wr_period')
3098 value = opObj.getParameterValue(parameterName='wr_period')
3086 except:
3099 except:
3087 value = " "
3100 value = " "
3088 self.specGgraphftpratio.setText(str(value))
3101 self.specGgraphftpratio.setText(str(value))
3089
3102
3090 opObj = puObj.getOperationObj(name='RTIPlot')
3103 opObj = puObj.getOperationObj(name='RTIPlot')
3091 # opObj = puObj.getOpObjfromParamValue(value="RTIPlot")
3104 # opObj = puObj.getOpObjfromParamValue(value="RTIPlot")
3092 if opObj == None:
3105 if opObj == None:
3093 self.specGraphCebRTIplot.setCheckState(0)
3106 self.specGraphCebRTIplot.setCheckState(0)
3094 self.specGraphSaveRTIplot.setCheckState(0)
3107 self.specGraphSaveRTIplot.setCheckState(0)
3095 self.specGraphftpRTIplot.setCheckState(0)
3108 self.specGraphftpRTIplot.setCheckState(0)
3096 else:
3109 else:
3097 self.specGraphCebRTIplot.setCheckState(QtCore.Qt.Checked)
3110 self.specGraphCebRTIplot.setCheckState(QtCore.Qt.Checked)
3098 parmObj = opObj.getParameterObj(parameterName='channelList')
3111 parmObj = opObj.getParameterObj(parameterName='channelList')
3099 if parmObj == None:
3112 if parmObj == None:
3100 self.specGgraphChannelList.clear()
3113 self.specGgraphChannelList.clear()
3101 else:
3114 else:
3102 value = opObj.getParameterValue(parameterName='channelList')
3115 value = opObj.getParameterValue(parameterName='channelList')
3103 channelListRTIPlot = str(value)[1:-1]
3116 channelListRTIPlot = str(value)[1:-1]
3104 self.specGgraphChannelList.setText(channelListRTIPlot)
3117 self.specGgraphChannelList.setText(channelListRTIPlot)
3105 self.specGgraphChannelList.setEnabled(True)
3118 self.specGgraphChannelList.setEnabled(True)
3106
3119
3107 parmObj = opObj.getParameterObj(parameterName='xmin')
3120 parmObj = opObj.getParameterObj(parameterName='xmin')
3108 if parmObj == None:
3121 if parmObj == None:
3109 self.specGgraphTminTmax.clear()
3122 self.specGgraphTminTmax.clear()
3110 else:
3123 else:
3111 value1 = opObj.getParameterValue(parameterName='xmin')
3124 value1 = opObj.getParameterValue(parameterName='xmin')
3112 value1 = str(value1)
3125 value1 = str(value1)
3113 value2 = opObj.getParameterValue(parameterName='xmax')
3126 value2 = opObj.getParameterValue(parameterName='xmax')
3114 value2 = str(value2)
3127 value2 = str(value2)
3115 value = value1 + "," + value2
3128 value = value1 + "," + value2
3116 self.specGgraphTminTmax.setText(value)
3129 self.specGgraphTminTmax.setText(value)
3117 self.specGgraphTminTmax.setEnabled(True)
3130 self.specGgraphTminTmax.setEnabled(True)
3118
3131
3119 parmObj = opObj.getParameterObj(parameterName='timerange')
3132 parmObj = opObj.getParameterObj(parameterName='timerange')
3120 if parmObj == None:
3133 if parmObj == None:
3121 self.specGgraphTimeRange.clear()
3134 self.specGgraphTimeRange.clear()
3122 else:
3135 else:
3123 value1 = opObj.getParameterValue(parameterName='timerange')
3136 value1 = opObj.getParameterValue(parameterName='timerange')
3124 value1 = str(value1)
3137 value1 = str(value1)
3125 self.specGgraphTimeRange.setText(value1)
3138 self.specGgraphTimeRange.setText(value1)
3126 self.specGgraphTimeRange.setEnabled(True)
3139 self.specGgraphTimeRange.setEnabled(True)
3127
3140
3128 parmObj = opObj.getParameterObj(parameterName='ymin')
3141 parmObj = opObj.getParameterObj(parameterName='ymin')
3129 if parmObj == None:
3142 if parmObj == None:
3130 self.specGgraphHeight.clear()
3143 self.specGgraphHeight.clear()
3131 else:
3144 else:
3132 value1 = opObj.getParameterValue(parameterName='ymin')
3145 value1 = opObj.getParameterValue(parameterName='ymin')
3133 value1 = str(value1)
3146 value1 = str(value1)
3134 value2 = opObj.getParameterValue(parameterName='ymax')
3147 value2 = opObj.getParameterValue(parameterName='ymax')
3135 value2 = str(value2)
3148 value2 = str(value2)
3136 value = value1 + "," + value2
3149 value = value1 + "," + value2
3137 self.specGgraphHeight.setText(value)
3150 self.specGgraphHeight.setText(value)
3138 self.specGgraphHeight.setEnabled(True)
3151 self.specGgraphHeight.setEnabled(True)
3139
3152
3140 parmObj = opObj.getParameterObj(parameterName='zmin')
3153 parmObj = opObj.getParameterObj(parameterName='zmin')
3141 if parmObj == None:
3154 if parmObj == None:
3142 self.specGgraphDbsrange.clear()
3155 self.specGgraphDbsrange.clear()
3143 else:
3156 else:
3144 value1 = opObj.getParameterValue(parameterName='zmin')
3157 value1 = opObj.getParameterValue(parameterName='zmin')
3145 value1 = str(value1)
3158 value1 = str(value1)
3146 value2 = opObj.getParameterValue(parameterName='zmax')
3159 value2 = opObj.getParameterValue(parameterName='zmax')
3147 value2 = str(value2)
3160 value2 = str(value2)
3148 value = value1 + "," + value2
3161 value = value1 + "," + value2
3149 self.specGgraphDbsrange.setText(value)
3162 self.specGgraphDbsrange.setText(value)
3150 self.specGgraphDbsrange.setEnabled(True)
3163 self.specGgraphDbsrange.setEnabled(True)
3151
3164
3152 parmObj = opObj.getParameterObj(parameterName="figpath")
3165 parmObj = opObj.getParameterObj(parameterName="figpath")
3153 if parmObj == None:
3166 if parmObj == None:
3154 self.specGraphSaveRTIplot.setCheckState(0)
3167 self.specGraphSaveRTIplot.setCheckState(0)
3155 else:
3168 else:
3156 self.specGraphSaveRTIplot.setCheckState(QtCore.Qt.Checked)
3169 self.specGraphSaveRTIplot.setCheckState(QtCore.Qt.Checked)
3157 value = opObj.getParameterValue(parameterName='figpath')
3170 value = opObj.getParameterValue(parameterName='figpath')
3158 self.specGraphPath.setText(value)
3171 self.specGraphPath.setText(value)
3159 #---------add----#
3172 #---------add----#
3160 parmObj = opObj.getParameterObj(parameterName="ftp")
3173 parmObj = opObj.getParameterObj(parameterName="ftp")
3161 if parmObj == None:
3174 if parmObj == None:
3162 self.specGraphftpRTIplot.setCheckState(0)
3175 self.specGraphftpRTIplot.setCheckState(0)
3163 else:
3176 else:
3164 self.specGraphftpRTIplot.setCheckState(QtCore.Qt.Checked)
3177 self.specGraphftpRTIplot.setCheckState(QtCore.Qt.Checked)
3165 try:
3178 try:
3166 value = opObj.getParameterValue(parameterName='wr_period')
3179 value = opObj.getParameterValue(parameterName='wr_period')
3167 except:
3180 except:
3168 value = " "
3181 value = " "
3169 self.specGgraphftpratio.setText(str(value))
3182 self.specGgraphftpratio.setText(str(value))
3170
3183
3171 opObj = puObj.getOperationObj(name='CoherenceMap')
3184 opObj = puObj.getOperationObj(name='CoherenceMap')
3172 # opObj = puObj.getOpObjfromParamValue(value="CoherenceMap")
3185 # opObj = puObj.getOpObjfromParamValue(value="CoherenceMap")
3173 if opObj == None:
3186 if opObj == None:
3174 self.specGraphCebCoherencmap.setCheckState(0)
3187 self.specGraphCebCoherencmap.setCheckState(0)
3175 self.specGraphSaveCoherencemap.setCheckState(0)
3188 self.specGraphSaveCoherencemap.setCheckState(0)
3176 self.specGraphftpCoherencemap.setCheckState(0)
3189 self.specGraphftpCoherencemap.setCheckState(0)
3177
3190
3178 else:
3191 else:
3179 operationCoherenceMap = "Enable"
3192 operationCoherenceMap = "Enable"
3180 self.specGraphCebCoherencmap.setCheckState(QtCore.Qt.Checked)
3193 self.specGraphCebCoherencmap.setCheckState(QtCore.Qt.Checked)
3181 parmObj = opObj.getParameterObj(parameterName='xmin')
3194 parmObj = opObj.getParameterObj(parameterName='xmin')
3182 if parmObj == None:
3195 if parmObj == None:
3183 self.specGgraphTminTmax.clear()
3196 self.specGgraphTminTmax.clear()
3184 else:
3197 else:
3185 value1 = opObj.getParameterValue(parameterName='xmin')
3198 value1 = opObj.getParameterValue(parameterName='xmin')
3186 value1 = str(value1)
3199 value1 = str(value1)
3187 value2 = opObj.getParameterValue(parameterName='xmax')
3200 value2 = opObj.getParameterValue(parameterName='xmax')
3188 value2 = str(value2)
3201 value2 = str(value2)
3189 value = value1 + "," + value2
3202 value = value1 + "," + value2
3190 self.specGgraphTminTmax.setText(value)
3203 self.specGgraphTminTmax.setText(value)
3191 self.specGgraphTminTmax.setEnabled(True)
3204 self.specGgraphTminTmax.setEnabled(True)
3192
3205
3193 parmObj = opObj.getParameterObj(parameterName='timerange')
3206 parmObj = opObj.getParameterObj(parameterName='timerange')
3194 if parmObj == None:
3207 if parmObj == None:
3195 self.specGgraphTimeRange.clear()
3208 self.specGgraphTimeRange.clear()
3196 else:
3209 else:
3197 value1 = opObj.getParameterValue(parameterName='timerange')
3210 value1 = opObj.getParameterValue(parameterName='timerange')
3198 value1 = str(value1)
3211 value1 = str(value1)
3199 self.specGgraphTimeRange.setText(value1)
3212 self.specGgraphTimeRange.setText(value1)
3200 self.specGgraphTimeRange.setEnabled(True)
3213 self.specGgraphTimeRange.setEnabled(True)
3201
3214
3202 parmObj = opObj.getParameterObj(parameterName='ymin')
3215 parmObj = opObj.getParameterObj(parameterName='ymin')
3203 if parmObj == None:
3216 if parmObj == None:
3204 self.specGgraphHeight.clear()
3217 self.specGgraphHeight.clear()
3205 else:
3218 else:
3206 value1 = opObj.getParameterValue(parameterName='ymin')
3219 value1 = opObj.getParameterValue(parameterName='ymin')
3207 value1 = str(value1)
3220 value1 = str(value1)
3208 value2 = opObj.getParameterValue(parameterName='ymax')
3221 value2 = opObj.getParameterValue(parameterName='ymax')
3209 value2 = str(value2)
3222 value2 = str(value2)
3210 value = value1 + "," + value2
3223 value = value1 + "," + value2
3211 self.specGgraphHeight.setText(value)
3224 self.specGgraphHeight.setText(value)
3212 self.specGgraphHeight.setEnabled(True)
3225 self.specGgraphHeight.setEnabled(True)
3213
3226
3214 parmObj = opObj.getParameterObj(parameterName='zmin')
3227 parmObj = opObj.getParameterObj(parameterName='zmin')
3215 if parmObj == None:
3228 if parmObj == None:
3216 self.specGgraphmagnitud.clear()
3229 self.specGgraphmagnitud.clear()
3217 else:
3230 else:
3218 value1 = opObj.getParameterValue(parameterName='zmin')
3231 value1 = opObj.getParameterValue(parameterName='zmin')
3219 value1 = str(value1)
3232 value1 = str(value1)
3220 value2 = opObj.getParameterValue(parameterName='zmax')
3233 value2 = opObj.getParameterValue(parameterName='zmax')
3221 value2 = str(value2)
3234 value2 = str(value2)
3222 value = value1 + "," + value2
3235 value = value1 + "," + value2
3223 self.specGgraphmagnitud.setText(value)
3236 self.specGgraphmagnitud.setText(value)
3224 self.specGgraphmagnitud.setEnabled(True)
3237 self.specGgraphmagnitud.setEnabled(True)
3225
3238
3226 parmObj = opObj.getParameterObj(parameterName="figpath")
3239 parmObj = opObj.getParameterObj(parameterName="figpath")
3227 if parmObj == None:
3240 if parmObj == None:
3228 self.specGraphSaveCoherencemap.setCheckState(0)
3241 self.specGraphSaveCoherencemap.setCheckState(0)
3229 else:
3242 else:
3230 self.specGraphSaveCoherencemap.setCheckState(QtCore.Qt.Checked)
3243 self.specGraphSaveCoherencemap.setCheckState(QtCore.Qt.Checked)
3231 value = opObj.getParameterValue(parameterName='figpath')
3244 value = opObj.getParameterValue(parameterName='figpath')
3232 self.specGraphPath.setText(value)
3245 self.specGraphPath.setText(value)
3233
3246
3234 parmObj = opObj.getParameterObj(parameterName="ftp")
3247 parmObj = opObj.getParameterObj(parameterName="ftp")
3235 if parmObj == None:
3248 if parmObj == None:
3236 self.specGraphftpCoherencemap.setCheckState(0)
3249 self.specGraphftpCoherencemap.setCheckState(0)
3237 else:
3250 else:
3238 self.specGraphftpCoherencemap.setCheckState(QtCore.Qt.Checked)
3251 self.specGraphftpCoherencemap.setCheckState(QtCore.Qt.Checked)
3239 try:
3252 try:
3240 value = opObj.getParameterValue(parameterName='wr_period')
3253 value = opObj.getParameterValue(parameterName='wr_period')
3241 except:
3254 except:
3242 value = " "
3255 value = " "
3243 self.specGgraphftpratio.setText(str(value))
3256 self.specGgraphftpratio.setText(str(value))
3244
3257
3245 opObj = puObj.getOperationObj(name='PowerProfilePlot')
3258 opObj = puObj.getOperationObj(name='PowerProfilePlot')
3246 # opObj = puObj.getOpObjfromParamValue(value="PowerProfilePlot")
3259 # opObj = puObj.getOpObjfromParamValue(value="PowerProfilePlot")
3247 if opObj == None:
3260 if opObj == None:
3248 self.specGraphPowerprofile.setCheckState(0)
3261 self.specGraphPowerprofile.setCheckState(0)
3249 self.specGraphSavePowerprofile.setCheckState(0)
3262 self.specGraphSavePowerprofile.setCheckState(0)
3250 operationPowerProfilePlot = "Disabled"
3263 operationPowerProfilePlot = "Disabled"
3251 channelList = None
3264 channelList = None
3252 freq_vel = None
3265 freq_vel = None
3253 heightsrange = None
3266 heightsrange = None
3254 else:
3267 else:
3255 operationPowerProfilePlot = "Enable"
3268 operationPowerProfilePlot = "Enable"
3256 self.specGraphPowerprofile.setCheckState(QtCore.Qt.Checked)
3269 self.specGraphPowerprofile.setCheckState(QtCore.Qt.Checked)
3257 parmObj = opObj.getParameterObj(parameterName='xmin')
3270 parmObj = opObj.getParameterObj(parameterName='xmin')
3258 if parmObj == None:
3271 if parmObj == None:
3259 self.specGgraphDbsrange.clear()
3272 self.specGgraphDbsrange.clear()
3260 else:
3273 else:
3261 value1 = opObj.getParameterValue(parameterName='xmin')
3274 value1 = opObj.getParameterValue(parameterName='xmin')
3262 value1 = str(value1)
3275 value1 = str(value1)
3263 value2 = opObj.getParameterValue(parameterName='xmax')
3276 value2 = opObj.getParameterValue(parameterName='xmax')
3264 value2 = str(value2)
3277 value2 = str(value2)
3265 value = value1 + "," + value2
3278 value = value1 + "," + value2
3266 self.specGgraphDbsrange.setText(value)
3279 self.specGgraphDbsrange.setText(value)
3267 self.specGgraphDbsrange.setEnabled(True)
3280 self.specGgraphDbsrange.setEnabled(True)
3268
3281
3269 parmObj = opObj.getParameterObj(parameterName='ymin')
3282 parmObj = opObj.getParameterObj(parameterName='ymin')
3270 if parmObj == None:
3283 if parmObj == None:
3271 self.specGgraphHeight.clear()
3284 self.specGgraphHeight.clear()
3272 else:
3285 else:
3273 value1 = opObj.getParameterValue(parameterName='ymin')
3286 value1 = opObj.getParameterValue(parameterName='ymin')
3274 value1 = str(value1)
3287 value1 = str(value1)
3275 value2 = opObj.getParameterValue(parameterName='ymax')
3288 value2 = opObj.getParameterValue(parameterName='ymax')
3276 value2 = str(value2)
3289 value2 = str(value2)
3277 value = value1 + "," + value2
3290 value = value1 + "," + value2
3278 self.specGgraphHeight.setText(value)
3291 self.specGgraphHeight.setText(value)
3279 self.specGgraphHeight.setEnabled(True)
3292 self.specGgraphHeight.setEnabled(True)
3280
3293
3281 parmObj = opObj.getParameterObj(parameterName="figpath")
3294 parmObj = opObj.getParameterObj(parameterName="figpath")
3282 if parmObj == None:
3295 if parmObj == None:
3283 self.specGraphSavePowerprofile.setCheckState(0)
3296 self.specGraphSavePowerprofile.setCheckState(0)
3284 else:
3297 else:
3285 self.specGraphSavePowerprofile.setCheckState(QtCore.Qt.Checked)
3298 self.specGraphSavePowerprofile.setCheckState(QtCore.Qt.Checked)
3286 value = opObj.getParameterValue(parameterName='figpath')
3299 value = opObj.getParameterValue(parameterName='figpath')
3287 self.specGraphPath.setText(value)
3300 self.specGraphPath.setText(value)
3288
3301
3289 parmObj = opObj.getParameterObj(parameterName="ftp")
3302 parmObj = opObj.getParameterObj(parameterName="ftp")
3290 if parmObj == None:
3303 if parmObj == None:
3291 self.specGraphftpPowerprofile.setCheckState(0)
3304 self.specGraphftpPowerprofile.setCheckState(0)
3292 else:
3305 else:
3293 self.specGraphftpPowerprofile.setCheckState(QtCore.Qt.Checked)
3306 self.specGraphftpPowerprofile.setCheckState(QtCore.Qt.Checked)
3294 try:
3307 try:
3295 value = opObj.getParameterValue(parameterName='wr_period')
3308 value = opObj.getParameterValue(parameterName='wr_period')
3296 except:
3309 except:
3297 value = " "
3310 value = " "
3298 self.specGgraphftpratio.setText(str(value))
3311 self.specGgraphftpratio.setText(str(value))
3299 # -noise
3312 # -noise
3300 opObj = puObj.getOperationObj(name='Noise')
3313 opObj = puObj.getOperationObj(name='Noise')
3301 # opObj = puObj.getOpObjfromParamValue(value="Noise")
3314 # opObj = puObj.getOpObjfromParamValue(value="Noise")
3302 if opObj == None:
3315 if opObj == None:
3303 self.specGraphCebRTInoise.setCheckState(0)
3316 self.specGraphCebRTInoise.setCheckState(0)
3304 self.specGraphSaveRTInoise.setCheckState(0)
3317 self.specGraphSaveRTInoise.setCheckState(0)
3305 self.specGraphftpRTInoise.setCheckState(0)
3318 self.specGraphftpRTInoise.setCheckState(0)
3306 else:
3319 else:
3307 self.specGraphCebRTInoise.setCheckState(QtCore.Qt.Checked)
3320 self.specGraphCebRTInoise.setCheckState(QtCore.Qt.Checked)
3308 parmObj = opObj.getParameterObj(parameterName='channelList')
3321 parmObj = opObj.getParameterObj(parameterName='channelList')
3309 if parmObj == None:
3322 if parmObj == None:
3310 self.specGgraphChannelList.clear()
3323 self.specGgraphChannelList.clear()
3311 else:
3324 else:
3312 value = opObj.getParameterValue(parameterName='channelList')
3325 value = opObj.getParameterValue(parameterName='channelList')
3313 channelListRTINoise = str(value)[1:-1]
3326 channelListRTINoise = str(value)[1:-1]
3314 self.specGgraphChannelList.setText(channelListRTINoise)
3327 self.specGgraphChannelList.setText(channelListRTINoise)
3315 self.specGgraphChannelList.setEnabled(True)
3328 self.specGgraphChannelList.setEnabled(True)
3316
3329
3317 parmObj = opObj.getParameterObj(parameterName='xmin')
3330 parmObj = opObj.getParameterObj(parameterName='xmin')
3318 if parmObj == None:
3331 if parmObj == None:
3319 self.specGgraphTminTmax.clear()
3332 self.specGgraphTminTmax.clear()
3320 else:
3333 else:
3321 value1 = opObj.getParameterValue(parameterName='xmin')
3334 value1 = opObj.getParameterValue(parameterName='xmin')
3322 value1 = str(value1)
3335 value1 = str(value1)
3323 value2 = opObj.getParameterValue(parameterName='xmax')
3336 value2 = opObj.getParameterValue(parameterName='xmax')
3324 value2 = str(value2)
3337 value2 = str(value2)
3325 value = value1 + "," + value2
3338 value = value1 + "," + value2
3326 self.specGgraphTminTmax.setText(value)
3339 self.specGgraphTminTmax.setText(value)
3327 self.specGgraphTminTmax.setEnabled(True)
3340 self.specGgraphTminTmax.setEnabled(True)
3328
3341
3329 parmObj = opObj.getParameterObj(parameterName='timerange')
3342 parmObj = opObj.getParameterObj(parameterName='timerange')
3330 if parmObj == None:
3343 if parmObj == None:
3331 self.specGgraphTimeRange.clear()
3344 self.specGgraphTimeRange.clear()
3332 else:
3345 else:
3333 value1 = opObj.getParameterValue(parameterName='timerange')
3346 value1 = opObj.getParameterValue(parameterName='timerange')
3334 value1 = str(value1)
3347 value1 = str(value1)
3335 self.specGgraphTimeRange.setText(value1)
3348 self.specGgraphTimeRange.setText(value1)
3336 self.specGgraphTimeRange.setEnabled(True)
3349 self.specGgraphTimeRange.setEnabled(True)
3337
3350
3338
3351
3339 parmObj = opObj.getParameterObj(parameterName='ymin')
3352 parmObj = opObj.getParameterObj(parameterName='ymin')
3340 if parmObj == None:
3353 if parmObj == None:
3341 self.specGgraphDbsrange.clear()
3354 self.specGgraphDbsrange.clear()
3342 else:
3355 else:
3343 value1 = opObj.getParameterValue(parameterName='ymin')
3356 value1 = opObj.getParameterValue(parameterName='ymin')
3344 value1 = str(value1)
3357 value1 = str(value1)
3345 value2 = opObj.getParameterValue(parameterName='ymax')
3358 value2 = opObj.getParameterValue(parameterName='ymax')
3346 value2 = str(value2)
3359 value2 = str(value2)
3347 value = value1 + "," + value2
3360 value = value1 + "," + value2
3348 self.specGgraphDbsrange.setText(value)
3361 self.specGgraphDbsrange.setText(value)
3349 self.specGgraphDbsrange.setEnabled(True)
3362 self.specGgraphDbsrange.setEnabled(True)
3350
3363
3351 parmObj = opObj.getParameterObj(parameterName="figpath")
3364 parmObj = opObj.getParameterObj(parameterName="figpath")
3352 if parmObj == None:
3365 if parmObj == None:
3353 self.specGraphSaveRTInoise.setCheckState(0)
3366 self.specGraphSaveRTInoise.setCheckState(0)
3354 else:
3367 else:
3355 self.specGraphSaveRTInoise.setCheckState(QtCore.Qt.Checked)
3368 self.specGraphSaveRTInoise.setCheckState(QtCore.Qt.Checked)
3356 value = opObj.getParameterValue(parameterName='figpath')
3369 value = opObj.getParameterValue(parameterName='figpath')
3357 self.specGraphPath.setText(value)
3370 self.specGraphPath.setText(value)
3358 #---------add----#
3371 #---------add----#
3359 parmObj = opObj.getParameterObj(parameterName="ftp")
3372 parmObj = opObj.getParameterObj(parameterName="ftp")
3360 if parmObj == None:
3373 if parmObj == None:
3361 self.specGraphftpRTInoise.setCheckState(0)
3374 self.specGraphftpRTInoise.setCheckState(0)
3362 else:
3375 else:
3363 self.specGraphftpRTInoise.setCheckState(QtCore.Qt.Checked)
3376 self.specGraphftpRTInoise.setCheckState(QtCore.Qt.Checked)
3364 try:
3377 try:
3365 value = opObj.getParameterValue(parameterName='wr_period')
3378 value = opObj.getParameterValue(parameterName='wr_period')
3366 except:
3379 except:
3367 value = " "
3380 value = " "
3368 self.specGgraphftpratio.setText(str(value))
3381 self.specGgraphftpratio.setText(str(value))
3369
3382
3370 # outputSpectraWrite
3383 # outputSpectraWrite
3371 opObj = puObj.getOperationObj(name='SpectraWriter')
3384 opObj = puObj.getOperationObj(name='SpectraWriter')
3372 if opObj == None:
3385 if opObj == None:
3373 self.specOutputPath.clear()
3386 self.specOutputPath.clear()
3374 self.specOutputblocksperfile.clear()
3387 self.specOutputblocksperfile.clear()
3375 self.specOutputprofileperblock.clear()
3388 self.specOutputprofileperblock.clear()
3376 else:
3389 else:
3377 value = opObj.getParameterObj(parameterName='path')
3390 value = opObj.getParameterObj(parameterName='path')
3378 if value == None:
3391 if value == None:
3379 self.specOutputPath.clear()
3392 self.specOutputPath.clear()
3380 else:
3393 else:
3381 value = opObj.getParameterValue(parameterName='path')
3394 value = opObj.getParameterValue(parameterName='path')
3382 path = str(value)
3395 path = str(value)
3383 self.specOutputPath.setText(path)
3396 self.specOutputPath.setText(path)
3384 value = opObj.getParameterObj(parameterName='blocksPerFile')
3397 value = opObj.getParameterObj(parameterName='blocksPerFile')
3385 if value == None:
3398 if value == None:
3386 self.specOutputblocksperfile.clear()
3399 self.specOutputblocksperfile.clear()
3387 else:
3400 else:
3388 value = opObj.getParameterValue(parameterName='blocksPerFile')
3401 value = opObj.getParameterValue(parameterName='blocksPerFile')
3389 blocksperfile = str(value)
3402 blocksperfile = str(value)
3390 self.specOutputblocksperfile.setText(blocksperfile)
3403 self.specOutputblocksperfile.setText(blocksperfile)
3391 value = opObj.getParameterObj(parameterName='profilesPerBlock')
3404 value = opObj.getParameterObj(parameterName='profilesPerBlock')
3392 if value == None:
3405 if value == None:
3393 self.specOutputprofileperblock.clear()
3406 self.specOutputprofileperblock.clear()
3394 else:
3407 else:
3395 value = opObj.getParameterValue(parameterName='profilesPerBlock')
3408 value = opObj.getParameterValue(parameterName='profilesPerBlock')
3396 profilesPerBlock = str(value)
3409 profilesPerBlock = str(value)
3397 self.specOutputprofileperblock.setText(profilesPerBlock)
3410 self.specOutputprofileperblock.setText(profilesPerBlock)
3398
3411
3399 if datatype == 'SpectraHeis':
3412 if datatype == 'SpectraHeis':
3400 opObj = puObj.getOperationObj(name="IncohInt4SpectraHeis")
3413 opObj = puObj.getOperationObj(name="IncohInt4SpectraHeis")
3401 if opObj == None:
3414 if opObj == None:
3402 self.specHeisOpIncoherent.clear()
3415 self.specHeisOpIncoherent.clear()
3403 self.specHeisOpCebIncoherent.setCheckState(0)
3416 self.specHeisOpCebIncoherent.setCheckState(0)
3404 else:
3417 else:
3405 for parmObj in opObj.getParameterObjList():
3418 for parmObj in opObj.getParameterObjList():
3406 if parmObj.name == 'timeInterval':
3419 if parmObj.name == 'timeInterval':
3407 value = opObj.getParameterValue(parameterName='timeInterval')
3420 value = opObj.getParameterValue(parameterName='timeInterval')
3408 value = float(value)
3421 value = float(value)
3409 self.specHeisOpIncoherent.setText(str(value))
3422 self.specHeisOpIncoherent.setText(str(value))
3410 self.specHeisOpIncoherent.setEnabled(True)
3423 self.specHeisOpIncoherent.setEnabled(True)
3411 self.specHeisOpCebIncoherent.setCheckState(QtCore.Qt.Checked)
3424 self.specHeisOpCebIncoherent.setCheckState(QtCore.Qt.Checked)
3412 self.specHeisOpCobIncInt.setCurrentIndex(0)
3425 self.specHeisOpCobIncInt.setCurrentIndex(0)
3413
3426
3414 # SpectraHeis Graph
3427 # SpectraHeis Graph
3415 opObj = puObj.getOperationObj(name='SpectraHeisScope')
3428 opObj = puObj.getOperationObj(name='SpectraHeisScope')
3416 # opObj = puObj.getOpObjfromParamValue(value="SpectraHeisScope")
3429 # opObj = puObj.getOpObjfromParamValue(value="SpectraHeisScope")
3417 if opObj == None:
3430 if opObj == None:
3418 self.specHeisGraphCebSpectraplot.setCheckState(0)
3431 self.specHeisGraphCebSpectraplot.setCheckState(0)
3419 self.specHeisGraphSaveSpectra.setCheckState(0)
3432 self.specHeisGraphSaveSpectra.setCheckState(0)
3420 self.specHeisGraphftpSpectra.setCheckState(0)
3433 self.specHeisGraphftpSpectra.setCheckState(0)
3421
3434
3422 else:
3435 else:
3423 operationSpectraHeisScope = "Enable"
3436 operationSpectraHeisScope = "Enable"
3424 self.specHeisGraphCebSpectraplot.setCheckState(QtCore.Qt.Checked)
3437 self.specHeisGraphCebSpectraplot.setCheckState(QtCore.Qt.Checked)
3425 parmObj = opObj.getParameterObj(parameterName='channelList')
3438 parmObj = opObj.getParameterObj(parameterName='channelList')
3426 if parmObj == None:
3439 if parmObj == None:
3427 self.specHeisGgraphChannelList.clear()
3440 self.specHeisGgraphChannelList.clear()
3428 else:
3441 else:
3429 value = opObj.getParameterValue(parameterName='channelList')
3442 value = opObj.getParameterValue(parameterName='channelList')
3430 channelListSpectraHeisScope = str(value)[1:-1]
3443 channelListSpectraHeisScope = str(value)[1:-1]
3431 self.specHeisGgraphChannelList.setText(channelListSpectraHeisScope)
3444 self.specHeisGgraphChannelList.setText(channelListSpectraHeisScope)
3432 self.specHeisGgraphChannelList.setEnabled(True)
3445 self.specHeisGgraphChannelList.setEnabled(True)
3433
3446
3434 parmObj = opObj.getParameterObj(parameterName='xmin')
3447 parmObj = opObj.getParameterObj(parameterName='xmin')
3435 if parmObj == None:
3448 if parmObj == None:
3436 self.specHeisGgraphXminXmax.clear()
3449 self.specHeisGgraphXminXmax.clear()
3437 else:
3450 else:
3438 value1 = opObj.getParameterValue(parameterName='xmin')
3451 value1 = opObj.getParameterValue(parameterName='xmin')
3439 value1 = str(value1)
3452 value1 = str(value1)
3440 value2 = opObj.getParameterValue(parameterName='xmax')
3453 value2 = opObj.getParameterValue(parameterName='xmax')
3441 value2 = str(value2)
3454 value2 = str(value2)
3442 value = value1 + "," + value2
3455 value = value1 + "," + value2
3443 self.specHeisGgraphXminXmax.setText(value)
3456 self.specHeisGgraphXminXmax.setText(value)
3444 self.specHeisGgraphXminXmax.setEnabled(True)
3457 self.specHeisGgraphXminXmax.setEnabled(True)
3445
3458
3446 parmObj = opObj.getParameterObj(parameterName='ymin')
3459 parmObj = opObj.getParameterObj(parameterName='ymin')
3447 if parmObj == None:
3460 if parmObj == None:
3448 self.specHeisGgraphYminYmax.clear()
3461 self.specHeisGgraphYminYmax.clear()
3449 else:
3462 else:
3450 value1 = opObj.getParameterValue(parameterName='ymin')
3463 value1 = opObj.getParameterValue(parameterName='ymin')
3451 value1 = str(value1)
3464 value1 = str(value1)
3452 value2 = opObj.getParameterValue(parameterName='ymax')
3465 value2 = opObj.getParameterValue(parameterName='ymax')
3453 value2 = str(value2)
3466 value2 = str(value2)
3454 value = value1 + "," + value2
3467 value = value1 + "," + value2
3455 self.specHeisGgraphYminYmax.setText(value)
3468 self.specHeisGgraphYminYmax.setText(value)
3456 self.specHeisGgraphYminYmax.setEnabled(True)
3469 self.specHeisGgraphYminYmax.setEnabled(True)
3457
3470
3458 parmObj = opObj.getParameterObj(parameterName="figpath")
3471 parmObj = opObj.getParameterObj(parameterName="figpath")
3459 if parmObj == None:
3472 if parmObj == None:
3460 self.specHeisGraphSaveSpectra.setCheckState(0)
3473 self.specHeisGraphSaveSpectra.setCheckState(0)
3461 else:
3474 else:
3462 self.specHeisGraphSaveSpectra.setCheckState(QtCore.Qt.Checked)
3475 self.specHeisGraphSaveSpectra.setCheckState(QtCore.Qt.Checked)
3463 value = opObj.getParameterValue(parameterName='figpath')
3476 value = opObj.getParameterValue(parameterName='figpath')
3464 self.specHeisGraphPath.setText(value)
3477 self.specHeisGraphPath.setText(value)
3465
3478
3466 parmObj = opObj.getParameterObj(parameterName="ftp")
3479 parmObj = opObj.getParameterObj(parameterName="ftp")
3467 if parmObj == None:
3480 if parmObj == None:
3468 self.specHeisGraphftpSpectra.setCheckState(0)
3481 self.specHeisGraphftpSpectra.setCheckState(0)
3469 else:
3482 else:
3470 self.specHeisGraphftpSpectra.setCheckState(QtCore.Qt.Checked)
3483 self.specHeisGraphftpSpectra.setCheckState(QtCore.Qt.Checked)
3471 try:
3484 try:
3472 value = opObj.getParameterValue(parameterName='wr_period')
3485 value = opObj.getParameterValue(parameterName='wr_period')
3473 except:
3486 except:
3474 value = " "
3487 value = " "
3475 self.specHeisGgraphftpratio.setText(str(value))
3488 self.specHeisGgraphftpratio.setText(str(value))
3476
3489
3477 opObj = puObj.getOperationObj(name='RTIfromSpectraHeis')
3490 opObj = puObj.getOperationObj(name='RTIfromSpectraHeis')
3478 # opObj = puObj.getOpObjfromParamValue(value="RTIfromSpectraHeis")
3491 # opObj = puObj.getOpObjfromParamValue(value="RTIfromSpectraHeis")
3479 if opObj == None:
3492 if opObj == None:
3480 self.specHeisGraphCebRTIplot.setCheckState(0)
3493 self.specHeisGraphCebRTIplot.setCheckState(0)
3481 self.specHeisGraphSaveRTIplot.setCheckState(0)
3494 self.specHeisGraphSaveRTIplot.setCheckState(0)
3482 self.specHeisGraphftpRTIplot.setCheckState(0)
3495 self.specHeisGraphftpRTIplot.setCheckState(0)
3483 else:
3496 else:
3484 self.specHeisGraphCebRTIplot.setCheckState(QtCore.Qt.Checked)
3497 self.specHeisGraphCebRTIplot.setCheckState(QtCore.Qt.Checked)
3485 parmObj = opObj.getParameterObj(parameterName='channelList')
3498 parmObj = opObj.getParameterObj(parameterName='channelList')
3486 if parmObj == None:
3499 if parmObj == None:
3487 self.specHeisGgraphChannelList.clear()
3500 self.specHeisGgraphChannelList.clear()
3488 else:
3501 else:
3489 value = opObj.getParameterValue(parameterName='channelList')
3502 value = opObj.getParameterValue(parameterName='channelList')
3490 channelListRTIPlot = str(value)[1:-1]
3503 channelListRTIPlot = str(value)[1:-1]
3491 self.specGgraphChannelList.setText(channelListRTIPlot)
3504 self.specGgraphChannelList.setText(channelListRTIPlot)
3492 self.specGgraphChannelList.setEnabled(True)
3505 self.specGgraphChannelList.setEnabled(True)
3493
3506
3494 parmObj = opObj.getParameterObj(parameterName='xmin')
3507 parmObj = opObj.getParameterObj(parameterName='xmin')
3495 if parmObj == None:
3508 if parmObj == None:
3496 self.specHeisGgraphTminTmax.clear()
3509 self.specHeisGgraphTminTmax.clear()
3497 else:
3510 else:
3498 value1 = opObj.getParameterValue(parameterName='xmin')
3511 value1 = opObj.getParameterValue(parameterName='xmin')
3499 value1 = str(value1)
3512 value1 = str(value1)
3500 value2 = opObj.getParameterValue(parameterName='xmax')
3513 value2 = opObj.getParameterValue(parameterName='xmax')
3501 value2 = str(value2)
3514 value2 = str(value2)
3502 value = value1 + "," + value2
3515 value = value1 + "," + value2
3503 self.specHeisGgraphTminTmax.setText(value)
3516 self.specHeisGgraphTminTmax.setText(value)
3504 self.specHeisGgraphTminTmax.setEnabled(True)
3517 self.specHeisGgraphTminTmax.setEnabled(True)
3505
3518
3506 parmObj = opObj.getParameterObj(parameterName='timerange')
3519 parmObj = opObj.getParameterObj(parameterName='timerange')
3507 if parmObj == None:
3520 if parmObj == None:
3508 self.specGgraphTimeRange.clear()
3521 self.specGgraphTimeRange.clear()
3509 else:
3522 else:
3510 value1 = opObj.getParameterValue(parameterName='timerange')
3523 value1 = opObj.getParameterValue(parameterName='timerange')
3511 value1 = str(value1)
3524 value1 = str(value1)
3512 self.specHeisGgraphTimeRange.setText(value1)
3525 self.specHeisGgraphTimeRange.setText(value1)
3513 self.specHeisGgraphTimeRange.setEnabled(True)
3526 self.specHeisGgraphTimeRange.setEnabled(True)
3514
3527
3515 parmObj = opObj.getParameterObj(parameterName='ymin')
3528 parmObj = opObj.getParameterObj(parameterName='ymin')
3516 if parmObj == None:
3529 if parmObj == None:
3517 self.specHeisGgraphYminYmax.clear()
3530 self.specHeisGgraphYminYmax.clear()
3518 else:
3531 else:
3519 value1 = opObj.getParameterValue(parameterName='ymin')
3532 value1 = opObj.getParameterValue(parameterName='ymin')
3520 value1 = str(value1)
3533 value1 = str(value1)
3521 value2 = opObj.getParameterValue(parameterName='ymax')
3534 value2 = opObj.getParameterValue(parameterName='ymax')
3522 value2 = str(value2)
3535 value2 = str(value2)
3523 value = value1 + "," + value2
3536 value = value1 + "," + value2
3524 self.specHeisGgraphYminYmax.setText(value)
3537 self.specHeisGgraphYminYmax.setText(value)
3525 self.specHeisGgraphYminYmax.setEnabled(True)
3538 self.specHeisGgraphYminYmax.setEnabled(True)
3526
3539
3527 parmObj = opObj.getParameterObj(parameterName="figpath")
3540 parmObj = opObj.getParameterObj(parameterName="figpath")
3528 if parmObj == None:
3541 if parmObj == None:
3529 self.specHeisGraphSaveRTIplot.setCheckState(0)
3542 self.specHeisGraphSaveRTIplot.setCheckState(0)
3530 else:
3543 else:
3531 self.specHeisGraphSaveRTIplot.setCheckState(QtCore.Qt.Checked)
3544 self.specHeisGraphSaveRTIplot.setCheckState(QtCore.Qt.Checked)
3532 value = opObj.getParameterValue(parameterName='figpath')
3545 value = opObj.getParameterValue(parameterName='figpath')
3533 self.specHeisGraphPath.setText(value)
3546 self.specHeisGraphPath.setText(value)
3534 #---------add----#
3547 #---------add----#
3535 parmObj = opObj.getParameterObj(parameterName="ftp")
3548 parmObj = opObj.getParameterObj(parameterName="ftp")
3536 if parmObj == None:
3549 if parmObj == None:
3537 self.specHeisGraphftpRTIplot.setCheckState(0)
3550 self.specHeisGraphftpRTIplot.setCheckState(0)
3538 else:
3551 else:
3539 self.specHeisGraphftpRTIplot.setCheckState(QtCore.Qt.Checked)
3552 self.specHeisGraphftpRTIplot.setCheckState(QtCore.Qt.Checked)
3540 try:
3553 try:
3541 value = opObj.getParameterValue(parameterName='wr_period')
3554 value = opObj.getParameterValue(parameterName='wr_period')
3542 except:
3555 except:
3543 value = " "
3556 value = " "
3544 self.specHeisGgraphftpratio.setText(str(value))
3557 self.specHeisGgraphftpratio.setText(str(value))
3545
3558
3546
3559
3547
3560
3548 # outputSpectraHeisWrite
3561 # outputSpectraHeisWrite
3549 opObj = puObj.getOperationObj(name='FitsWriter')
3562 opObj = puObj.getOperationObj(name='FitsWriter')
3550 if opObj == None:
3563 if opObj == None:
3551 self.specHeisOutputPath.clear()
3564 self.specHeisOutputPath.clear()
3552 self.specHeisOutputblocksperfile.clear()
3565 self.specHeisOutputblocksperfile.clear()
3553 self.specHeisOutputMetada.clear()
3566 self.specHeisOutputMetada.clear()
3554 else:
3567 else:
3555 value = opObj.getParameterObj(parameterName='path')
3568 value = opObj.getParameterObj(parameterName='path')
3556 if value == None:
3569 if value == None:
3557 self.specHeisOutputPath.clear()
3570 self.specHeisOutputPath.clear()
3558 else:
3571 else:
3559 value = opObj.getParameterValue(parameterName='path')
3572 value = opObj.getParameterValue(parameterName='path')
3560 path = str(value)
3573 path = str(value)
3561 self.specHeisOutputPath.setText(path)
3574 self.specHeisOutputPath.setText(path)
3562 value = opObj.getParameterObj(parameterName='dataBlocksPerFile')
3575 value = opObj.getParameterObj(parameterName='dataBlocksPerFile')
3563 if value == None:
3576 if value == None:
3564 self.specHeisOutputblocksperfile.clear()
3577 self.specHeisOutputblocksperfile.clear()
3565 else:
3578 else:
3566 value = opObj.getParameterValue(parameterName='dataBlocksPerFile')
3579 value = opObj.getParameterValue(parameterName='dataBlocksPerFile')
3567 blocksperfile = str(value)
3580 blocksperfile = str(value)
3568 self.specHeisOutputblocksperfile.setText(blocksperfile)
3581 self.specHeisOutputblocksperfile.setText(blocksperfile)
3569 value = opObj.getParameterObj(parameterName='metadatafile')
3582 value = opObj.getParameterObj(parameterName='metadatafile')
3570 if value == None:
3583 if value == None:
3571 self.specHeisOutputMetada.clear()
3584 self.specHeisOutputMetada.clear()
3572 else:
3585 else:
3573 value = opObj.getParameterValue(parameterName='metadatafile')
3586 value = opObj.getParameterValue(parameterName='metadatafile')
3574 metada = str(value)
3587 metada = str(value)
3575 self.specHeisOutputMetada.setText(metada)
3588 self.specHeisOutputMetada.setText(metada)
3576
3589
3577
3590
3578
3591
3579 def setspecGraph(self):
3592 def setspecGraph(self):
3580
3593
3581 self.specGgraphChannelList.setEnabled(True)
3594 self.specGgraphChannelList.setEnabled(True)
3582
3595
3583 def clearspecGraph(self):
3596 def clearspecGraph(self):
3584
3597
3585 self.specGgraphChannelList.clear()
3598 self.specGgraphChannelList.clear()
3586
3599
3587 def create_comm(self):
3600 def create_comm(self):
3588 self.commCtrlPThread = CommCtrlProcessThread()
3601 self.commCtrlPThread = CommCtrlProcessThread()
3589 self.commCtrlPThread.start()
3602 self.commCtrlPThread.start()
3590
3603
3591 def create_timers(self):
3604 def create_timers(self):
3592 self.comm_data_timer = QtCore.QTimer(self)
3605 self.comm_data_timer = QtCore.QTimer(self)
3593 self.comm_data_timer.timeout.connect(self.on_comm_data_timer)
3606 self.comm_data_timer.timeout.connect(self.on_comm_data_timer)
3594 self.comm_data_timer.start(10)
3607 self.comm_data_timer.start(10)
3595
3608
3596 def create_figure(self):
3609 def create_figure(self):
3597 self.queue_plot = Queue.Queue()
3610 self.queue_plot = Queue.Queue()
3598 self.plotmanager = PlotManager(self.queue_plot)
3611 self.plotmanager = PlotManager(self.queue_plot)
3599 self.plot_timer = QtCore.QTimer()
3612 self.plot_timer = QtCore.QTimer()
3600 QtCore.QObject.connect(self.plot_timer, QtCore.SIGNAL("timeout()"), self.periodicCall)
3613 QtCore.QObject.connect(self.plot_timer, QtCore.SIGNAL("timeout()"), self.periodicCall)
3601 self.plot_timer.start(100)
3614 self.plot_timer.start(100)
3602 self.running = 1
3615 self.running = 1
3603
3616
3604 def periodicCall(self):
3617 def periodicCall(self):
3605 """
3618 """
3606 Check every 100 ms if there is something new in the queue.
3619 Check every 100 ms if there is something new in the queue.
3607 """
3620 """
3608 self.plotmanager.processIncoming()
3621 self.plotmanager.processIncoming()
3609 if not self.running:
3622 if not self.running:
3610 app.quit()
3623 app.quit()
3611
3624
3612 def on_comm_data_timer(self):
3625 def on_comm_data_timer(self):
3613 # lee el data_queue y la coloca en el queue de ploteo
3626 # lee el data_queue y la coloca en el queue de ploteo
3614 try:
3627 try:
3615 reply = self.commCtrlPThread.data_q.get(block=False)
3628 reply = self.commCtrlPThread.data_q.get(block=False)
3616 self.queue_plot.put(reply.data)
3629 self.queue_plot.put(reply.data)
3617
3630
3618 except Queue.Empty:
3631 except Queue.Empty:
3619 pass
3632 pass
3620
3633
3621 def createProjectView(self, id):
3634 def createProjectView(self, id):
3622
3635
3623 self.create = False
3636 self.create = False
3624 project_name, description, datatype, data_path, starDate, endDate, startTime, endTime, online, delay, walk, set = self.getParmsFromProjectWindow()
3637 project_name, description, datatype, data_path, starDate, endDate, startTime, endTime, online, delay, walk, set = self.getParmsFromProjectWindow()
3625
3638
3626 projectObjView = Project()
3639 projectObjView = Project()
3627 projectObjView.setup(id=id, name=project_name, description=description)
3640 projectObjView.setup(id=id, name=project_name, description=description)
3628
3641
3629 self.__projectObjDict[id] = projectObjView
3642 self.__projectObjDict[id] = projectObjView
3630
3643
3631 return projectObjView
3644 return projectObjView
3632
3645
3633 def updateProjectView(self):
3646 def updateProjectView(self):
3634
3647
3635 project_name, description, datatype, data_path, starDate, endDate, startTime, endTime, online, delay, walk, set = self.getParmsFromProjectWindow()
3648 project_name, description, datatype, data_path, starDate, endDate, startTime, endTime, online, delay, walk, set = self.getParmsFromProjectWindow()
3636
3649
3637 projectObjView = self.getSelectedProjectObj()
3650 projectObjView = self.getSelectedProjectObj()
3638 projectObjView.update(name=project_name, description=description)
3651 projectObjView.update(name=project_name, description=description)
3639
3652
3640 return projectObjView
3653 return projectObjView
3641
3654
3642 def createReadUnitView(self, projectObjView):
3655 def createReadUnitView(self, projectObjView):
3643
3656
3644 project_name, description, datatype, data_path, startDate, endDate, startTime, endTime, online, delay, walk , set = self.getParmsFromProjectWindow()
3657 project_name, description, datatype, data_path, startDate, endDate, startTime, endTime, online, delay, walk , set = self.getParmsFromProjectWindow()
3645 if set == None:
3658 if set == None:
3646 readUnitConfObj = projectObjView.addReadUnit(datatype=datatype,
3659 readUnitConfObj = projectObjView.addReadUnit(datatype=datatype,
3647 path=data_path,
3660 path=data_path,
3648 startDate=startDate,
3661 startDate=startDate,
3649 endDate=endDate,
3662 endDate=endDate,
3650 startTime=startTime,
3663 startTime=startTime,
3651 endTime=endTime,
3664 endTime=endTime,
3652 online=online,
3665 online=online,
3653 delay=delay,
3666 delay=delay,
3654 walk=walk)
3667 walk=walk)
3655 else:
3668 else:
3656 readUnitConfObj = projectObjView.addReadUnit(datatype=datatype,
3669 readUnitConfObj = projectObjView.addReadUnit(datatype=datatype,
3657 path=data_path,
3670 path=data_path,
3658 startDate=startDate,
3671 startDate=startDate,
3659 endDate=endDate,
3672 endDate=endDate,
3660 startTime=startTime,
3673 startTime=startTime,
3661 endTime=endTime,
3674 endTime=endTime,
3662 online=online,
3675 online=online,
3663 delay=delay,
3676 delay=delay,
3664 walk=walk,
3677 walk=walk,
3665 set=set)
3678 set=set)
3666
3679
3667 return readUnitConfObj
3680 return readUnitConfObj
3668
3681
3669 def updateReadUnitView(self, projectObjView, idReadUnit):
3682 def updateReadUnitView(self, projectObjView, idReadUnit):
3670
3683
3671 project_name, description, datatype, data_path, startDate, endDate, startTime, endTime, online, delay, walk , set = self.getParmsFromProjectWindow()
3684 project_name, description, datatype, data_path, startDate, endDate, startTime, endTime, online, delay, walk , set = self.getParmsFromProjectWindow()
3672
3685
3673 readUnitConfObj = projectObjView.getProcUnitObj(idReadUnit)
3686 readUnitConfObj = projectObjView.getProcUnitObj(idReadUnit)
3674
3687
3675 if set == None:
3688 if set == None:
3676
3689
3677 readUnitConfObj.update(datatype=datatype,
3690 readUnitConfObj.update(datatype=datatype,
3678 path=data_path,
3691 path=data_path,
3679 startDate=startDate,
3692 startDate=startDate,
3680 endDate=endDate,
3693 endDate=endDate,
3681 startTime=startTime,
3694 startTime=startTime,
3682 endTime=endTime,
3695 endTime=endTime,
3683 online=online,
3696 online=online,
3684 delay=delay,
3697 delay=delay,
3685 walk=walk)
3698 walk=walk)
3686
3699
3687 else:
3700 else:
3688 readUnitConfObj.update(datatype=datatype,
3701 readUnitConfObj.update(datatype=datatype,
3689 path=data_path,
3702 path=data_path,
3690 startDate=startDate,
3703 startDate=startDate,
3691 endDate=endDate,
3704 endDate=endDate,
3692 startTime=startTime,
3705 startTime=startTime,
3693 endTime=endTime,
3706 endTime=endTime,
3694 online=online,
3707 online=online,
3695 delay=delay,
3708 delay=delay,
3696 walk=walk,
3709 walk=walk,
3697 set=set)
3710 set=set)
3698
3711
3699
3712
3700
3713
3701 return readUnitConfObj
3714 return readUnitConfObj
3702
3715
3703 def createProcUnitView(self, projectObjView, datatype, inputId):
3716 def createProcUnitView(self, projectObjView, datatype, inputId):
3704
3717
3705 procUnitConfObj = projectObjView.addProcUnit(datatype=datatype, inputId=inputId)
3718 procUnitConfObj = projectObjView.addProcUnit(datatype=datatype, inputId=inputId)
3706
3719
3707 self.__puObjDict[procUnitConfObj.getId()] = procUnitConfObj
3720 self.__puObjDict[procUnitConfObj.getId()] = procUnitConfObj
3708
3721
3709 return procUnitConfObj
3722 return procUnitConfObj
3710
3723
3711 def updateProcUnitView(self, id):
3724 def updateProcUnitView(self, id):
3712
3725
3713 procUnitConfObj = projectObjView.getProcUnitObj(id)
3726 procUnitConfObj = projectObjView.getProcUnitObj(id)
3714 procUnitConfObj.removeOperations()
3727 procUnitConfObj.removeOperations()
3715
3728
3716 return procUnitConfObj
3729 return procUnitConfObj
3717
3730
3718 def addPUWindow(self):
3731 def addPUWindow(self):
3719
3732
3720 self.configUPWindowObj = UnitProcessWindow(self)
3733 self.configUPWindowObj = UnitProcessWindow(self)
3721 fatherObj = self.getSelectedPUObj()
3734 fatherObj = self.getSelectedPUObj()
3722 try:
3735 try:
3723 fatherObj.getElementName()
3736 fatherObj.getElementName()
3724 except:
3737 except:
3725 self.console.append("First left click on Project or Processing Unit")
3738 self.console.append("First left click on Project or Processing Unit")
3726 return 0
3739 return 0
3727
3740
3728 if fatherObj.getElementName() == 'Project':
3741 if fatherObj.getElementName() == 'Project':
3729 readUnitConfObj = fatherObj.getReadUnitObj()
3742 readUnitConfObj = fatherObj.getReadUnitObj()
3730 self.configUPWindowObj.dataTypeProject = str(readUnitConfObj.datatype)
3743 self.configUPWindowObj.dataTypeProject = str(readUnitConfObj.datatype)
3731
3744
3732 self.configUPWindowObj.getfromWindowList.append(fatherObj)
3745 self.configUPWindowObj.getfromWindowList.append(fatherObj)
3733 self.configUPWindowObj.loadTotalList()
3746 self.configUPWindowObj.loadTotalList()
3734 self.configUPWindowObj.show()
3747 self.configUPWindowObj.show()
3735 self.configUPWindowObj.closed.connect(self.createPUWindow)
3748 self.configUPWindowObj.closed.connect(self.createPUWindow)
3736
3749
3737 def createPUWindow(self):
3750 def createPUWindow(self):
3738
3751
3739 self.console.clear()
3752 self.console.clear()
3740
3753
3741 if not self.configUPWindowObj.create:
3754 if not self.configUPWindowObj.create:
3742 return
3755 return
3743
3756
3744 fatherObj = self.configUPWindowObj.getFromWindow
3757 fatherObj = self.configUPWindowObj.getFromWindow
3745 datatype = self.configUPWindowObj.typeofUP
3758 datatype = self.configUPWindowObj.typeofUP
3746
3759
3747 if fatherObj.getElementName() == 'Project':
3760 if fatherObj.getElementName() == 'Project':
3748 inputId = fatherObj.getReadUnitId()
3761 inputId = fatherObj.getReadUnitId()
3749 projectObjView = fatherObj
3762 projectObjView = fatherObj
3750 else:
3763 else:
3751 inputId = fatherObj.getId()
3764 inputId = fatherObj.getId()
3752 projectObjView = self.getSelectedProjectObj()
3765 projectObjView = self.getSelectedProjectObj()
3753
3766
3754 #----------------------------
3767 #----------------------------
3755 puObj = self.createProcUnitView(projectObjView, datatype, inputId)
3768 puObj = self.createProcUnitView(projectObjView, datatype, inputId)
3756 #----------------------------
3769 #----------------------------
3757 self.addPU2ProjectExplorer(id=puObj.getId(), name=datatype)
3770 self.addPU2ProjectExplorer(id=puObj.getId(), name=datatype)
3758
3771
3759 self.showtabPUCreated(datatype)
3772 self.showtabPUCreated(datatype)
3760
3773
3761 self.setInputsPU_View(datatype)
3774 self.setInputsPU_View(datatype)
3762
3775
3763 self.showPUinitView()
3776 self.showPUinitView()
3764
3777
3765 def addFTPConf2Operation(self, puObj, opObj):
3778 def addFTPConf2Operation(self, puObj, opObj):
3766
3779
3767 if self.temporalFTP.create:
3780 if self.temporalFTP.create:
3768 server, remotefolder, username, password, ftp_wei, exp_code, sub_exp_code, plot_pos = self.temporalFTP.recover()
3781 server, remotefolder, username, password, ftp_wei, exp_code, sub_exp_code, plot_pos = self.temporalFTP.recover()
3769 else:
3782 else:
3770 self.temporalFTP.setwithoutconfiguration()
3783 self.temporalFTP.setwithoutconfiguration()
3771 server, remotefolder, username, password, ftp_wei, exp_code, sub_exp_code, plot_pos = self.temporalFTP.recover()
3784 server, remotefolder, username, password, ftp_wei, exp_code, sub_exp_code, plot_pos = self.temporalFTP.recover()
3772
3785
3773 opObj.addParameter(name='server', value=server, format='str')
3786 # opObj.addParameter(name='server', value=server, format='str')
3774 opObj.addParameter(name='folder', value=remotefolder, format='str')
3787 # opObj.addParameter(name='folder', value=remotefolder, format='str')
3775 opObj.addParameter(name='username', value=username, format='str')
3788 # opObj.addParameter(name='username', value=username, format='str')
3776 opObj.addParameter(name='password', value=password, format='str')
3789 # opObj.addParameter(name='password', value=password, format='str')
3777
3790
3778 if ftp_wei:
3791 if ftp_wei:
3779 opObj.addParameter(name='ftp_wei', value=int(ftp_wei), format='int')
3792 opObj.addParameter(name='ftp_wei', value=int(ftp_wei), format='int')
3780 if exp_code:
3793 if exp_code:
3781 opObj.addParameter(name='exp_code', value=int(exp_code), format='int')
3794 opObj.addParameter(name='exp_code', value=int(exp_code), format='int')
3782 if sub_exp_code:
3795 if sub_exp_code:
3783 opObj.addParameter(name='sub_exp_code', value=int(sub_exp_code), format='int')
3796 opObj.addParameter(name='sub_exp_code', value=int(sub_exp_code), format='int')
3784 if plot_pos:
3797 if plot_pos:
3785 opObj.addParameter(name='plot_pos', value=int(plot_pos), format='int')
3798 opObj.addParameter(name='plot_pos', value=int(plot_pos), format='int')
3786
3799
3787 if puObj.datatype == "Spectra":
3800 if puObj.datatype == "Spectra":
3788 value = self.specGgraphftpratio.text()
3801 value = self.specGgraphftpratio.text()
3789 if puObj.datatype == "SpectraHeis":
3802 if puObj.datatype == "SpectraHeis":
3790 value = self.specHeisGgraphftpratio.text()
3803 value = self.specHeisGgraphftpratio.text()
3791
3804
3792 if not value == "":
3805 if not value == "":
3793 try:
3806 try:
3794 value = int(value)
3807 value = int(value)
3795 except:
3808 except:
3796 self.console.clear()
3809 self.console.clear()
3797 self.console.append("Please fill Ratio on the textbox")
3810 self.console.append("Please fill Ratio on the textbox")
3798 return 0
3811 return 0
3799
3812
3800 opObj.addParameter(name='wr_period', value=value, format='int')
3813 opObj.addParameter(name='wr_period', value=value, format='int')
3801
3814
3802 def createFTPProcUnitView(self, server, username, password, remotefolder, localfolder='./', extension='.png', period='60', protocol='ftp'):
3815 def createFTPProcUnitView(self, server, username, password, remotefolder,
3816 ftp_wei, exp_code, sub_exp_code, plot_pos,
3817 localfolder='./', extension='.png', period='60', protocol='ftp'):
3803
3818
3804 if self.__ftpProcUnitAdded:
3819 projectObj = self.getSelectedProjectObj()
3805 procUnitConfObj = self.__puObjDict[self.__ftpProcUnitId]
3820 procUnitConfObj = projectObj.getProcUnitObjByName(name="SendToServer")
3806 procUnitConfObj.removeOperations()
3821
3807 else:
3822 if not procUnitConfObj:
3808 projectObj = self.getSelectedProjectObj()
3809 procUnitConfObj = projectObj.addProcUnit(name="SendToServer")
3823 procUnitConfObj = projectObj.addProcUnit(name="SendToServer")
3824 else:
3825 procUnitConfObj.removeOperations()
3810
3826
3811 procUnitConfObj.addParameter(name='server', value=server, format='str')
3827 procUnitConfObj.addParameter(name='server', value=server, format='str')
3812 procUnitConfObj.addParameter(name='username', value=username, format='str')
3828 procUnitConfObj.addParameter(name='username', value=username, format='str')
3813 procUnitConfObj.addParameter(name='password', value=password, format='str')
3829 procUnitConfObj.addParameter(name='password', value=password, format='str')
3814 procUnitConfObj.addParameter(name='localfolder', value=localfolder, format='str')
3830 procUnitConfObj.addParameter(name='localfolder', value=localfolder, format='str')
3815 procUnitConfObj.addParameter(name='remotefolder', value=remotefolder, format='str')
3831 procUnitConfObj.addParameter(name='remotefolder', value=remotefolder, format='str')
3816 procUnitConfObj.addParameter(name='ext', value=extension, format='str')
3832 procUnitConfObj.addParameter(name='ext', value=extension, format='str')
3817 procUnitConfObj.addParameter(name='period', value=period, format='int')
3833 procUnitConfObj.addParameter(name='period', value=period, format='int')
3818 procUnitConfObj.addParameter(name='protocol', value=protocol, format='str')
3834 procUnitConfObj.addParameter(name='protocol', value=protocol, format='str')
3819
3835
3836 procUnitConfObj.addParameter(name='ftp_wei', value=ftp_wei, format='str')
3837 procUnitConfObj.addParameter(name='exp_code', value=exp_code, format='str')
3838 procUnitConfObj.addParameter(name='sub_exp_code', value=sub_exp_code, format='str')
3839 procUnitConfObj.addParameter(name='plot_pos', value=plot_pos, format='str')
3840
3820 self.__puObjDict[procUnitConfObj.getId()] = procUnitConfObj
3841 self.__puObjDict[procUnitConfObj.getId()] = procUnitConfObj
3821
3842
3822 self.__ftpProcUnitAdded = True
3843 self.__ftpProcUnitAdded = True
3823 self.__ftpProcUnitId = procUnitConfObj.getId()
3844 self.__ftpProcUnitId = procUnitConfObj.getId()
3824
3845
3825 def removeFTPProcUnitView(self):
3846 def removeFTPProcUnitView(self):
3826
3847
3827 if not self.__ftpProcUnitAdded:
3848 projectObj = self.getSelectedProjectObj()
3849 procUnitConfObj = projectObj.getProcUnitObjByName(name="SendToServer")
3850
3851 self.__ftpProcUnitAdded = False
3852 self.__ftpProcUnitId = None
3853
3854 if not procUnitConfObj:
3828 return
3855 return
3829
3856
3830 procUnitConfObj = self.__puObjDict[self.__ftpProcUnitId]
3831 procUnitConfObj.removeOperations()
3857 procUnitConfObj.removeOperations()
3832
3858
3833 self.__puObjDict.pop(procUnitConfObj.getId())
3859 self.__puObjDict.pop(procUnitConfObj.getId())
3834
3835 self.__ftpProcUnitAdded = False
3836 self.__ftpProcUnitId = None
3837
3860
3838 def bufferProject(self, caracteristica, principal, description):
3861 def bufferProject(self, caracteristica, principal, description):
3839
3862
3840 self.projectProperCaracteristica.append(caracteristica)
3863 self.projectProperCaracteristica.append(caracteristica)
3841 self.projectProperPrincipal.append(principal)
3864 self.projectProperPrincipal.append(principal)
3842 self.projectProperDescripcion.append(description)
3865 self.projectProperDescripcion.append(description)
3843 return self.projectProperCaracteristica, self.projectProperPrincipal, self.projectProperDescripcion
3866 return self.projectProperCaracteristica, self.projectProperPrincipal, self.projectProperDescripcion
3844
3867
3845
3868
3846 def showProjectProperties(self, projectObjView):
3869 def showProjectProperties(self, projectObjView):
3847
3870
3848 project_name, description = projectObjView.name, projectObjView.description
3871 project_name, description = projectObjView.name, projectObjView.description
3849
3872
3850 id = projectObjView.id
3873 id = projectObjView.id
3851 readUnitId = projectObjView.getReadUnitId()
3874 readUnitId = projectObjView.getReadUnitId()
3852 readUnitObj = projectObjView.getProcUnitObj(readUnitId)
3875 readUnitObj = projectObjView.getProcUnitObj(readUnitId)
3853 operationObj = readUnitObj.getOperationObj(name='run')
3876 operationObj = readUnitObj.getOperationObj(name='run')
3854
3877
3855
3878
3856 datatype = operationObj.getParameterValue(parameterName='datatype')
3879 datatype = operationObj.getParameterValue(parameterName='datatype')
3857 dpath = operationObj.getParameterValue(parameterName='path')
3880 dpath = operationObj.getParameterValue(parameterName='path')
3858 startDate = operationObj.getParameterValue(parameterName='startDate')
3881 startDate = operationObj.getParameterValue(parameterName='startDate')
3859 endDate = operationObj.getParameterValue(parameterName='endDate')
3882 endDate = operationObj.getParameterValue(parameterName='endDate')
3860 startDate = str(startDate)
3883 startDate = str(startDate)
3861 endDate = str(endDate)
3884 endDate = str(endDate)
3862 startDateList = startDate.split('-')
3885 startDateList = startDate.split('-')
3863 endDateList = endDate.split('-')
3886 endDateList = endDate.split('-')
3864 startDate = startDateList[0] + "/" + startDateList[1] + "/" + startDateList[2]
3887 startDate = startDateList[0] + "/" + startDateList[1] + "/" + startDateList[2]
3865 endDate = endDateList[0] + "/" + endDateList[1] + "/" + endDateList[2]
3888 endDate = endDateList[0] + "/" + endDateList[1] + "/" + endDateList[2]
3866
3889
3867 startTime = operationObj.getParameterValue(parameterName='startTime')
3890 startTime = operationObj.getParameterValue(parameterName='startTime')
3868 endTime = operationObj.getParameterValue(parameterName='endTime')
3891 endTime = operationObj.getParameterValue(parameterName='endTime')
3869 online = operationObj.getParameterValue(parameterName='online')
3892 online = operationObj.getParameterValue(parameterName='online')
3870 walk = operationObj.getParameterValue(parameterName='walk')
3893 walk = operationObj.getParameterValue(parameterName='walk')
3871 delay = operationObj.getParameterValue(parameterName='delay')
3894 delay = operationObj.getParameterValue(parameterName='delay')
3872 try:
3895 try:
3873 set = operationObj.getParameterValue(parameterName='set')
3896 set = operationObj.getParameterValue(parameterName='set')
3874 except:
3897 except:
3875 set = " "
3898 set = " "
3876
3899
3877 if online == 0:
3900 if online == 0:
3878 remode = "offline"
3901 remode = "offline"
3879 else:
3902 else:
3880 remode = "online"
3903 remode = "online"
3881
3904
3882 if walk == 0:
3905 if walk == 0:
3883 walk_str = 'On Files'
3906 walk_str = 'On Files'
3884 else:
3907 else:
3885 walk_str = 'On Folder'
3908 walk_str = 'On Folder'
3886
3909
3887 self.bufferProject("Properties", "Name", project_name),
3910 self.bufferProject("Properties", "Name", project_name),
3888 self.bufferProject("Properties", "Data Path", dpath)
3911 self.bufferProject("Properties", "Data Path", dpath)
3889 self.bufferProject("Properties", "Workspace", self.pathWorkSpace)
3912 self.bufferProject("Properties", "Workspace", self.pathWorkSpace)
3890 self.bufferProject("Parameters", "Read Mode ", remode)
3913 self.bufferProject("Parameters", "Read Mode ", remode)
3891 self.bufferProject("Parameters", "DataType ", datatype)
3914 self.bufferProject("Parameters", "DataType ", datatype)
3892 self.bufferProject("Parameters", "Start Date", str(startDate))
3915 self.bufferProject("Parameters", "Start Date", str(startDate))
3893 self.bufferProject("Parameters", "End Date ", str(endDate))
3916 self.bufferProject("Parameters", "End Date ", str(endDate))
3894 self.bufferProject("Parameters", "Start Time", str(startTime))
3917 self.bufferProject("Parameters", "Start Time", str(startTime))
3895 self.bufferProject("Parameters", "End Time ", str(endTime))
3918 self.bufferProject("Parameters", "End Time ", str(endTime))
3896 self.bufferProject("Parameters", "Delay ", str(delay))
3919 self.bufferProject("Parameters", "Delay ", str(delay))
3897 try:
3920 try:
3898 set = operationObj.getParameterValue(parameterName='set')
3921 set = operationObj.getParameterValue(parameterName='set')
3899 self.bufferProject("Parameters", "Set ", set)
3922 self.bufferProject("Parameters", "Set ", set)
3900 except:
3923 except:
3901 set = " "
3924 set = " "
3902 self.bufferProject("Parameters", "Walk ", str(walk_str))
3925 self.bufferProject("Parameters", "Walk ", str(walk_str))
3903 self.bufferProject("Parameters", "Time zone", "Local")
3926 self.bufferProject("Parameters", "Time zone", "Local")
3904 self.bufferProject("Description", "Summary ", description)
3927 self.bufferProject("Description", "Summary ", description)
3905
3928
3906 self.propertiesModel = treeModel()
3929 self.propertiesModel = treeModel()
3907 self.propertiesModel.showProjectParms(self.projectProperCaracteristica, self.projectProperPrincipal, self.projectProperDescripcion)
3930 self.propertiesModel.showProjectParms(self.projectProperCaracteristica, self.projectProperPrincipal, self.projectProperDescripcion)
3908 self.treeProjectProperties.setModel(self.propertiesModel)
3931 self.treeProjectProperties.setModel(self.propertiesModel)
3909 self.treeProjectProperties.expandAll()
3932 self.treeProjectProperties.expandAll()
3910 self.treeProjectProperties.resizeColumnToContents(0)
3933 self.treeProjectProperties.resizeColumnToContents(0)
3911 self.treeProjectProperties.resizeColumnToContents(1)
3934 self.treeProjectProperties.resizeColumnToContents(1)
3912
3935
3913 self.projectProperCaracteristica = []
3936 self.projectProperCaracteristica = []
3914 self.projectProperPrincipal = []
3937 self.projectProperPrincipal = []
3915 self.projectProperDescripcion = []
3938 self.projectProperDescripcion = []
3916
3939
3917 return datatype , dpath , startDate , endDate, startTime, endTime, online, delay, walk, set
3940 return datatype , dpath , startDate , endDate, startTime, endTime, online, delay, walk, set
3918
3941
3919 def showPUinitView(self):
3942 def showPUinitView(self):
3920 self.propertiesModel = treeModel()
3943 self.propertiesModel = treeModel()
3921 self.propertiesModel.initPUVoltageView()
3944 self.propertiesModel.initPUVoltageView()
3922 self.treeProjectProperties.setModel(self.propertiesModel)
3945 self.treeProjectProperties.setModel(self.propertiesModel)
3923 self.treeProjectProperties.expandAll()
3946 self.treeProjectProperties.expandAll()
3924 self.treeProjectProperties.allColumnsShowFocus()
3947 self.treeProjectProperties.allColumnsShowFocus()
3925 self.treeProjectProperties.resizeColumnToContents(1)
3948 self.treeProjectProperties.resizeColumnToContents(1)
3926
3949
3927 def bufferVoltage(self, caracteristica, principal, description):
3950 def bufferVoltage(self, caracteristica, principal, description):
3928 self.volProperCaracteristica.append(caracteristica)
3951 self.volProperCaracteristica.append(caracteristica)
3929 self.volProperPrincipal.append(principal)
3952 self.volProperPrincipal.append(principal)
3930 self.volProperDescripcion.append(description)
3953 self.volProperDescripcion.append(description)
3931 return self.volProperCaracteristica, self.volProperPrincipal, self.volProperDescripcion
3954 return self.volProperCaracteristica, self.volProperPrincipal, self.volProperDescripcion
3932
3955
3933 def showPUVoltageProperties(self, puObj):
3956 def showPUVoltageProperties(self, puObj):
3934
3957
3935
3958
3936 type = puObj.name
3959 type = puObj.name
3937 self.bufferVoltage("Processing Unit", "Type", type)
3960 self.bufferVoltage("Processing Unit", "Type", type)
3938
3961
3939 opObj = puObj.getOperationObj(name="setRadarFrequency")
3962 opObj = puObj.getOperationObj(name="setRadarFrequency")
3940 if opObj == None:
3963 if opObj == None:
3941 radarfrequency = None
3964 radarfrequency = None
3942 else:
3965 else:
3943 value = opObj.getParameterValue(parameterName='frequency')
3966 value = opObj.getParameterValue(parameterName='frequency')
3944 value = str(value)
3967 value = str(value)
3945 radarfrequency = value
3968 radarfrequency = value
3946 self.bufferVoltage("Processing Unit", "Radar Frequency", radarfrequency)
3969 self.bufferVoltage("Processing Unit", "Radar Frequency", radarfrequency)
3947
3970
3948 opObj = puObj.getOperationObj(name="selectChannels")
3971 opObj = puObj.getOperationObj(name="selectChannels")
3949 if opObj == None:
3972 if opObj == None:
3950 channel = None
3973 channel = None
3951 else:
3974 else:
3952 value = opObj.getParameterValue(parameterName='channelList')
3975 value = opObj.getParameterValue(parameterName='channelList')
3953 value = str(value)[1:-1]
3976 value = str(value)[1:-1]
3954 channel = value
3977 channel = value
3955 self.bufferVoltage("Processing Unit", "Select Channel", channel)
3978 self.bufferVoltage("Processing Unit", "Select Channel", channel)
3956
3979
3957
3980
3958
3981
3959 opObj = puObj.getOperationObj(name="selectHeights")
3982 opObj = puObj.getOperationObj(name="selectHeights")
3960 if opObj == None:
3983 if opObj == None:
3961 heights = None
3984 heights = None
3962 else:
3985 else:
3963 value1 = int(opObj.getParameterValue(parameterName='minHei'))
3986 value1 = int(opObj.getParameterValue(parameterName='minHei'))
3964 value1 = str(value1)
3987 value1 = str(value1)
3965 value2 = int(opObj.getParameterValue(parameterName='maxHei'))
3988 value2 = int(opObj.getParameterValue(parameterName='maxHei'))
3966 value2 = str(value2)
3989 value2 = str(value2)
3967 value = value1 + "," + value2
3990 value = value1 + "," + value2
3968 heights = value
3991 heights = value
3969 self.bufferVoltage("Processing Unit", "Select Heights", heights)
3992 self.bufferVoltage("Processing Unit", "Select Heights", heights)
3970
3993
3971
3994
3972 opObj = puObj.getOperationObj(name="filterByHeights")
3995 opObj = puObj.getOperationObj(name="filterByHeights")
3973 if opObj == None:
3996 if opObj == None:
3974 filter = None
3997 filter = None
3975 else:
3998 else:
3976 value = opObj.getParameterValue(parameterName='window')
3999 value = opObj.getParameterValue(parameterName='window')
3977 value = str(value)
4000 value = str(value)
3978 filter = value
4001 filter = value
3979 self.bufferVoltage("Processing Unit", "Filter", filter)
4002 self.bufferVoltage("Processing Unit", "Filter", filter)
3980
4003
3981
4004
3982 opObj = puObj.getOperationObj(name="ProfileSelector")
4005 opObj = puObj.getOperationObj(name="ProfileSelector")
3983 if opObj == None:
4006 if opObj == None:
3984 profile = None
4007 profile = None
3985 else:
4008 else:
3986 for parmObj in opObj.getParameterObjList():
4009 for parmObj in opObj.getParameterObjList():
3987 if parmObj.name == "profileRangeList":
4010 if parmObj.name == "profileRangeList":
3988 value = opObj.getParameterValue(parameterName='profileRangeList')
4011 value = opObj.getParameterValue(parameterName='profileRangeList')
3989 value = str(value)[1:-1]
4012 value = str(value)[1:-1]
3990 profile = value
4013 profile = value
3991 self.bufferVoltage("Processing Unit", "Select Profile", profile)
4014 self.bufferVoltage("Processing Unit", "Select Profile", profile)
3992
4015
3993 if parmObj.name == "profileList":
4016 if parmObj.name == "profileList":
3994 value = opObj.getParameterValue(parameterName='profileList')
4017 value = opObj.getParameterValue(parameterName='profileList')
3995 value = str(value)[1:-1]
4018 value = str(value)[1:-1]
3996 profile = value
4019 profile = value
3997 self.bufferVoltage("Processing Unit", "Select Profile", profile)
4020 self.bufferVoltage("Processing Unit", "Select Profile", profile)
3998
4021
3999 opObj = puObj.getOperationObj(name="CohInt")
4022 opObj = puObj.getOperationObj(name="CohInt")
4000 if opObj == None:
4023 if opObj == None:
4001 coherentintegration = None
4024 coherentintegration = None
4002 else:
4025 else:
4003 value = opObj.getParameterValue(parameterName='n')
4026 value = opObj.getParameterValue(parameterName='n')
4004 coherentintegration = value
4027 coherentintegration = value
4005 self.bufferVoltage("Processing Unit", "Coherente Integration", coherentintegration)
4028 self.bufferVoltage("Processing Unit", "Coherente Integration", coherentintegration)
4006
4029
4007
4030
4008
4031
4009 opObj = puObj.getOperationObj(name="Decoder")
4032 opObj = puObj.getOperationObj(name="Decoder")
4010 if opObj == None:
4033 if opObj == None:
4011 self.volOpCebDecodification.setCheckState(0)
4034 self.volOpCebDecodification.setCheckState(0)
4012 code = None
4035 code = None
4013 mode = None
4036 mode = None
4014 else:
4037 else:
4015 self.volOpCebDecodification.setCheckState(QtCore.Qt.Checked)
4038 self.volOpCebDecodification.setCheckState(QtCore.Qt.Checked)
4016 try:
4039 try:
4017 valueBaud = opObj.getParameterValue(parameterName='nBaud')
4040 valueBaud = opObj.getParameterValue(parameterName='nBaud')
4018 except:
4041 except:
4019 status = "off"
4042 status = "off"
4020 try:
4043 try:
4021 valueCode = opObj.getParameterValue(parameterName='nCode')
4044 valueCode = opObj.getParameterValue(parameterName='nCode')
4022 status = "on"
4045 status = "on"
4023 except:
4046 except:
4024 status = "off"
4047 status = "off"
4025
4048
4026 if not status == "off":
4049 if not status == "off":
4027 if int(valueCode) == 1:
4050 if int(valueCode) == 1:
4028 Comp = ""
4051 Comp = ""
4029 else:
4052 else:
4030 Comp = "+" + "Comp."
4053 Comp = "+" + "Comp."
4031 code = "Barker" + str(valueBaud) + str(Comp)
4054 code = "Barker" + str(valueBaud) + str(Comp)
4032 else:
4055 else:
4033 code = "Default"
4056 code = "Default"
4034 self.bufferVoltage("Decodification", "Code", code)
4057 self.bufferVoltage("Decodification", "Code", code)
4035
4058
4036 try:
4059 try:
4037 value = opObj.getParameterValue(parameterName='mode')
4060 value = opObj.getParameterValue(parameterName='mode')
4038 status = "on"
4061 status = "on"
4039 except:
4062 except:
4040 status = "off"
4063 status = "off"
4041
4064
4042 if not status == "off":
4065 if not status == "off":
4043 self.volOpComMode.setCurrentIndex(value)
4066 self.volOpComMode.setCurrentIndex(value)
4044 if int(value) == 0:
4067 if int(value) == 0:
4045 mode = "Time"
4068 mode = "Time"
4046 else:
4069 else:
4047 mode = "freq" + str(value)
4070 mode = "freq" + str(value)
4048 else:
4071 else:
4049 mode = "Default"
4072 mode = "Default"
4050 self.bufferVoltage("Decodification", "Mode", mode)
4073 self.bufferVoltage("Decodification", "Mode", mode)
4051
4074
4052 # graph
4075 # graph
4053 # opObj = puObj.getOperationObj(name='Plot')
4076 # opObj = puObj.getOperationObj(name='Plot')
4054 opObj = puObj.getOperationObj(name='Scope')
4077 opObj = puObj.getOperationObj(name='Scope')
4055 if opObj == None:
4078 if opObj == None:
4056 self.volGraphCebshow.setCheckState(0)
4079 self.volGraphCebshow.setCheckState(0)
4057 operation = "Disabled"
4080 operation = "Disabled"
4058 channelList = None
4081 channelList = None
4059 freq_vel = None
4082 freq_vel = None
4060 heightsrange = None
4083 heightsrange = None
4061 else:
4084 else:
4062 operation = 'Enabled'
4085 operation = 'Enabled'
4063 self.bufferVoltage("Scope", "Operation", operation),
4086 self.bufferVoltage("Scope", "Operation", operation),
4064 self.volGraphCebshow.setCheckState(QtCore.Qt.Checked)
4087 self.volGraphCebshow.setCheckState(QtCore.Qt.Checked)
4065 value = opObj.getParameterObj(parameterName='channelList')
4088 value = opObj.getParameterObj(parameterName='channelList')
4066 if value == None:
4089 if value == None:
4067 channelList = None
4090 channelList = None
4068 else:
4091 else:
4069 value = opObj.getParameterValue(parameterName='channelList')
4092 value = opObj.getParameterValue(parameterName='channelList')
4070 value = str(value)[1:-1]
4093 value = str(value)[1:-1]
4071 channelList = value
4094 channelList = value
4072 self.bufferVoltage("Scope", "Channel List", channelList)
4095 self.bufferVoltage("Scope", "Channel List", channelList)
4073
4096
4074
4097
4075 value1 = opObj.getParameterObj(parameterName='xmin')
4098 value1 = opObj.getParameterObj(parameterName='xmin')
4076 if value1 == None:
4099 if value1 == None:
4077 freq_vel = None
4100 freq_vel = None
4078 else:
4101 else:
4079 value1 = opObj.getParameterValue(parameterName='xmin')
4102 value1 = opObj.getParameterValue(parameterName='xmin')
4080 value1 = str(value1)
4103 value1 = str(value1)
4081 value2 = opObj.getParameterObj(parameterName='xmax')
4104 value2 = opObj.getParameterObj(parameterName='xmax')
4082 if value2 == None:
4105 if value2 == None:
4083 freq_vel = None
4106 freq_vel = None
4084 else:
4107 else:
4085 value2 = opObj.getParameterValue(parameterName='xmax')
4108 value2 = opObj.getParameterValue(parameterName='xmax')
4086 value2 = str(value2)
4109 value2 = str(value2)
4087 value = value1 + "," + value2
4110 value = value1 + "," + value2
4088 freq_vel = value
4111 freq_vel = value
4089 self.bufferVoltage("Scope", "Freq/Vel", freq_vel)
4112 self.bufferVoltage("Scope", "Freq/Vel", freq_vel)
4090
4113
4091 value1 = opObj.getParameterObj(parameterName='ymin')
4114 value1 = opObj.getParameterObj(parameterName='ymin')
4092 if value1 == None:
4115 if value1 == None:
4093 heightsrange = None
4116 heightsrange = None
4094 else:
4117 else:
4095 value1 = opObj.getParameterValue(parameterName='ymin')
4118 value1 = opObj.getParameterValue(parameterName='ymin')
4096 value1 = str(value1)
4119 value1 = str(value1)
4097 value2 = opObj.getParameterObj(parameterName='ymax')
4120 value2 = opObj.getParameterObj(parameterName='ymax')
4098 if value2 == None:
4121 if value2 == None:
4099 fheightsrange = None
4122 fheightsrange = None
4100 else:
4123 else:
4101 value2 = opObj.getParameterValue(parameterName='ymax')
4124 value2 = opObj.getParameterValue(parameterName='ymax')
4102 value2 = str(value2)
4125 value2 = str(value2)
4103 value = value1 + "," + value2
4126 value = value1 + "," + value2
4104 heightsrange = value
4127 heightsrange = value
4105 self.bufferVoltage("Scope", "Height Range", heightsrange)
4128 self.bufferVoltage("Scope", "Height Range", heightsrange)
4106
4129
4107 parmObj = opObj.getParameterObj(parameterName="figpath")
4130 parmObj = opObj.getParameterObj(parameterName="figpath")
4108 if parmObj == None:
4131 if parmObj == None:
4109 self.volGraphCebSave.setCheckState(QtCore.Qt.Unchecked)
4132 self.volGraphCebSave.setCheckState(QtCore.Qt.Unchecked)
4110 figpath = None
4133 figpath = None
4111 else:
4134 else:
4112 self.volGraphCebSave.setCheckState(QtCore.Qt.Checked)
4135 self.volGraphCebSave.setCheckState(QtCore.Qt.Checked)
4113 value = opObj.getParameterValue(parameterName='figpath')
4136 value = opObj.getParameterValue(parameterName='figpath')
4114 figpath = value
4137 figpath = value
4115 self.bufferVoltage("Scope", "Path", figpath)
4138 self.bufferVoltage("Scope", "Path", figpath)
4116 # outputVoltageWrite
4139 # outputVoltageWrite
4117 opObj = puObj.getOperationObj(name='VoltageWriter')
4140 opObj = puObj.getOperationObj(name='VoltageWriter')
4118 if opObj == None:
4141 if opObj == None:
4119 pass
4142 pass
4120 else:
4143 else:
4121 operation = 'Enabled'
4144 operation = 'Enabled'
4122 self.bufferVoltage("Output", "Operation", operation)
4145 self.bufferVoltage("Output", "Operation", operation)
4123 value = opObj.getParameterObj(parameterName='path')
4146 value = opObj.getParameterObj(parameterName='path')
4124 if value == None:
4147 if value == None:
4125 path = None
4148 path = None
4126 else:
4149 else:
4127 value = opObj.getParameterValue(parameterName='path')
4150 value = opObj.getParameterValue(parameterName='path')
4128 path = str(value)
4151 path = str(value)
4129 self.bufferVoltage("Output", "Path", path)
4152 self.bufferVoltage("Output", "Path", path)
4130 value = opObj.getParameterObj(parameterName='blocksPerFile')
4153 value = opObj.getParameterObj(parameterName='blocksPerFile')
4131 if value == None:
4154 if value == None:
4132 blocksperfile = None
4155 blocksperfile = None
4133 else:
4156 else:
4134 value = opObj.getParameterValue(parameterName='blocksPerFile')
4157 value = opObj.getParameterValue(parameterName='blocksPerFile')
4135 blocksperfile = str(value)
4158 blocksperfile = str(value)
4136 self.bufferVoltage("Output", "BlocksPerFile", blocksperfile)
4159 self.bufferVoltage("Output", "BlocksPerFile", blocksperfile)
4137 value = opObj.getParameterObj(parameterName='profilesPerBlock')
4160 value = opObj.getParameterObj(parameterName='profilesPerBlock')
4138 if value == None:
4161 if value == None:
4139 profilesPerBlock = None
4162 profilesPerBlock = None
4140 else:
4163 else:
4141 value = opObj.getParameterValue(parameterName='profilesPerBlock')
4164 value = opObj.getParameterValue(parameterName='profilesPerBlock')
4142 profilesPerBlock = str(value)
4165 profilesPerBlock = str(value)
4143 self.bufferVoltage("Output", "ProfilesPerBlock", profilesPerBlock)
4166 self.bufferVoltage("Output", "ProfilesPerBlock", profilesPerBlock)
4144
4167
4145
4168
4146 # set model PU Properties
4169 # set model PU Properties
4147
4170
4148 self.propertiesModel = treeModel()
4171 self.propertiesModel = treeModel()
4149 self.propertiesModel.showPUVoltageParms(self.volProperCaracteristica, self.volProperPrincipal, self.volProperDescripcion)
4172 self.propertiesModel.showPUVoltageParms(self.volProperCaracteristica, self.volProperPrincipal, self.volProperDescripcion)
4150 self.volProperCaracteristica = []
4173 self.volProperCaracteristica = []
4151 self.volProperPrincipal = []
4174 self.volProperPrincipal = []
4152 self.volProperDescripcion = []
4175 self.volProperDescripcion = []
4153 self.treeProjectProperties.setModel(self.propertiesModel)
4176 self.treeProjectProperties.setModel(self.propertiesModel)
4154 self.treeProjectProperties.expandAll()
4177 self.treeProjectProperties.expandAll()
4155 self.treeProjectProperties.allColumnsShowFocus()
4178 self.treeProjectProperties.allColumnsShowFocus()
4156 self.treeProjectProperties.resizeColumnToContents(0)
4179 self.treeProjectProperties.resizeColumnToContents(0)
4157 self.treeProjectProperties.resizeColumnToContents(1)
4180 self.treeProjectProperties.resizeColumnToContents(1)
4158
4181
4159 def bufferSpectra(self, caracteristica, principal, description):
4182 def bufferSpectra(self, caracteristica, principal, description):
4160 self.specProperCaracteristica.append(caracteristica)
4183 self.specProperCaracteristica.append(caracteristica)
4161 self.specProperPrincipal.append(principal)
4184 self.specProperPrincipal.append(principal)
4162 self.specProperDescripcion.append(description)
4185 self.specProperDescripcion.append(description)
4163 return self.specProperCaracteristica, self.specProperPrincipal, self.specProperDescripcion
4186 return self.specProperCaracteristica, self.specProperPrincipal, self.specProperDescripcion
4164
4187
4165 def showPUSpectraProperties(self, puObj):
4188 def showPUSpectraProperties(self, puObj):
4166 type = puObj.name
4189 type = puObj.name
4167 self.bufferSpectra("Processing Unit", "Type", type)
4190 self.bufferSpectra("Processing Unit", "Type", type)
4168
4191
4169 opObj = puObj.getOperationObj(name="setRadarFrequency")
4192 opObj = puObj.getOperationObj(name="setRadarFrequency")
4170 if opObj == None:
4193 if opObj == None:
4171 radarfrequency = None
4194 radarfrequency = None
4172 else:
4195 else:
4173 value = opObj.getParameterValue(parameterName='frequency')
4196 value = opObj.getParameterValue(parameterName='frequency')
4174 value = str(value)
4197 value = str(value)
4175 radarfrequency = value
4198 radarfrequency = value
4176 self.bufferSpectra("Processing Unit", "Radar Frequency", radarfrequency)
4199 self.bufferSpectra("Processing Unit", "Radar Frequency", radarfrequency)
4177
4200
4178
4201
4179 opObj = puObj.getOperationObj(name="run")
4202 opObj = puObj.getOperationObj(name="run")
4180 if opObj == None:
4203 if opObj == None:
4181 self.specOpnFFTpoints.clear()
4204 self.specOpnFFTpoints.clear()
4182 self.specOpProfiles.clear()
4205 self.specOpProfiles.clear()
4183 self.specOpippFactor.clear()
4206 self.specOpippFactor.clear()
4184 else:
4207 else:
4185 parmObj = opObj.getParameterObj(parameterName='nProfiles')
4208 parmObj = opObj.getParameterObj(parameterName='nProfiles')
4186 if parmObj == None:
4209 if parmObj == None:
4187 nProfiles = None
4210 nProfiles = None
4188 else:
4211 else:
4189 value = opObj.getParameterValue(parameterName='nProfiles')
4212 value = opObj.getParameterValue(parameterName='nProfiles')
4190 nProfiles = value
4213 nProfiles = value
4191 self.bufferSpectra("Processing Unit", "nProfiles", nProfiles)
4214 self.bufferSpectra("Processing Unit", "nProfiles", nProfiles)
4192
4215
4193 parmObj = opObj.getParameterObj(parameterName='nFFTPoints')
4216 parmObj = opObj.getParameterObj(parameterName='nFFTPoints')
4194 if parmObj == None:
4217 if parmObj == None:
4195 nFFTPoints = None
4218 nFFTPoints = None
4196 else:
4219 else:
4197 value = opObj.getParameterValue(parameterName='nFFTPoints')
4220 value = opObj.getParameterValue(parameterName='nFFTPoints')
4198 nFFTPoints = value
4221 nFFTPoints = value
4199 self.bufferSpectra("Processing Unit", "nFFTpoints", nFFTPoints)
4222 self.bufferSpectra("Processing Unit", "nFFTpoints", nFFTPoints)
4200
4223
4201 parmObj = opObj.getParameterObj(parameterName='ippFactor')
4224 parmObj = opObj.getParameterObj(parameterName='ippFactor')
4202 if parmObj == None:
4225 if parmObj == None:
4203 ippFactor = None
4226 ippFactor = None
4204 else:
4227 else:
4205 value = opObj.getParameterValue(parameterName='ippFactor')
4228 value = opObj.getParameterValue(parameterName='ippFactor')
4206 ippFactor = value
4229 ippFactor = value
4207 self.bufferSpectra("Processing Unit", "Ipp Factor", ippFactor)
4230 self.bufferSpectra("Processing Unit", "Ipp Factor", ippFactor)
4208
4231
4209
4232
4210 opObj = puObj.getOperationObj(name="run")
4233 opObj = puObj.getOperationObj(name="run")
4211 if opObj == None:
4234 if opObj == None:
4212 pairsList = None
4235 pairsList = None
4213 else:
4236 else:
4214 parm = opObj.getParameterObj(parameterName='pairsList')
4237 parm = opObj.getParameterObj(parameterName='pairsList')
4215 if parm == None:
4238 if parm == None:
4216 pairsList = None
4239 pairsList = None
4217 else:
4240 else:
4218 value = opObj.getParameterValue(parameterName='pairsList')
4241 value = opObj.getParameterValue(parameterName='pairsList')
4219 value = str(value)[1:-1]
4242 value = str(value)[1:-1]
4220 pairsList = value
4243 pairsList = value
4221 self.bufferSpectra("Processing Unit", "PairsList", pairsList)
4244 self.bufferSpectra("Processing Unit", "PairsList", pairsList)
4222
4245
4223
4246
4224 opObj = puObj.getOperationObj(name="selectChannels")
4247 opObj = puObj.getOperationObj(name="selectChannels")
4225 if opObj == None:
4248 if opObj == None:
4226 channel = None
4249 channel = None
4227 else:
4250 else:
4228 value = opObj.getParameterValue(parameterName='channelList')
4251 value = opObj.getParameterValue(parameterName='channelList')
4229 value = str(value)[1:-1]
4252 value = str(value)[1:-1]
4230 channel = value
4253 channel = value
4231 self.bufferSpectra("Processing Unit", "Channel", channel)
4254 self.bufferSpectra("Processing Unit", "Channel", channel)
4232
4255
4233 opObj = puObj.getOperationObj(name="selectHeights")
4256 opObj = puObj.getOperationObj(name="selectHeights")
4234 if opObj == None:
4257 if opObj == None:
4235 heights = None
4258 heights = None
4236 else:
4259 else:
4237 value1 = int(opObj.getParameterValue(parameterName='minHei'))
4260 value1 = int(opObj.getParameterValue(parameterName='minHei'))
4238 value1 = str(value1)
4261 value1 = str(value1)
4239 value2 = int(opObj.getParameterValue(parameterName='maxHei'))
4262 value2 = int(opObj.getParameterValue(parameterName='maxHei'))
4240 value2 = str(value2)
4263 value2 = str(value2)
4241 value = value1 + "," + value2
4264 value = value1 + "," + value2
4242 heights = value
4265 heights = value
4243 self.bufferSpectra("Processing Unit", "Heights", heights)
4266 self.bufferSpectra("Processing Unit", "Heights", heights)
4244
4267
4245 opObj = puObj.getOperationObj(name="IncohInt")
4268 opObj = puObj.getOperationObj(name="IncohInt")
4246 if opObj == None:
4269 if opObj == None:
4247 incoherentintegration = None
4270 incoherentintegration = None
4248 else:
4271 else:
4249 try:
4272 try:
4250 value = opObj.getParameterValue(parameterName='timeInterval')
4273 value = opObj.getParameterValue(parameterName='timeInterval')
4251 except:
4274 except:
4252 value = opObj.getParameterValue(parameterName='n')
4275 value = opObj.getParameterValue(parameterName='n')
4253
4276
4254 value = float(value)
4277 value = float(value)
4255 incoherentintegration = str(value)
4278 incoherentintegration = str(value)
4256 self.bufferSpectra("Processing Unit", "Incoherent Integration", incoherentintegration)
4279 self.bufferSpectra("Processing Unit", "Incoherent Integration", incoherentintegration)
4257
4280
4258
4281
4259 opObj = puObj.getOperationObj(name="removeDC")
4282 opObj = puObj.getOperationObj(name="removeDC")
4260 if opObj == None:
4283 if opObj == None:
4261 removeDC = None
4284 removeDC = None
4262 else:
4285 else:
4263 value = opObj.getParameterValue(parameterName='mode')
4286 value = opObj.getParameterValue(parameterName='mode')
4264 self.bufferSpectra("Processing Unit", "Remove DC", value)
4287 self.bufferSpectra("Processing Unit", "Remove DC", value)
4265
4288
4266 opObj = puObj.getOperationObj(name="removeInterference")
4289 opObj = puObj.getOperationObj(name="removeInterference")
4267 if opObj == None:
4290 if opObj == None:
4268 removeInterference = None
4291 removeInterference = None
4269 else:
4292 else:
4270 self.bufferSpectra("Processing Unit", "Remove Interference", "1")
4293 self.bufferSpectra("Processing Unit", "Remove Interference", "1")
4271
4294
4272 opObj = puObj.getOperationObj(name="getNoise")
4295 opObj = puObj.getOperationObj(name="getNoise")
4273 if opObj == None:
4296 if opObj == None:
4274 getNoise = None
4297 getNoise = None
4275 else:
4298 else:
4276 value1 = opObj.getParameterObj(parameterName='minHei')
4299 value1 = opObj.getParameterObj(parameterName='minHei')
4277 if value1 == None:
4300 if value1 == None:
4278 getNoise = None
4301 getNoise = None
4279 getNoise = "Default"
4302 getNoise = "Default"
4280 self.bufferSpectra("Processing Unit", "Get Noise", getNoise)
4303 self.bufferSpectra("Processing Unit", "Get Noise", getNoise)
4281
4304
4282 else:
4305 else:
4283 value1 = opObj.getParameterValue(parameterName='minHei')
4306 value1 = opObj.getParameterValue(parameterName='minHei')
4284 value1 = str(value1)
4307 value1 = str(value1)
4285 value2 = opObj.getParameterObj(parameterName='maxHei')
4308 value2 = opObj.getParameterObj(parameterName='maxHei')
4286 if value2 == None:
4309 if value2 == None:
4287 getNoise = None
4310 getNoise = None
4288 value = value1
4311 value = value1
4289 getNoise = value
4312 getNoise = value
4290 self.bufferSpectra("Processing Unit", "Get Noise", getNoise)
4313 self.bufferSpectra("Processing Unit", "Get Noise", getNoise)
4291 else:
4314 else:
4292 value2 = opObj.getParameterValue(parameterName='maxHei')
4315 value2 = opObj.getParameterValue(parameterName='maxHei')
4293 value2 = str(value2)
4316 value2 = str(value2)
4294 value3 = opObj.getParameterObj(parameterName='minVel')
4317 value3 = opObj.getParameterObj(parameterName='minVel')
4295 if value3 == None:
4318 if value3 == None:
4296 getNoise = None
4319 getNoise = None
4297 value = value1 + "," + value2
4320 value = value1 + "," + value2
4298 getNoise = value
4321 getNoise = value
4299 self.bufferSpectra("Processing Unit", "Get Noise", getNoise)
4322 self.bufferSpectra("Processing Unit", "Get Noise", getNoise)
4300 else:
4323 else:
4301 value3 = opObj.getParameterValue(parameterName='minVel')
4324 value3 = opObj.getParameterValue(parameterName='minVel')
4302 value3 = str(value3)
4325 value3 = str(value3)
4303 value4 = opObj.getParameterObj(parameterName='maxVel')
4326 value4 = opObj.getParameterObj(parameterName='maxVel')
4304 if value4 == None:
4327 if value4 == None:
4305 getNoise = None
4328 getNoise = None
4306 value = value1 + "," + value2 + ',' + value3
4329 value = value1 + "," + value2 + ',' + value3
4307 getNoise = value
4330 getNoise = value
4308 self.bufferSpectra("Processing Unit", "Get Noise", getNoise)
4331 self.bufferSpectra("Processing Unit", "Get Noise", getNoise)
4309 else:
4332 else:
4310 value4 = opObj.getParameterValue(parameterName='maxVel')
4333 value4 = opObj.getParameterValue(parameterName='maxVel')
4311 value4 = str(value4)
4334 value4 = str(value4)
4312 value = value1 + "," + value2 + ',' + value3 + ',' + value4
4335 value = value1 + "," + value2 + ',' + value3 + ',' + value4
4313 getNoise = value
4336 getNoise = value
4314 self.bufferSpectra("Processing Unit", "Get Noise", getNoise)
4337 self.bufferSpectra("Processing Unit", "Get Noise", getNoise)
4315
4338
4316 opObj = puObj.getOperationObj(name='SpectraPlot')
4339 opObj = puObj.getOperationObj(name='SpectraPlot')
4317 # opObj = puObj.getOpObjfromParamValue(value="SpectraPlot")
4340 # opObj = puObj.getOpObjfromParamValue(value="SpectraPlot")
4318
4341
4319 if opObj == None:
4342 if opObj == None:
4320 operationSpectraPlot = "Disabled"
4343 operationSpectraPlot = "Disabled"
4321 freq_vel = None
4344 freq_vel = None
4322 heightsrange = None
4345 heightsrange = None
4323 channelListSpectraPlot = None
4346 channelListSpectraPlot = None
4324 else:
4347 else:
4325 operationSpectraPlot = "Enable"
4348 operationSpectraPlot = "Enable"
4326 self.bufferSpectra("Spectra Plot", "Operation", operationSpectraPlot)
4349 self.bufferSpectra("Spectra Plot", "Operation", operationSpectraPlot)
4327 parmObj = opObj.getParameterObj(parameterName='channelList')
4350 parmObj = opObj.getParameterObj(parameterName='channelList')
4328 if parmObj == None:
4351 if parmObj == None:
4329 channelListSpectraPlot = None
4352 channelListSpectraPlot = None
4330 else:
4353 else:
4331 value = opObj.getParameterValue(parameterName='channelList')
4354 value = opObj.getParameterValue(parameterName='channelList')
4332 channelListSpectraPlot = str(value)[1:-1]
4355 channelListSpectraPlot = str(value)[1:-1]
4333 self.bufferSpectra("Spectra Plot", "Channel List", channelListSpectraPlot)
4356 self.bufferSpectra("Spectra Plot", "Channel List", channelListSpectraPlot)
4334
4357
4335
4358
4336 value1 = opObj.getParameterObj(parameterName='xmin')
4359 value1 = opObj.getParameterObj(parameterName='xmin')
4337 if value1 == None:
4360 if value1 == None:
4338 freq_vel = None
4361 freq_vel = None
4339 else:
4362 else:
4340 value1 = opObj.getParameterValue(parameterName='xmin')
4363 value1 = opObj.getParameterValue(parameterName='xmin')
4341 value1 = str(value1)
4364 value1 = str(value1)
4342 value2 = opObj.getParameterObj(parameterName='xmax')
4365 value2 = opObj.getParameterObj(parameterName='xmax')
4343 if value2 == None:
4366 if value2 == None:
4344 freq_vel = None
4367 freq_vel = None
4345 else:
4368 else:
4346 value2 = opObj.getParameterValue(parameterName='xmax')
4369 value2 = opObj.getParameterValue(parameterName='xmax')
4347 value2 = str(value2)
4370 value2 = str(value2)
4348 value = value1 + "," + value2
4371 value = value1 + "," + value2
4349 freq_vel = value
4372 freq_vel = value
4350 self.bufferSpectra("Spectra Plot", "Freq/Vel", freq_vel)
4373 self.bufferSpectra("Spectra Plot", "Freq/Vel", freq_vel)
4351
4374
4352 value1 = opObj.getParameterObj(parameterName='ymin')
4375 value1 = opObj.getParameterObj(parameterName='ymin')
4353 if value1 == None:
4376 if value1 == None:
4354 heightsrange = None
4377 heightsrange = None
4355 else:
4378 else:
4356 value1 = opObj.getParameterValue(parameterName='ymin')
4379 value1 = opObj.getParameterValue(parameterName='ymin')
4357 value1 = str(value1)
4380 value1 = str(value1)
4358 value2 = opObj.getParameterObj(parameterName='ymax')
4381 value2 = opObj.getParameterObj(parameterName='ymax')
4359 if value2 == None:
4382 if value2 == None:
4360 fheightsrange = None
4383 fheightsrange = None
4361 else:
4384 else:
4362 value2 = opObj.getParameterValue(parameterName='ymax')
4385 value2 = opObj.getParameterValue(parameterName='ymax')
4363 value2 = str(value2)
4386 value2 = str(value2)
4364 value = value1 + "," + value2
4387 value = value1 + "," + value2
4365 heightsrange = value
4388 heightsrange = value
4366 self.bufferSpectra("Spectra Plot", "Height Range", heightsrange)
4389 self.bufferSpectra("Spectra Plot", "Height Range", heightsrange)
4367
4390
4368 value1 = opObj.getParameterObj(parameterName='zmin')
4391 value1 = opObj.getParameterObj(parameterName='zmin')
4369 if value1 == None:
4392 if value1 == None:
4370 dBrange = None
4393 dBrange = None
4371 else:
4394 else:
4372 value1 = opObj.getParameterValue(parameterName='zmin')
4395 value1 = opObj.getParameterValue(parameterName='zmin')
4373 value1 = str(value1)
4396 value1 = str(value1)
4374 value2 = opObj.getParameterObj(parameterName='zmax')
4397 value2 = opObj.getParameterObj(parameterName='zmax')
4375 if value2 == None:
4398 if value2 == None:
4376 fdBrange = None
4399 fdBrange = None
4377 else:
4400 else:
4378 value2 = opObj.getParameterValue(parameterName='zmax')
4401 value2 = opObj.getParameterValue(parameterName='zmax')
4379 value2 = str(value2)
4402 value2 = str(value2)
4380 value = value1 + "," + value2
4403 value = value1 + "," + value2
4381 dbrange = value
4404 dbrange = value
4382 self.bufferSpectra("Spectra Plot", "dB Range", dbrange)
4405 self.bufferSpectra("Spectra Plot", "dB Range", dbrange)
4383
4406
4384 parmObj = opObj.getParameterObj(parameterName="figpath")
4407 parmObj = opObj.getParameterObj(parameterName="figpath")
4385 if parmObj == None:
4408 if parmObj == None:
4386 path = None
4409 path = None
4387 else:
4410 else:
4388 path = opObj.getParameterValue(parameterName='figpath')
4411 path = opObj.getParameterValue(parameterName='figpath')
4389 self.bufferSpectra("Spectra Plot", "Save Path", path)
4412 self.bufferSpectra("Spectra Plot", "Save Path", path)
4390
4413
4391 parmObj = opObj.getParameterObj(parameterName="ftp")
4414 parmObj = opObj.getParameterObj(parameterName="ftp")
4392 if parmObj == None:
4415 if parmObj == None:
4393 status = 'disable'
4416 status = 'disable'
4394 else:
4417 else:
4395 status = 'enable'
4418 status = 'enable'
4396 self.bufferSpectra("Spectra Plot", "FTP", status)
4419 self.bufferSpectra("Spectra Plot", "FTP", status)
4397 self.showWr_Period(puObj, opObj, nameplotop="Spectra Plot")
4420 self.showWr_Period(puObj, opObj, nameplotop="Spectra Plot")
4398 self.saveFTPvalues(opObj)
4421 # self.saveFTPvalues(opObj)
4399
4422
4400 opObj = puObj.getOperationObj(name='CrossSpectraPlot')
4423 opObj = puObj.getOperationObj(name='CrossSpectraPlot')
4401 # opObj = puObj.getOpObjfromParamValue(value="CrossSpectraPlot")
4424 # opObj = puObj.getOpObjfromParamValue(value="CrossSpectraPlot")
4402 if opObj == None:
4425 if opObj == None:
4403 self.specGraphCebCrossSpectraplot.setCheckState(0)
4426 self.specGraphCebCrossSpectraplot.setCheckState(0)
4404 operationCrossSpectraPlot = "Disabled"
4427 operationCrossSpectraPlot = "Disabled"
4405 channelList = None
4428 channelList = None
4406 freq_vel = None
4429 freq_vel = None
4407 heightsrange = None
4430 heightsrange = None
4408 else:
4431 else:
4409 operationCrossSpectraPlot = "Enable"
4432 operationCrossSpectraPlot = "Enable"
4410 self.specGraphCebCrossSpectraplot.setCheckState(QtCore.Qt.Checked)
4433 self.specGraphCebCrossSpectraplot.setCheckState(QtCore.Qt.Checked)
4411 self.bufferSpectra("Cross Spectra Plot", "Operation", operationCrossSpectraPlot)
4434 self.bufferSpectra("Cross Spectra Plot", "Operation", operationCrossSpectraPlot)
4412
4435
4413 value1 = opObj.getParameterObj(parameterName='xmin')
4436 value1 = opObj.getParameterObj(parameterName='xmin')
4414 if value1 == None:
4437 if value1 == None:
4415 freq_vel = None
4438 freq_vel = None
4416 else:
4439 else:
4417 value1 = opObj.getParameterValue(parameterName='xmin')
4440 value1 = opObj.getParameterValue(parameterName='xmin')
4418 value1 = str(value1)
4441 value1 = str(value1)
4419 value2 = opObj.getParameterObj(parameterName='xmax')
4442 value2 = opObj.getParameterObj(parameterName='xmax')
4420 if value2 == None:
4443 if value2 == None:
4421 freq_vel = None
4444 freq_vel = None
4422 else:
4445 else:
4423 value2 = opObj.getParameterValue(parameterName='xmax')
4446 value2 = opObj.getParameterValue(parameterName='xmax')
4424 value2 = str(value2)
4447 value2 = str(value2)
4425 value = value1 + "," + value2
4448 value = value1 + "," + value2
4426 freq_vel = value
4449 freq_vel = value
4427 self.bufferSpectra("Cross Spectra Plot", "Freq/Vel", freq_vel)
4450 self.bufferSpectra("Cross Spectra Plot", "Freq/Vel", freq_vel)
4428
4451
4429 value1 = opObj.getParameterObj(parameterName='ymin')
4452 value1 = opObj.getParameterObj(parameterName='ymin')
4430 if value1 == None:
4453 if value1 == None:
4431 heightsrange = None
4454 heightsrange = None
4432 else:
4455 else:
4433 value1 = opObj.getParameterValue(parameterName='ymin')
4456 value1 = opObj.getParameterValue(parameterName='ymin')
4434 value1 = str(value1)
4457 value1 = str(value1)
4435 value2 = opObj.getParameterObj(parameterName='ymax')
4458 value2 = opObj.getParameterObj(parameterName='ymax')
4436 if value2 == None:
4459 if value2 == None:
4437 fheightsrange = None
4460 fheightsrange = None
4438 else:
4461 else:
4439 value2 = opObj.getParameterValue(parameterName='ymax')
4462 value2 = opObj.getParameterValue(parameterName='ymax')
4440 value2 = str(value2)
4463 value2 = str(value2)
4441 value = value1 + "," + value2
4464 value = value1 + "," + value2
4442 heightsrange = value
4465 heightsrange = value
4443 self.bufferSpectra("Cross Spectra Plot", "Height Range", heightsrange)
4466 self.bufferSpectra("Cross Spectra Plot", "Height Range", heightsrange)
4444
4467
4445 value1 = opObj.getParameterObj(parameterName='zmin')
4468 value1 = opObj.getParameterObj(parameterName='zmin')
4446 if value1 == None:
4469 if value1 == None:
4447 dBrange = None
4470 dBrange = None
4448 else:
4471 else:
4449 value1 = opObj.getParameterValue(parameterName='zmin')
4472 value1 = opObj.getParameterValue(parameterName='zmin')
4450 value1 = str(value1)
4473 value1 = str(value1)
4451 value2 = opObj.getParameterObj(parameterName='zmax')
4474 value2 = opObj.getParameterObj(parameterName='zmax')
4452 if value2 == None:
4475 if value2 == None:
4453 fdBrange = None
4476 fdBrange = None
4454 else:
4477 else:
4455 value2 = opObj.getParameterValue(parameterName='zmax')
4478 value2 = opObj.getParameterValue(parameterName='zmax')
4456 value2 = str(value2)
4479 value2 = str(value2)
4457 value = value1 + "," + value2
4480 value = value1 + "," + value2
4458 dbrange = value
4481 dbrange = value
4459 self.bufferSpectra("Cross Spectra Plot", "dB Range", dbrange)
4482 self.bufferSpectra("Cross Spectra Plot", "dB Range", dbrange)
4460
4483
4461 parmObj = opObj.getParameterObj(parameterName="figpath")
4484 parmObj = opObj.getParameterObj(parameterName="figpath")
4462 if parmObj == None:
4485 if parmObj == None:
4463 path = None
4486 path = None
4464 else:
4487 else:
4465 path = opObj.getParameterValue(parameterName='figpath')
4488 path = opObj.getParameterValue(parameterName='figpath')
4466 self.bufferSpectra("Cross Spectra Plot", "Save Path", path)
4489 self.bufferSpectra("Cross Spectra Plot", "Save Path", path)
4467
4490
4468 parmObj = opObj.getParameterObj(parameterName="ftp")
4491 parmObj = opObj.getParameterObj(parameterName="ftp")
4469 if parmObj == None:
4492 if parmObj == None:
4470 status = 'disable'
4493 status = 'disable'
4471 else:
4494 else:
4472 status = 'enable'
4495 status = 'enable'
4473 self.bufferSpectra("Cross Spectra Plot", "FTP", status)
4496 self.bufferSpectra("Cross Spectra Plot", "FTP", status)
4474 self.showWr_Period(puObj, opObj, nameplotop="Cross Spectra Plot")
4497 self.showWr_Period(puObj, opObj, nameplotop="Cross Spectra Plot")
4475 self.saveFTPvalues(opObj)
4498 # self.saveFTPvalues(opObj)
4476
4499
4477 opObj = puObj.getOperationObj(name='RTIPlot')
4500 opObj = puObj.getOperationObj(name='RTIPlot')
4478 # opObj = puObj.getOpObjfromParamValue(value="RTIPlot")
4501 # opObj = puObj.getOpObjfromParamValue(value="RTIPlot")
4479 if opObj == None:
4502 if opObj == None:
4480 self.specGraphCebRTIplot.setCheckState(0)
4503 self.specGraphCebRTIplot.setCheckState(0)
4481 operationRTIPlot = "Disabled"
4504 operationRTIPlot = "Disabled"
4482 channelList = None
4505 channelList = None
4483 freq_vel = None
4506 freq_vel = None
4484 heightsrange = None
4507 heightsrange = None
4485 else:
4508 else:
4486 operationRTIPlot = "Enable"
4509 operationRTIPlot = "Enable"
4487 self.specGraphCebRTIplot.setCheckState(QtCore.Qt.Checked)
4510 self.specGraphCebRTIplot.setCheckState(QtCore.Qt.Checked)
4488 self.bufferSpectra("RTI Plot", "Operation", operationRTIPlot)
4511 self.bufferSpectra("RTI Plot", "Operation", operationRTIPlot)
4489 parmObj = opObj.getParameterObj(parameterName='channelList')
4512 parmObj = opObj.getParameterObj(parameterName='channelList')
4490 if parmObj == None:
4513 if parmObj == None:
4491 channelListRTIPlot = None
4514 channelListRTIPlot = None
4492 else:
4515 else:
4493 value = opObj.getParameterValue(parameterName='channelList')
4516 value = opObj.getParameterValue(parameterName='channelList')
4494 channelListRTIPlot = str(value)[1:-1]
4517 channelListRTIPlot = str(value)[1:-1]
4495 self.bufferSpectra("RTI Plot", "Channel List", channelListRTIPlot)
4518 self.bufferSpectra("RTI Plot", "Channel List", channelListRTIPlot)
4496
4519
4497
4520
4498 value1 = opObj.getParameterObj(parameterName='xmin')
4521 value1 = opObj.getParameterObj(parameterName='xmin')
4499 if value1 == None:
4522 if value1 == None:
4500 freq_vel = None
4523 freq_vel = None
4501 else:
4524 else:
4502 value1 = opObj.getParameterValue(parameterName='xmin')
4525 value1 = opObj.getParameterValue(parameterName='xmin')
4503 value1 = str(value1)
4526 value1 = str(value1)
4504 value2 = opObj.getParameterObj(parameterName='xmax')
4527 value2 = opObj.getParameterObj(parameterName='xmax')
4505 if value2 == None:
4528 if value2 == None:
4506 freq_vel = None
4529 freq_vel = None
4507 else:
4530 else:
4508 value2 = opObj.getParameterValue(parameterName='xmax')
4531 value2 = opObj.getParameterValue(parameterName='xmax')
4509 value2 = str(value2)
4532 value2 = str(value2)
4510 value = value1 + "," + value2
4533 value = value1 + "," + value2
4511 tmintmax = value
4534 tmintmax = value
4512 self.bufferSpectra("RTI Plot", "Tmin,Tmax", tmintmax)
4535 self.bufferSpectra("RTI Plot", "Tmin,Tmax", tmintmax)
4513
4536
4514 parmObj = opObj.getParameterObj(parameterName='timerange')
4537 parmObj = opObj.getParameterObj(parameterName='timerange')
4515 if parmObj == None:
4538 if parmObj == None:
4516 timerange = None
4539 timerange = None
4517 else:
4540 else:
4518 value = opObj.getParameterValue(parameterName='timerange')
4541 value = opObj.getParameterValue(parameterName='timerange')
4519 timerange = str(value)
4542 timerange = str(value)
4520 self.bufferSpectra("RTI Plot", "Time Range", timerange)
4543 self.bufferSpectra("RTI Plot", "Time Range", timerange)
4521
4544
4522 value1 = opObj.getParameterObj(parameterName='ymin')
4545 value1 = opObj.getParameterObj(parameterName='ymin')
4523 if value1 == None:
4546 if value1 == None:
4524 heightsrange = None
4547 heightsrange = None
4525 else:
4548 else:
4526 value1 = opObj.getParameterValue(parameterName='ymin')
4549 value1 = opObj.getParameterValue(parameterName='ymin')
4527 value1 = str(value1)
4550 value1 = str(value1)
4528 value2 = opObj.getParameterObj(parameterName='ymax')
4551 value2 = opObj.getParameterObj(parameterName='ymax')
4529 if value2 == None:
4552 if value2 == None:
4530 fheightsrange = None
4553 fheightsrange = None
4531 else:
4554 else:
4532 value2 = opObj.getParameterValue(parameterName='ymax')
4555 value2 = opObj.getParameterValue(parameterName='ymax')
4533 value2 = str(value2)
4556 value2 = str(value2)
4534 value = value1 + "," + value2
4557 value = value1 + "," + value2
4535 heightsrange = value
4558 heightsrange = value
4536 self.bufferSpectra("RTI Plot", "Height Range", heightsrange)
4559 self.bufferSpectra("RTI Plot", "Height Range", heightsrange)
4537
4560
4538 value1 = opObj.getParameterObj(parameterName='zmin')
4561 value1 = opObj.getParameterObj(parameterName='zmin')
4539 if value1 == None:
4562 if value1 == None:
4540 dBrange = None
4563 dBrange = None
4541 else:
4564 else:
4542 value1 = opObj.getParameterValue(parameterName='zmin')
4565 value1 = opObj.getParameterValue(parameterName='zmin')
4543 value1 = str(value1)
4566 value1 = str(value1)
4544 value2 = opObj.getParameterObj(parameterName='zmax')
4567 value2 = opObj.getParameterObj(parameterName='zmax')
4545 if value2 == None:
4568 if value2 == None:
4546 fdBrange = None
4569 fdBrange = None
4547 else:
4570 else:
4548 value2 = opObj.getParameterValue(parameterName='zmax')
4571 value2 = opObj.getParameterValue(parameterName='zmax')
4549 value2 = str(value2)
4572 value2 = str(value2)
4550 value = value1 + "," + value2
4573 value = value1 + "," + value2
4551 dbrange = value
4574 dbrange = value
4552 self.bufferSpectra("RTI Plot", "dB Range", dbrange)
4575 self.bufferSpectra("RTI Plot", "dB Range", dbrange)
4553
4576
4554 parmObj = opObj.getParameterObj(parameterName="figpath")
4577 parmObj = opObj.getParameterObj(parameterName="figpath")
4555 if parmObj == None:
4578 if parmObj == None:
4556 path = None
4579 path = None
4557 else:
4580 else:
4558 path = opObj.getParameterValue(parameterName='figpath')
4581 path = opObj.getParameterValue(parameterName='figpath')
4559 self.bufferSpectra("RTI Plot", "Save Path", path)
4582 self.bufferSpectra("RTI Plot", "Save Path", path)
4560
4583
4561 parmObj = opObj.getParameterObj(parameterName="ftp")
4584 parmObj = opObj.getParameterObj(parameterName="ftp")
4562 if parmObj == None:
4585 if parmObj == None:
4563 status = 'disable'
4586 status = 'disable'
4564 else:
4587 else:
4565 status = 'enable'
4588 status = 'enable'
4566 self.bufferSpectra("RTI Plot", "FTP", status)
4589 self.bufferSpectra("RTI Plot", "FTP", status)
4567 self.showWr_Period(puObj, opObj, nameplotop="RTI Plot")
4590 self.showWr_Period(puObj, opObj, nameplotop="RTI Plot")
4568 self.saveFTPvalues(opObj)
4591 # self.saveFTPvalues(opObj)
4569
4592
4570 opObj = puObj.getOperationObj(name='CoherenceMap')
4593 opObj = puObj.getOperationObj(name='CoherenceMap')
4571 # opObj = puObj.getOpObjfromParamValue(value="CoherenceMap")
4594 # opObj = puObj.getOpObjfromParamValue(value="CoherenceMap")
4572 if opObj == None:
4595 if opObj == None:
4573 self.specGraphCebCoherencmap.setCheckState(0)
4596 self.specGraphCebCoherencmap.setCheckState(0)
4574 operationCoherenceMap = "Disabled"
4597 operationCoherenceMap = "Disabled"
4575 channelList = None
4598 channelList = None
4576 freq_vel = None
4599 freq_vel = None
4577 heightsrange = None
4600 heightsrange = None
4578 else:
4601 else:
4579 operationCoherenceMap = "Enable"
4602 operationCoherenceMap = "Enable"
4580 self.specGraphCebCoherencmap.setCheckState(QtCore.Qt.Checked)
4603 self.specGraphCebCoherencmap.setCheckState(QtCore.Qt.Checked)
4581 self.bufferSpectra("Coherence Map Plot", "Operation", operationCoherenceMap)
4604 self.bufferSpectra("Coherence Map Plot", "Operation", operationCoherenceMap)
4582 parmObj = opObj.getParameterObj(parameterName='channelList')
4605 parmObj = opObj.getParameterObj(parameterName='channelList')
4583 if parmObj == None:
4606 if parmObj == None:
4584 channelListRTIPlot = None
4607 channelListRTIPlot = None
4585 else:
4608 else:
4586 value = opObj.getParameterValue(parameterName='channelList')
4609 value = opObj.getParameterValue(parameterName='channelList')
4587 channelListRTIPlot = str(value)[1:-1]
4610 channelListRTIPlot = str(value)[1:-1]
4588 self.bufferSpectra("Coherence Map Plot", "Channel List", channelListRTIPlot)
4611 self.bufferSpectra("Coherence Map Plot", "Channel List", channelListRTIPlot)
4589
4612
4590
4613
4591 value1 = opObj.getParameterObj(parameterName='xmin')
4614 value1 = opObj.getParameterObj(parameterName='xmin')
4592 if value1 == None:
4615 if value1 == None:
4593 freq_vel = None
4616 freq_vel = None
4594 else:
4617 else:
4595 value1 = opObj.getParameterValue(parameterName='xmin')
4618 value1 = opObj.getParameterValue(parameterName='xmin')
4596 value1 = str(value1)
4619 value1 = str(value1)
4597 value2 = opObj.getParameterObj(parameterName='xmax')
4620 value2 = opObj.getParameterObj(parameterName='xmax')
4598 if value2 == None:
4621 if value2 == None:
4599 freq_vel = None
4622 freq_vel = None
4600 else:
4623 else:
4601 value2 = opObj.getParameterValue(parameterName='xmax')
4624 value2 = opObj.getParameterValue(parameterName='xmax')
4602 value2 = str(value2)
4625 value2 = str(value2)
4603 value = value1 + "," + value2
4626 value = value1 + "," + value2
4604 tmintmax = value
4627 tmintmax = value
4605 self.bufferSpectra("Coherence Map Plot", "Tmin,Tmax", tmintmax)
4628 self.bufferSpectra("Coherence Map Plot", "Tmin,Tmax", tmintmax)
4606
4629
4607 parmObj = opObj.getParameterObj(parameterName='timerange')
4630 parmObj = opObj.getParameterObj(parameterName='timerange')
4608 if parmObj == None:
4631 if parmObj == None:
4609 timerange = None
4632 timerange = None
4610 else:
4633 else:
4611 value = opObj.getParameterValue(parameterName='timerange')
4634 value = opObj.getParameterValue(parameterName='timerange')
4612 timerange = str(value)
4635 timerange = str(value)
4613 self.bufferSpectra("Coherence Map Plot", "Time Range", timerange)
4636 self.bufferSpectra("Coherence Map Plot", "Time Range", timerange)
4614
4637
4615 value1 = opObj.getParameterObj(parameterName='ymin')
4638 value1 = opObj.getParameterObj(parameterName='ymin')
4616 if value1 == None:
4639 if value1 == None:
4617 heightsrange = None
4640 heightsrange = None
4618 else:
4641 else:
4619 value1 = opObj.getParameterValue(parameterName='ymin')
4642 value1 = opObj.getParameterValue(parameterName='ymin')
4620 value1 = str(value1)
4643 value1 = str(value1)
4621 value2 = opObj.getParameterObj(parameterName='ymax')
4644 value2 = opObj.getParameterObj(parameterName='ymax')
4622 if value2 == None:
4645 if value2 == None:
4623 fheightsrange = None
4646 fheightsrange = None
4624 else:
4647 else:
4625 value2 = opObj.getParameterValue(parameterName='ymax')
4648 value2 = opObj.getParameterValue(parameterName='ymax')
4626 value2 = str(value2)
4649 value2 = str(value2)
4627 value = value1 + "," + value2
4650 value = value1 + "," + value2
4628 heightsrange = value
4651 heightsrange = value
4629 self.bufferSpectra("Coherence Map Plot", "Height Range", heightsrange)
4652 self.bufferSpectra("Coherence Map Plot", "Height Range", heightsrange)
4630
4653
4631 value1 = opObj.getParameterObj(parameterName='zmin')
4654 value1 = opObj.getParameterObj(parameterName='zmin')
4632 if value1 == None:
4655 if value1 == None:
4633 dBrange = None
4656 dBrange = None
4634 else:
4657 else:
4635 value1 = opObj.getParameterValue(parameterName='zmin')
4658 value1 = opObj.getParameterValue(parameterName='zmin')
4636 value1 = str(value1)
4659 value1 = str(value1)
4637 value2 = opObj.getParameterObj(parameterName='zmax')
4660 value2 = opObj.getParameterObj(parameterName='zmax')
4638 if value2 == None:
4661 if value2 == None:
4639 fdBrange = None
4662 fdBrange = None
4640 else:
4663 else:
4641 value2 = opObj.getParameterValue(parameterName='zmax')
4664 value2 = opObj.getParameterValue(parameterName='zmax')
4642 value2 = str(value2)
4665 value2 = str(value2)
4643 value = value1 + "," + value2
4666 value = value1 + "," + value2
4644 dbrange = value
4667 dbrange = value
4645 self.bufferSpectra("Coherence Map Plot", "Magnitud", dbrange)
4668 self.bufferSpectra("Coherence Map Plot", "Magnitud", dbrange)
4646
4669
4647 parmObj = opObj.getParameterObj(parameterName="figpath")
4670 parmObj = opObj.getParameterObj(parameterName="figpath")
4648 if parmObj == None:
4671 if parmObj == None:
4649 path = None
4672 path = None
4650 else:
4673 else:
4651 path = opObj.getParameterValue(parameterName='figpath')
4674 path = opObj.getParameterValue(parameterName='figpath')
4652 self.bufferSpectra("Coherence Map Plot", "Save Path", path)
4675 self.bufferSpectra("Coherence Map Plot", "Save Path", path)
4653
4676
4654 parmObj = opObj.getParameterObj(parameterName="ftp")
4677 parmObj = opObj.getParameterObj(parameterName="ftp")
4655 if parmObj == None:
4678 if parmObj == None:
4656 status = 'disable'
4679 status = 'disable'
4657 else:
4680 else:
4658 status = 'enable'
4681 status = 'enable'
4659 self.bufferSpectra("Coherence Map Plot", "FTP", status)
4682 self.bufferSpectra("Coherence Map Plot", "FTP", status)
4660 self.showWr_Period(puObj, opObj, nameplotop="Coherence Map Plot")
4683 self.showWr_Period(puObj, opObj, nameplotop="Coherence Map Plot")
4661 self.saveFTPvalues(opObj)
4684 # self.saveFTPvalues(opObj)
4662
4685
4663
4686
4664 opObj = puObj.getOperationObj(name='PowerProfilePlot')
4687 opObj = puObj.getOperationObj(name='PowerProfilePlot')
4665 # opObj = puObj.getOpObjfromParamValue(value="PowerProfilePlot")
4688 # opObj = puObj.getOpObjfromParamValue(value="PowerProfilePlot")
4666 if opObj == None:
4689 if opObj == None:
4667 self.specGraphPowerprofile.setCheckState(0)
4690 self.specGraphPowerprofile.setCheckState(0)
4668 operationPowerProfilePlot = "Disabled"
4691 operationPowerProfilePlot = "Disabled"
4669 channelList = None
4692 channelList = None
4670 freq_vel = None
4693 freq_vel = None
4671 heightsrange = None
4694 heightsrange = None
4672 else:
4695 else:
4673 operationPowerProfilePlot = "Enable"
4696 operationPowerProfilePlot = "Enable"
4674 self.specGraphPowerprofile.setCheckState(QtCore.Qt.Checked)
4697 self.specGraphPowerprofile.setCheckState(QtCore.Qt.Checked)
4675 self.bufferSpectra("PowerProfile Plot", "Operation", operationPowerProfilePlot)
4698 self.bufferSpectra("PowerProfile Plot", "Operation", operationPowerProfilePlot)
4676 parmObj = opObj.getParameterObj(parameterName='channelList')
4699 parmObj = opObj.getParameterObj(parameterName='channelList')
4677 if parmObj == None:
4700 if parmObj == None:
4678 channelListSpectraPlot = None
4701 channelListSpectraPlot = None
4679 else:
4702 else:
4680 value = opObj.getParameterValue(parameterName='channelList')
4703 value = opObj.getParameterValue(parameterName='channelList')
4681 channelListSpectraPlot = str(value)[1:-1]
4704 channelListSpectraPlot = str(value)[1:-1]
4682 self.bufferSpectra("PowerProfile Plot", "Channel List", channelListSpectraPlot)
4705 self.bufferSpectra("PowerProfile Plot", "Channel List", channelListSpectraPlot)
4683
4706
4684
4707
4685 value1 = opObj.getParameterObj(parameterName='xmin')
4708 value1 = opObj.getParameterObj(parameterName='xmin')
4686 if value1 == None:
4709 if value1 == None:
4687 freq_vel = None
4710 freq_vel = None
4688 else:
4711 else:
4689 value1 = opObj.getParameterValue(parameterName='xmin')
4712 value1 = opObj.getParameterValue(parameterName='xmin')
4690 value1 = str(value1)
4713 value1 = str(value1)
4691 value2 = opObj.getParameterObj(parameterName='xmax')
4714 value2 = opObj.getParameterObj(parameterName='xmax')
4692 if value2 == None:
4715 if value2 == None:
4693 freq_vel = None
4716 freq_vel = None
4694 else:
4717 else:
4695 value2 = opObj.getParameterValue(parameterName='xmax')
4718 value2 = opObj.getParameterValue(parameterName='xmax')
4696 value2 = str(value2)
4719 value2 = str(value2)
4697 value = value1 + "," + value2
4720 value = value1 + "," + value2
4698 dbrange = value
4721 dbrange = value
4699 self.bufferSpectra("PowerProfile Plot", "dbRange", dbrange)
4722 self.bufferSpectra("PowerProfile Plot", "dbRange", dbrange)
4700
4723
4701 value1 = opObj.getParameterObj(parameterName='ymin')
4724 value1 = opObj.getParameterObj(parameterName='ymin')
4702 if value1 == None:
4725 if value1 == None:
4703 heightsrange = None
4726 heightsrange = None
4704 else:
4727 else:
4705 value1 = opObj.getParameterValue(parameterName='ymin')
4728 value1 = opObj.getParameterValue(parameterName='ymin')
4706 value1 = str(value1)
4729 value1 = str(value1)
4707 value2 = opObj.getParameterObj(parameterName='ymax')
4730 value2 = opObj.getParameterObj(parameterName='ymax')
4708 if value2 == None:
4731 if value2 == None:
4709 fheightsrange = None
4732 fheightsrange = None
4710 else:
4733 else:
4711 value2 = opObj.getParameterValue(parameterName='ymax')
4734 value2 = opObj.getParameterValue(parameterName='ymax')
4712 value2 = str(value2)
4735 value2 = str(value2)
4713 value = value1 + "," + value2
4736 value = value1 + "," + value2
4714 heightsrange = value
4737 heightsrange = value
4715 self.bufferSpectra("PowerProfile Plot", "Height Range", heightsrange)
4738 self.bufferSpectra("PowerProfile Plot", "Height Range", heightsrange)
4716
4739
4717
4740
4718 parmObj = opObj.getParameterObj(parameterName="figpath")
4741 parmObj = opObj.getParameterObj(parameterName="figpath")
4719 if parmObj == None:
4742 if parmObj == None:
4720 path = None
4743 path = None
4721 else:
4744 else:
4722 path = opObj.getParameterValue(parameterName='figpath')
4745 path = opObj.getParameterValue(parameterName='figpath')
4723 self.bufferSpectra("PowerProfile Plot", "Save Path", path)
4746 self.bufferSpectra("PowerProfile Plot", "Save Path", path)
4724
4747
4725 parmObj = opObj.getParameterObj(parameterName="ftp")
4748 parmObj = opObj.getParameterObj(parameterName="ftp")
4726 if parmObj == None:
4749 if parmObj == None:
4727 status = 'disable'
4750 status = 'disable'
4728 else:
4751 else:
4729 status = 'enable'
4752 status = 'enable'
4730 self.bufferSpectra("PowerProfile Plot", "FTP", status)
4753 self.bufferSpectra("PowerProfile Plot", "FTP", status)
4731 self.showWr_Period(puObj, opObj, nameplotop="PowerProfile Plot")
4754 self.showWr_Period(puObj, opObj, nameplotop="PowerProfile Plot")
4732 self.saveFTPvalues(opObj)
4755 # self.saveFTPvalues(opObj)
4733
4756
4734 # noise
4757 # noise
4735 opObj = puObj.getOperationObj(name='Noise')
4758 opObj = puObj.getOperationObj(name='Noise')
4736 # opObj = puObj.getOpObjfromParamValue(value="Noise")
4759 # opObj = puObj.getOpObjfromParamValue(value="Noise")
4737 if opObj == None:
4760 if opObj == None:
4738 self.specGraphCebRTInoise.setCheckState(0)
4761 self.specGraphCebRTInoise.setCheckState(0)
4739 operationRTINoise = "Disabled"
4762 operationRTINoise = "Disabled"
4740 channelList = None
4763 channelList = None
4741 freq_vel = None
4764 freq_vel = None
4742 dbRange = None
4765 dbRange = None
4743 else:
4766 else:
4744 operationRTINoise = "Enable"
4767 operationRTINoise = "Enable"
4745 self.specGraphCebRTInoise.setCheckState(QtCore.Qt.Checked)
4768 self.specGraphCebRTInoise.setCheckState(QtCore.Qt.Checked)
4746 self.bufferSpectra("Noise Plot", "Operation", operationRTINoise)
4769 self.bufferSpectra("Noise Plot", "Operation", operationRTINoise)
4747 parmObj = opObj.getParameterObj(parameterName='channelList')
4770 parmObj = opObj.getParameterObj(parameterName='channelList')
4748 if parmObj == None:
4771 if parmObj == None:
4749 channelListRTINoise = None
4772 channelListRTINoise = None
4750 else:
4773 else:
4751 value = opObj.getParameterValue(parameterName='channelList')
4774 value = opObj.getParameterValue(parameterName='channelList')
4752 channelListRTINoise = str(value)[1:-1]
4775 channelListRTINoise = str(value)[1:-1]
4753 self.bufferSpectra("Noise Plot", "Channel List", channelListRTINoise)
4776 self.bufferSpectra("Noise Plot", "Channel List", channelListRTINoise)
4754
4777
4755
4778
4756 value1 = opObj.getParameterObj(parameterName='xmin')
4779 value1 = opObj.getParameterObj(parameterName='xmin')
4757 if value1 == None:
4780 if value1 == None:
4758 freq_vel = None
4781 freq_vel = None
4759 else:
4782 else:
4760 value1 = opObj.getParameterValue(parameterName='xmin')
4783 value1 = opObj.getParameterValue(parameterName='xmin')
4761 value1 = str(value1)
4784 value1 = str(value1)
4762 value2 = opObj.getParameterObj(parameterName='xmax')
4785 value2 = opObj.getParameterObj(parameterName='xmax')
4763 if value2 == None:
4786 if value2 == None:
4764 freq_vel = None
4787 freq_vel = None
4765 else:
4788 else:
4766 value2 = opObj.getParameterValue(parameterName='xmax')
4789 value2 = opObj.getParameterValue(parameterName='xmax')
4767 value2 = str(value2)
4790 value2 = str(value2)
4768 value = value1 + "," + value2
4791 value = value1 + "," + value2
4769 tmintmax = value
4792 tmintmax = value
4770 self.bufferSpectra("Noise Plot", "Tmin,Tmax", tmintmax)
4793 self.bufferSpectra("Noise Plot", "Tmin,Tmax", tmintmax)
4771
4794
4772 parmObj = opObj.getParameterObj(parameterName='timerange')
4795 parmObj = opObj.getParameterObj(parameterName='timerange')
4773 if parmObj == None:
4796 if parmObj == None:
4774 timerange = None
4797 timerange = None
4775 else:
4798 else:
4776 value = opObj.getParameterValue(parameterName='timerange')
4799 value = opObj.getParameterValue(parameterName='timerange')
4777 timerange = str(value)
4800 timerange = str(value)
4778 self.bufferSpectra("Noise Plot", "Time Range", timerange)
4801 self.bufferSpectra("Noise Plot", "Time Range", timerange)
4779
4802
4780
4803
4781
4804
4782 value1 = opObj.getParameterObj(parameterName='ymin')
4805 value1 = opObj.getParameterObj(parameterName='ymin')
4783 if value1 == None:
4806 if value1 == None:
4784 DBrange = None
4807 DBrange = None
4785 else:
4808 else:
4786 value1 = opObj.getParameterValue(parameterName='ymin')
4809 value1 = opObj.getParameterValue(parameterName='ymin')
4787 value1 = str(value1)
4810 value1 = str(value1)
4788 value2 = opObj.getParameterObj(parameterName='ymax')
4811 value2 = opObj.getParameterObj(parameterName='ymax')
4789 if value2 == None:
4812 if value2 == None:
4790 fdBrange = None
4813 fdBrange = None
4791 else:
4814 else:
4792 value2 = opObj.getParameterValue(parameterName='ymax')
4815 value2 = opObj.getParameterValue(parameterName='ymax')
4793 value2 = str(value2)
4816 value2 = str(value2)
4794 value = value1 + "," + value2
4817 value = value1 + "," + value2
4795 dBrange = value
4818 dBrange = value
4796 self.bufferSpectra("Noise Plot", "dB Range", dBrange)
4819 self.bufferSpectra("Noise Plot", "dB Range", dBrange)
4797
4820
4798 parmObj = opObj.getParameterObj(parameterName="figpath")
4821 parmObj = opObj.getParameterObj(parameterName="figpath")
4799 if parmObj == None:
4822 if parmObj == None:
4800 path = None
4823 path = None
4801 else:
4824 else:
4802 path = opObj.getParameterValue(parameterName='figpath')
4825 path = opObj.getParameterValue(parameterName='figpath')
4803 self.bufferSpectra("Noise Plot", "Save Path", path)
4826 self.bufferSpectra("Noise Plot", "Save Path", path)
4804
4827
4805 parmObj = opObj.getParameterObj(parameterName="ftp")
4828 parmObj = opObj.getParameterObj(parameterName="ftp")
4806 if parmObj == None:
4829 if parmObj == None:
4807 status = 'disable'
4830 status = 'disable'
4808 else:
4831 else:
4809 status = 'enable'
4832 status = 'enable'
4810 self.bufferSpectra("Noise Plot", "FTP", status)
4833 self.bufferSpectra("Noise Plot", "FTP", status)
4811 self.showWr_Period(puObj, opObj, nameplotop="Noise Plot")
4834 self.showWr_Period(puObj, opObj, nameplotop="Noise Plot")
4812 self.saveFTPvalues(opObj)
4835 # self.saveFTPvalues(opObj)
4836
4837 projectObj = self.getSelectedProjectObj()
4838 ftpProcUnitConfObj = projectObj.getProcUnitObjByName(name="SendToServer")
4813
4839
4814 if self.temporalFTP.create:
4840 if ftpProcUnitConfObj:
4815 self.bufferSpectra("FTP", "Server", self.temporalFTP.server)
4841
4816 self.bufferSpectra("FTP", "Folder", self.temporalFTP.folder)
4842 opObj = ftpProcUnitConfObj.getOperationObj(name='run')
4817 self.bufferSpectra("FTP", "Username", self.temporalFTP.username)
4843
4818 self.bufferSpectra("FTP", "Password", '*'*len(self.temporalFTP.password))
4844 server = opObj.getParameterValue(parameterName='server')
4819 self.bufferSpectra("FTP", "Ftp_wei", self.temporalFTP.ftp_wei)
4845 folder = opObj.getParameterValue(parameterName='remotefolder')
4820 self.bufferSpectra("FTP", "Exp_code", self.temporalFTP.exp_code)
4846 username = opObj.getParameterValue(parameterName='username')
4821 self.bufferSpectra("FTP", "Sub_exp_code", self.temporalFTP.sub_exp_code)
4847 password = opObj.getParameterValue(parameterName='password')
4822 self.bufferSpectra("FTP", "Plot_pos", self.temporalFTP.plot_pos)
4848 ftp_wei = opObj.getParameterValue(parameterName='ftp_wei')
4823 # self.temporalFTP.create=False
4849 exp_code = opObj.getParameterValue(parameterName='exp_code')
4824 self.temporalFTP.withoutconfig = False
4850 sub_exp_code = opObj.getParameterValue(parameterName='sub_exp_code')
4825
4851 plot_pos = opObj.getParameterValue(parameterName='plot_pos')
4826 if self.temporalFTP.withoutconfig:
4852 localfolder = opObj.getParameterValue(parameterName='localfolder')
4827 self.bufferSpectra("FTP", "Server", self.temporalFTP.server)
4853
4828 self.bufferSpectra("FTP", "Folder", self.temporalFTP.folder)
4854 self.bufferSpectra("FTP", "Server", server)
4829 self.bufferSpectra("FTP", "Username", self.temporalFTP.username)
4855 self.bufferSpectra("FTP", "Remote folder", folder)
4830 self.bufferSpectra("FTP", "Password", '*'*len(self.temporalFTP.password))
4856 self.bufferSpectra("FTP", "Local folder", localfolder)
4831 self.bufferSpectra("FTP", "Ftp_wei", self.temporalFTP.ftp_wei)
4857 self.bufferSpectra("FTP", "Username", username)
4832 self.bufferSpectra("FTP", "Exp_code", self.temporalFTP.exp_code)
4858 self.bufferSpectra("FTP", "Password", '*'*len(password))
4833 self.bufferSpectra("FTP", "Sub_exp_code", self.temporalFTP.sub_exp_code)
4859 self.bufferSpectra("FTP", "Ftp_wei", ftp_wei)
4834 self.bufferSpectra("FTP", "Plot_pos", self.temporalFTP.plot_pos)
4860 self.bufferSpectra("FTP", "Exp_code", exp_code)
4835 self.temporalFTP.withoutconfig = False
4861 self.bufferSpectra("FTP", "Sub_exp_code", sub_exp_code)
4836
4862 self.bufferSpectra("FTP", "Plot_pos", plot_pos)
4837 ####
4838 self.temporalFTP.create = False
4839
4863
4840 # outputSpectraWrite
4864 # outputSpectraWrite
4841 opObj = puObj.getOperationObj(name='SpectraWriter')
4865 opObj = puObj.getOperationObj(name='SpectraWriter')
4842 if opObj == None:
4866 if opObj == None:
4843 pass
4867 pass
4844 else:
4868 else:
4845 operation = 'Enabled'
4869 operation = 'Enabled'
4846 self.bufferSpectra("Output", "Operation", operation)
4870 self.bufferSpectra("Output", "Operation", operation)
4847 value = opObj.getParameterObj(parameterName='path')
4871 value = opObj.getParameterObj(parameterName='path')
4848 if value == None:
4872 if value == None:
4849 path = None
4873 path = None
4850 else:
4874 else:
4851 value = opObj.getParameterValue(parameterName='path')
4875 value = opObj.getParameterValue(parameterName='path')
4852 path = str(value)
4876 path = str(value)
4853 self.bufferSpectra("Output", "Path", path)
4877 self.bufferSpectra("Output", "Path", path)
4854 value = opObj.getParameterObj(parameterName='blocksPerFile')
4878 value = opObj.getParameterObj(parameterName='blocksPerFile')
4855 if value == None:
4879 if value == None:
4856 blocksperfile = None
4880 blocksperfile = None
4857 else:
4881 else:
4858 value = opObj.getParameterValue(parameterName='blocksPerFile')
4882 value = opObj.getParameterValue(parameterName='blocksPerFile')
4859 blocksperfile = str(value)
4883 blocksperfile = str(value)
4860 self.bufferSpectra("Output", "BlocksPerFile", blocksperfile)
4884 self.bufferSpectra("Output", "BlocksPerFile", blocksperfile)
4861 value = opObj.getParameterObj(parameterName='profilesPerBlock')
4885 value = opObj.getParameterObj(parameterName='profilesPerBlock')
4862 if value == None:
4886 if value == None:
4863 profilesPerBlock = None
4887 profilesPerBlock = None
4864 else:
4888 else:
4865 value = opObj.getParameterValue(parameterName='profilesPerBlock')
4889 value = opObj.getParameterValue(parameterName='profilesPerBlock')
4866 profilesPerBlock = str(value)
4890 profilesPerBlock = str(value)
4867 self.bufferSpectra("Output", "ProfilesPerBlock", profilesPerBlock)
4891 self.bufferSpectra("Output", "ProfilesPerBlock", profilesPerBlock)
4868
4892
4869 # set model PU Properties
4893 # set model PU Properties
4870
4894
4871 self.propertiesModel = treeModel()
4895 self.propertiesModel = treeModel()
4872 self.propertiesModel.showPUSpectraParms(self.specProperCaracteristica, self.specProperPrincipal, self.specProperDescripcion)
4896 self.propertiesModel.showPUSpectraParms(self.specProperCaracteristica, self.specProperPrincipal, self.specProperDescripcion)
4873
4897
4874 self.treeProjectProperties.setModel(self.propertiesModel)
4898 self.treeProjectProperties.setModel(self.propertiesModel)
4875 self.treeProjectProperties.expandAll()
4899 self.treeProjectProperties.expandAll()
4876 self.treeProjectProperties.allColumnsShowFocus()
4900 self.treeProjectProperties.allColumnsShowFocus()
4877 self.treeProjectProperties.resizeColumnToContents(0)
4901 self.treeProjectProperties.resizeColumnToContents(0)
4878 self.treeProjectProperties.resizeColumnToContents(1)
4902 self.treeProjectProperties.resizeColumnToContents(1)
4879
4903
4880 self.specProperCaracteristica = []
4904 self.specProperCaracteristica = []
4881 self.specProperDescripcion = []
4905 self.specProperDescripcion = []
4882 self.specProperPrincipal = []
4906 self.specProperPrincipal = []
4883
4907
4884
4908
4885 def bufferSpectraHeis(self, caracteristica, principal, description):
4909 def bufferSpectraHeis(self, caracteristica, principal, description):
4886 self.specHeisProperCaracteristica.append(caracteristica)
4910 self.specHeisProperCaracteristica.append(caracteristica)
4887 self.specHeisProperPrincipal.append(principal)
4911 self.specHeisProperPrincipal.append(principal)
4888 self.specHeisProperDescripcion.append(description)
4912 self.specHeisProperDescripcion.append(description)
4889 return self.specHeisProperCaracteristica, self.specHeisProperPrincipal, self.specHeisProperDescripcion
4913 return self.specHeisProperCaracteristica, self.specHeisProperPrincipal, self.specHeisProperDescripcion
4890
4914
4891
4915
4892 def showPUSpectraHeisProperties(self, puObj):
4916 def showPUSpectraHeisProperties(self, puObj):
4893 type = puObj.name
4917 type = puObj.name
4894 self.bufferSpectraHeis("Processing Unit", "Type", type)
4918 self.bufferSpectraHeis("Processing Unit", "Type", type)
4895
4919
4896 opObj = puObj.getOperationObj(name="IncohInt4SpectraHeis")
4920 opObj = puObj.getOperationObj(name="IncohInt4SpectraHeis")
4897 if opObj == None:
4921 if opObj == None:
4898 incoherentintegration = None
4922 incoherentintegration = None
4899 else:
4923 else:
4900 value = opObj.getParameterValue(parameterName='timeInterval')
4924 value = opObj.getParameterValue(parameterName='timeInterval')
4901 value = float(value)
4925 value = float(value)
4902 incoherentintegration = str(value)
4926 incoherentintegration = str(value)
4903 self.bufferSpectraHeis("Processing Unit", "Incoherent Integration", incoherentintegration)
4927 self.bufferSpectraHeis("Processing Unit", "Incoherent Integration", incoherentintegration)
4904 # spectraheis graph
4928 # spectraheis graph
4905 opObj = puObj.getOperationObj(name='SpectraHeisScope')
4929 opObj = puObj.getOperationObj(name='SpectraHeisScope')
4906 # opObj = puObj.getOpObjfromParamValue(value="SpectraHeisScope")
4930 # opObj = puObj.getOpObjfromParamValue(value="SpectraHeisScope")
4907 if opObj == None:
4931 if opObj == None:
4908 self.specHeisGraphCebSpectraplot.setCheckState(0)
4932 self.specHeisGraphCebSpectraplot.setCheckState(0)
4909 operationSpectraHeisPlot = "Disabled"
4933 operationSpectraHeisPlot = "Disabled"
4910 xmin_xmax = None
4934 xmin_xmax = None
4911 ymin_ymax = None
4935 ymin_ymax = None
4912 channelListSpectraPlot = None
4936 channelListSpectraPlot = None
4913 else:
4937 else:
4914 operationSpectraHeisPlot = "Enable"
4938 operationSpectraHeisPlot = "Enable"
4915 self.specHeisGraphCebSpectraplot.setCheckState(QtCore.Qt.Checked)
4939 self.specHeisGraphCebSpectraplot.setCheckState(QtCore.Qt.Checked)
4916 self.bufferSpectraHeis("SpectraHeis Plot", "Operation", operationSpectraHeisPlot)
4940 self.bufferSpectraHeis("SpectraHeis Plot", "Operation", operationSpectraHeisPlot)
4917 parmObj = opObj.getParameterObj(parameterName='channelList')
4941 parmObj = opObj.getParameterObj(parameterName='channelList')
4918 if parmObj == None:
4942 if parmObj == None:
4919 channelListSpectraPlot = None
4943 channelListSpectraPlot = None
4920 else:
4944 else:
4921 value = opObj.getParameterValue(parameterName='channelList')
4945 value = opObj.getParameterValue(parameterName='channelList')
4922 channelListSpectraPlot = str(value)[1:-1]
4946 channelListSpectraPlot = str(value)[1:-1]
4923 self.bufferSpectraHeis("SpectraHeis Plot", "Channel List", channelListSpectraPlot)
4947 self.bufferSpectraHeis("SpectraHeis Plot", "Channel List", channelListSpectraPlot)
4924
4948
4925
4949
4926 value1 = opObj.getParameterObj(parameterName='xmin')
4950 value1 = opObj.getParameterObj(parameterName='xmin')
4927 if value1 == None:
4951 if value1 == None:
4928 xmin_xmax = None
4952 xmin_xmax = None
4929 else:
4953 else:
4930 value1 = opObj.getParameterValue(parameterName='xmin')
4954 value1 = opObj.getParameterValue(parameterName='xmin')
4931 value1 = str(value1)
4955 value1 = str(value1)
4932 value2 = opObj.getParameterObj(parameterName='xmax')
4956 value2 = opObj.getParameterObj(parameterName='xmax')
4933 if value2 == None:
4957 if value2 == None:
4934 xmin_xmax = None
4958 xmin_xmax = None
4935 else:
4959 else:
4936 value2 = opObj.getParameterValue(parameterName='xmax')
4960 value2 = opObj.getParameterValue(parameterName='xmax')
4937 value2 = str(value2)
4961 value2 = str(value2)
4938 value = value1 + "," + value2
4962 value = value1 + "," + value2
4939 xmin_xmax = value
4963 xmin_xmax = value
4940 self.bufferSpectraHeis("SpectraHeis Plot", "Xmin-Xmax", xmin_xmax)
4964 self.bufferSpectraHeis("SpectraHeis Plot", "Xmin-Xmax", xmin_xmax)
4941
4965
4942 value1 = opObj.getParameterObj(parameterName='ymin')
4966 value1 = opObj.getParameterObj(parameterName='ymin')
4943 if value1 == None:
4967 if value1 == None:
4944 ymin_ymax = None
4968 ymin_ymax = None
4945 else:
4969 else:
4946 value1 = opObj.getParameterValue(parameterName='ymin')
4970 value1 = opObj.getParameterValue(parameterName='ymin')
4947 value1 = str(value1)
4971 value1 = str(value1)
4948 value2 = opObj.getParameterObj(parameterName='ymax')
4972 value2 = opObj.getParameterObj(parameterName='ymax')
4949 if value2 == None:
4973 if value2 == None:
4950 ymin_ymax = None
4974 ymin_ymax = None
4951 else:
4975 else:
4952 value2 = opObj.getParameterValue(parameterName='ymax')
4976 value2 = opObj.getParameterValue(parameterName='ymax')
4953 value2 = str(value2)
4977 value2 = str(value2)
4954 value = value1 + "," + value2
4978 value = value1 + "," + value2
4955 ymin_ymax = value
4979 ymin_ymax = value
4956 self.bufferSpectraHeis("SpectraHeis Plot", "Ymin-Ymax", ymin_ymax)
4980 self.bufferSpectraHeis("SpectraHeis Plot", "Ymin-Ymax", ymin_ymax)
4957
4981
4958 parmObj = opObj.getParameterObj(parameterName="figpath")
4982 parmObj = opObj.getParameterObj(parameterName="figpath")
4959 if parmObj == None:
4983 if parmObj == None:
4960 path = None
4984 path = None
4961 else:
4985 else:
4962 path = opObj.getParameterValue(parameterName='figpath')
4986 path = opObj.getParameterValue(parameterName='figpath')
4963 self.bufferSpectraHeis("SpectraHeis Plot", "Save Path", path)
4987 self.bufferSpectraHeis("SpectraHeis Plot", "Save Path", path)
4964
4988
4965 parmObj = opObj.getParameterObj(parameterName="ftp")
4989 parmObj = opObj.getParameterObj(parameterName="ftp")
4966 if parmObj == None:
4990 if parmObj == None:
4967 status = 'disable'
4991 status = 'disable'
4968 else:
4992 else:
4969 status = 'enable'
4993 status = 'enable'
4970 self.bufferSpectraHeis("SpectraHeis Plot", "FTP", status)
4994 self.bufferSpectraHeis("SpectraHeis Plot", "FTP", status)
4971 self.showWr_Period(puObj, opObj, nameplotop="SpectraHeis Plot")
4995 self.showWr_Period(puObj, opObj, nameplotop="SpectraHeis Plot")
4972 self.saveFTPvalues(opObj)
4996 # self.saveFTPvalues(opObj)
4973
4997
4974 opObj = puObj.getOperationObj(name='RTIfromSpectraHeis')
4998 opObj = puObj.getOperationObj(name='RTIfromSpectraHeis')
4975 # opObj = puObj.getOpObjfromParamValue(value="RTIfromSpectraHeis")
4999 # opObj = puObj.getOpObjfromParamValue(value="RTIfromSpectraHeis")
4976 if opObj == None:
5000 if opObj == None:
4977 self.specHeisGraphCebRTIplot.setCheckState(0)
5001 self.specHeisGraphCebRTIplot.setCheckState(0)
4978 operationRTIPlot = "Disabled"
5002 operationRTIPlot = "Disabled"
4979 channelList = None
5003 channelList = None
4980 freq_vel = None
5004 freq_vel = None
4981 heightsrange = None
5005 heightsrange = None
4982 else:
5006 else:
4983 operationRTIPlot = "Enable"
5007 operationRTIPlot = "Enable"
4984 self.specHeisGraphCebRTIplot.setCheckState(QtCore.Qt.Checked)
5008 self.specHeisGraphCebRTIplot.setCheckState(QtCore.Qt.Checked)
4985 self.bufferSpectraHeis("RTIHeis Plot", "Operation", operationRTIPlot)
5009 self.bufferSpectraHeis("RTIHeis Plot", "Operation", operationRTIPlot)
4986 parmObj = opObj.getParameterObj(parameterName='channelList')
5010 parmObj = opObj.getParameterObj(parameterName='channelList')
4987 if parmObj == None:
5011 if parmObj == None:
4988 channelListRTIPlot = None
5012 channelListRTIPlot = None
4989 else:
5013 else:
4990 value = opObj.getParameterValue(parameterName='channelList')
5014 value = opObj.getParameterValue(parameterName='channelList')
4991 channelListRTIPlot = str(value)[1:-1]
5015 channelListRTIPlot = str(value)[1:-1]
4992 self.bufferSpectraHeis("RTIHeis Plot", "Channel List", channelListRTIPlot)
5016 self.bufferSpectraHeis("RTIHeis Plot", "Channel List", channelListRTIPlot)
4993
5017
4994
5018
4995 value1 = opObj.getParameterObj(parameterName='xmin')
5019 value1 = opObj.getParameterObj(parameterName='xmin')
4996 if value1 == None:
5020 if value1 == None:
4997 freq_vel = None
5021 freq_vel = None
4998 else:
5022 else:
4999 value1 = opObj.getParameterValue(parameterName='xmin')
5023 value1 = opObj.getParameterValue(parameterName='xmin')
5000 value1 = str(value1)
5024 value1 = str(value1)
5001 value2 = opObj.getParameterObj(parameterName='xmax')
5025 value2 = opObj.getParameterObj(parameterName='xmax')
5002 if value2 == None:
5026 if value2 == None:
5003 freq_vel = None
5027 freq_vel = None
5004 else:
5028 else:
5005 value2 = opObj.getParameterValue(parameterName='xmax')
5029 value2 = opObj.getParameterValue(parameterName='xmax')
5006 value2 = str(value2)
5030 value2 = str(value2)
5007 value = value1 + "," + value2
5031 value = value1 + "," + value2
5008 tmintmax = value
5032 tmintmax = value
5009 self.bufferSpectraHeis("RTIHeis Plot", "Tmin,Tmax", tmintmax)
5033 self.bufferSpectraHeis("RTIHeis Plot", "Tmin,Tmax", tmintmax)
5010
5034
5011 parmObj = opObj.getParameterObj(parameterName='timerange')
5035 parmObj = opObj.getParameterObj(parameterName='timerange')
5012 if parmObj == None:
5036 if parmObj == None:
5013 timerange = None
5037 timerange = None
5014 else:
5038 else:
5015 value = opObj.getParameterValue(parameterName='timerange')
5039 value = opObj.getParameterValue(parameterName='timerange')
5016 timerange = str(value)
5040 timerange = str(value)
5017 self.bufferSpectraHeis("RTIHeis Plot", "Time Range", timerange)
5041 self.bufferSpectraHeis("RTIHeis Plot", "Time Range", timerange)
5018
5042
5019 value1 = opObj.getParameterObj(parameterName='ymin')
5043 value1 = opObj.getParameterObj(parameterName='ymin')
5020 if value1 == None:
5044 if value1 == None:
5021 heightsrange = None
5045 heightsrange = None
5022 else:
5046 else:
5023 value1 = opObj.getParameterValue(parameterName='ymin')
5047 value1 = opObj.getParameterValue(parameterName='ymin')
5024 value1 = str(value1)
5048 value1 = str(value1)
5025 value2 = opObj.getParameterObj(parameterName='ymax')
5049 value2 = opObj.getParameterObj(parameterName='ymax')
5026 if value2 == None:
5050 if value2 == None:
5027 fheightsrange = None
5051 fheightsrange = None
5028 else:
5052 else:
5029 value2 = opObj.getParameterValue(parameterName='ymax')
5053 value2 = opObj.getParameterValue(parameterName='ymax')
5030 value2 = str(value2)
5054 value2 = str(value2)
5031 value = value1 + "," + value2
5055 value = value1 + "," + value2
5032 heightsrange = value
5056 heightsrange = value
5033 self.bufferSpectraHeis("RTIHeis Plot", "Ymin-Ymax", heightsrange)
5057 self.bufferSpectraHeis("RTIHeis Plot", "Ymin-Ymax", heightsrange)
5034
5058
5035 parmObj = opObj.getParameterObj(parameterName="figpath")
5059 parmObj = opObj.getParameterObj(parameterName="figpath")
5036 if parmObj == None:
5060 if parmObj == None:
5037 path = None
5061 path = None
5038 else:
5062 else:
5039 path = opObj.getParameterValue(parameterName='figpath')
5063 path = opObj.getParameterValue(parameterName='figpath')
5040 self.bufferSpectraHeis("RTIHeis Plot", "Save Path", path)
5064 self.bufferSpectraHeis("RTIHeis Plot", "Save Path", path)
5041
5065
5042 parmObj = opObj.getParameterObj(parameterName="ftp")
5066 parmObj = opObj.getParameterObj(parameterName="ftp")
5043 if parmObj == None:
5067 if parmObj == None:
5044 status = 'disable'
5068 status = 'disable'
5045 else:
5069 else:
5046 status = 'enable'
5070 status = 'enable'
5047 self.bufferSpectraHeis("RTIHeis Plot", "FTP", status)
5071 self.bufferSpectraHeis("RTIHeis Plot", "FTP", status)
5048 self.showWr_Period(puObj, opObj, nameplotop="RTIHeis Plot")
5072 self.showWr_Period(puObj, opObj, nameplotop="RTIHeis Plot")
5049 self.saveFTPvalues(opObj)
5073 # self.saveFTPvalues(opObj)
5050
5074
5051 if self.temporalFTP.create:
5075 projectObj = self.getSelectedProjectObj()
5052 self.bufferSpectraHeis("FTP", "Server", self.temporalFTP.server)
5076 ftpProcUnitConfObj = projectObj.getProcUnitObjByName(name="SendToServer")
5053 self.bufferSpectraHeis("FTP", "Folder", self.temporalFTP.folder)
5077
5054 self.bufferSpectraHeis("FTP", "Username", self.temporalFTP.username)
5078 if ftpProcUnitConfObj:
5055 self.bufferSpectraHeis("FTP", "Password", self.temporalFTP.password)
5079
5056 self.bufferSpectraHeis("FTP", "Ftp_wei", self.temporalFTP.ftp_wei)
5080 opObj = ftpProcUnitConfObj.getOperationObj(name='run')
5057 self.bufferSpectraHeis("FTP", "Exp_code", self.temporalFTP.exp_code)
5081
5058 self.bufferSpectraHeis("FTP", "Sub_exp_code", self.temporalFTP.sub_exp_code)
5082 server = opObj.getParameterValue(parameterName='server')
5059 self.bufferSpectraHeis("FTP", "Plot_pos", self.temporalFTP.plot_pos)
5083 folder = opObj.getParameterValue(parameterName='folder')
5060 # self.temporalFTP.create=False
5084 username = opObj.getParameterValue(parameterName='username')
5061 self.temporalFTP.withoutconfig = False
5085 password = opObj.getParameterValue(parameterName='password')
5062
5086 ftp_wei = opObj.getParameterValue(parameterName='ftp_wei')
5063 if self.temporalFTP.withoutconfig:
5087 exp_code = opObj.getParameterValue(parameterName='exp_code')
5064 self.bufferSpectraHeis("FTP", "Server", self.temporalFTP.server)
5088 sub_exp_code = opObj.getParameterValue(parameterName='sub_exp_code')
5065 self.bufferSpectraHeis("FTP", "Folder", self.temporalFTP.folder)
5089 plot_pos = opObj.getParameterValue(parameterName='plot_pos')
5066 self.bufferSpectraHeis("FTP", "Username", self.temporalFTP.username)
5090 localfolder = opObj.getParameterValue(parameterName='localfolder')
5067 self.bufferSpectraHeis("FTP", "Password", self.temporalFTP.password)
5091
5068 self.bufferSpectraHeis("FTP", "Ftp_wei", self.temporalFTP.ftp_wei)
5092 self.bufferSpectraHeis("FTP", "Server", server)
5069 self.bufferSpectraHeis("FTP", "Exp_code", self.temporalFTP.exp_code)
5093 self.bufferSpectraHeis("FTP", "Remote folder", folder)
5070 self.bufferSpectraHeis("FTP", "Sub_exp_code", self.temporalFTP.sub_exp_code)
5094 self.bufferSpectraHeis("FTP", "Local folder", localfolder)
5071 self.bufferSpectraHeis("FTP", "Plot_pos", self.temporalFTP.plot_pos)
5095 self.bufferSpectraHeis("FTP", "Username", username)
5072 self.temporalFTP.withoutconfig = False
5096 self.bufferSpectraHeis("FTP", "Password", '*'*len(password))
5073
5097 self.bufferSpectraHeis("FTP", "Ftp_wei", ftp_wei)
5074 ####
5098 self.bufferSpectraHeis("FTP", "Exp_code", exp_code)
5075 self.temporalFTP.create = False
5099 self.bufferSpectraHeis("FTP", "Sub_exp_code", sub_exp_code)
5100 self.bufferSpectraHeis("FTP", "Plot_pos", plot_pos)
5076
5101
5077 # outputSpectraHeisWrite
5102 # outputSpectraHeisWrite
5078 opObj = puObj.getOperationObj(name='FitsWriter')
5103 opObj = puObj.getOperationObj(name='FitsWriter')
5079 if opObj == None:
5104 if opObj == None:
5080 pass
5105 pass
5081 else:
5106 else:
5082 operation = 'Enabled'
5107 operation = 'Enabled'
5083 self.bufferSpectraHeis("Output", "Operation", operation)
5108 self.bufferSpectraHeis("Output", "Operation", operation)
5084 value = opObj.getParameterObj(parameterName='path')
5109 value = opObj.getParameterObj(parameterName='path')
5085 if value == None:
5110 if value == None:
5086 path = None
5111 path = None
5087 else:
5112 else:
5088 value = opObj.getParameterValue(parameterName='path')
5113 value = opObj.getParameterValue(parameterName='path')
5089 path = str(value)
5114 path = str(value)
5090 self.bufferSpectraHeis("Output", "Path", path)
5115 self.bufferSpectraHeis("Output", "Path", path)
5091 value = opObj.getParameterObj(parameterName='dataBlocksPerFile')
5116 value = opObj.getParameterObj(parameterName='dataBlocksPerFile')
5092 if value == None:
5117 if value == None:
5093 blocksperfile = None
5118 blocksperfile = None
5094 else:
5119 else:
5095 value = opObj.getParameterValue(parameterName='dataBlocksPerFile')
5120 value = opObj.getParameterValue(parameterName='dataBlocksPerFile')
5096 blocksperfile = str(value)
5121 blocksperfile = str(value)
5097 self.bufferSpectraHeis("Output", "BlocksPerFile", blocksperfile)
5122 self.bufferSpectraHeis("Output", "BlocksPerFile", blocksperfile)
5098 value = opObj.getParameterObj(parameterName='metadatafile')
5123 value = opObj.getParameterObj(parameterName='metadatafile')
5099 if value == None:
5124 if value == None:
5100 metadata = None
5125 metadata = None
5101 else:
5126 else:
5102 value = opObj.getParameterValue(parameterName='metadatafile')
5127 value = opObj.getParameterValue(parameterName='metadatafile')
5103 metadata = str(value)
5128 metadata = str(value)
5104 self.bufferSpectraHeis("Output", "Metadata", metadata)
5129 self.bufferSpectraHeis("Output", "Metadata", metadata)
5105
5130
5106 # set model PU Properties
5131 # set model PU Properties
5107
5132
5108 self.propertiesModel = treeModel()
5133 self.propertiesModel = treeModel()
5109 self.propertiesModel.showPUSpectraHeisParms(self.specHeisProperCaracteristica, self.specHeisProperPrincipal, self.specHeisProperDescripcion)
5134 self.propertiesModel.showPUSpectraHeisParms(self.specHeisProperCaracteristica, self.specHeisProperPrincipal, self.specHeisProperDescripcion)
5110
5135
5111 self.treeProjectProperties.setModel(self.propertiesModel)
5136 self.treeProjectProperties.setModel(self.propertiesModel)
5112 self.treeProjectProperties.expandAll()
5137 self.treeProjectProperties.expandAll()
5113 self.treeProjectProperties.allColumnsShowFocus()
5138 self.treeProjectProperties.allColumnsShowFocus()
5114 self.treeProjectProperties.resizeColumnToContents(0)
5139 self.treeProjectProperties.resizeColumnToContents(0)
5115 self.treeProjectProperties.resizeColumnToContents(1)
5140 self.treeProjectProperties.resizeColumnToContents(1)
5116
5141
5117 self.specHeisProperCaracteristica = []
5142 self.specHeisProperCaracteristica = []
5118 self.specHeisProperDescripcion = []
5143 self.specHeisProperDescripcion = []
5119 self.specHeisProperPrincipal = []
5144 self.specHeisProperPrincipal = []
5120
5145
5121
5146
5122 def showWr_Period(self, puObj, opObj, nameplotop):
5147 def showWr_Period(self, puObj, opObj, nameplotop):
5123 parmObj = opObj.getParameterObj(parameterName='wr_period')
5148 parmObj = opObj.getParameterObj(parameterName='wr_period')
5124 if parmObj == None:
5149 if parmObj == None:
5125 wr_period = None
5150 wr_period = None
5126 else:
5151 else:
5127 value = opObj.getParameterValue(parameterName='wr_period')
5152 value = opObj.getParameterValue(parameterName='wr_period')
5128 wr_period = str(value)
5153 wr_period = str(value)
5129 if puObj.datatype == "Spectra":
5154 if puObj.datatype == "Spectra":
5130 self.bufferSpectra(nameplotop, "wr_period", wr_period)
5155 self.bufferSpectra(nameplotop, "wr_period", wr_period)
5131 if puObj.datatype == "SpectraHeis":
5156 if puObj.datatype == "SpectraHeis":
5132 self.bufferSpectraHeis(nameplotop, "wr_period", wr_period)
5157 self.bufferSpectraHeis(nameplotop, "wr_period", wr_period)
5133
5158
5134 def saveFTPvalues(self, opObj):
5159 def saveFTPvalues(self, opObj):
5160
5135 parmObj = opObj.getParameterObj(parameterName="server")
5161 parmObj = opObj.getParameterObj(parameterName="server")
5136 if parmObj == None:
5162 if parmObj == None:
5137 server = 'jro-app.igp.gob.pe'
5163 server = 'jro-app.igp.gob.pe'
5138 else:
5164 else:
5139 server = opObj.getParameterValue(parameterName='server')
5165 server = opObj.getParameterValue(parameterName='server')
5140
5166
5141 parmObj = opObj.getParameterObj(parameterName="folder")
5167 parmObj = opObj.getParameterObj(parameterName="folder")
5142 if parmObj == None:
5168 if parmObj == None:
5143 folder = '/home/wmaster/graficos'
5169 folder = '/home/wmaster/graficos'
5144 else:
5170 else:
5145 folder = opObj.getParameterValue(parameterName='folder')
5171 folder = opObj.getParameterValue(parameterName='folder')
5146
5172
5147 parmObj = opObj.getParameterObj(parameterName="username")
5173 parmObj = opObj.getParameterObj(parameterName="username")
5148 if parmObj == None:
5174 if parmObj == None:
5149 username = 'wmaster'
5175 username = 'wmaster'
5150 else:
5176 else:
5151 username = opObj.getParameterValue(parameterName='username')
5177 username = opObj.getParameterValue(parameterName='username')
5152
5178
5153 parmObj = opObj.getParameterObj(parameterName="password")
5179 parmObj = opObj.getParameterObj(parameterName="password")
5154 if parmObj == None:
5180 if parmObj == None:
5155 password = 'mst2010vhf'
5181 password = 'mst2010vhf'
5156 else:
5182 else:
5157 password = opObj.getParameterValue(parameterName='password')
5183 password = opObj.getParameterValue(parameterName='password')
5158
5184
5159 parmObj = opObj.getParameterObj(parameterName="ftp_wei")
5185 parmObj = opObj.getParameterObj(parameterName="ftp_wei")
5160 if parmObj == None:
5186 if parmObj == None:
5161 ftp_wei = '0'
5187 ftp_wei = '0'
5162 else:
5188 else:
5163 ftp_wei = opObj.getParameterValue(parameterName='ftp_wei')
5189 ftp_wei = opObj.getParameterValue(parameterName='ftp_wei')
5164
5190
5165 parmObj = opObj.getParameterObj(parameterName="exp_code")
5191 parmObj = opObj.getParameterObj(parameterName="exp_code")
5166 if parmObj == None:
5192 if parmObj == None:
5167 exp_code = '0'
5193 exp_code = '0'
5168 else:
5194 else:
5169 exp_code = opObj.getParameterValue(parameterName='exp_code')
5195 exp_code = opObj.getParameterValue(parameterName='exp_code')
5170
5196
5171 parmObj = opObj.getParameterObj(parameterName="sub_exp_code")
5197 parmObj = opObj.getParameterObj(parameterName="sub_exp_code")
5172 if parmObj == None:
5198 if parmObj == None:
5173 sub_exp_code = '0'
5199 sub_exp_code = '0'
5174 else:
5200 else:
5175 sub_exp_code = opObj.getParameterValue(parameterName='sub_exp_code')
5201 sub_exp_code = opObj.getParameterValue(parameterName='sub_exp_code')
5176
5202
5177 parmObj = opObj.getParameterObj(parameterName="plot_pos")
5203 parmObj = opObj.getParameterObj(parameterName="plot_pos")
5178 if parmObj == None:
5204 if parmObj == None:
5179 plot_pos = '0'
5205 plot_pos = '0'
5180 self.temporalFTP.setwithoutconfiguration()
5181 else:
5206 else:
5182 plot_pos = opObj.getParameterValue(parameterName='plot_pos')
5207 plot_pos = opObj.getParameterValue(parameterName='plot_pos')
5183 self.temporalFTP.save(server, folder, username, password, ftp_wei, exp_code, sub_exp_code, plot_pos)
5208
5209 parmObj = opObj.getParameterObj(parameterName="localfolder")
5210 if parmObj == None:
5211 localfolder = None
5212 else:
5213 localfolder = opObj.getParameterValue(parameterName='localfolder')
5214
5215 parmObj = opObj.getParameterObj(parameterName="extension")
5216 if parmObj == None:
5217 extension = None
5218 else:
5219 extension = opObj.getParameterValue(parameterName='extension')
5220
5221 self.temporalFTP.save(server, folder, username, password, ftp_wei, exp_code, sub_exp_code, plot_pos,
5222 localfolder=localfolder,
5223 extension=extension)
5184
5224
5185 def addProject2ProjectExplorer(self, id, name):
5225 def addProject2ProjectExplorer(self, id, name):
5186
5226
5187 itemTree = QtGui.QStandardItem(QtCore.QString(str(name)))
5227 itemTree = QtGui.QStandardItem(QtCore.QString(str(name)))
5188 self.parentItem = self.projectExplorerModel.invisibleRootItem()
5228 self.parentItem = self.projectExplorerModel.invisibleRootItem()
5189 self.parentItem.appendRow(itemTree)
5229 self.parentItem.appendRow(itemTree)
5190 self.parentItem = itemTree
5230 self.parentItem = itemTree
5191 self.projectExplorerTree.setCurrentIndex(self.parentItem.index())
5231 self.projectExplorerTree.setCurrentIndex(self.parentItem.index())
5192
5232
5193 self.selectedItemTree = itemTree
5233 self.selectedItemTree = itemTree
5194
5234
5195 self.__itemTreeDict[id] = itemTree
5235 self.__itemTreeDict[id] = itemTree
5196
5236
5197 def addPU2ProjectExplorer(self, id, name):
5237 def addPU2ProjectExplorer(self, id, name):
5198 # id1= round(int(id)/10.)*10
5238 # id1= round(int(id)/10.)*10
5199 # id= int(id)
5239 # id= int(id)
5200 # id=id-id1
5240 # id=id-id1
5201 itemTree = QtGui.QStandardItem(QtCore.QString(str(name)))
5241 itemTree = QtGui.QStandardItem(QtCore.QString(str(name)))
5202
5242
5203 self.parentItem = self.selectedItemTree
5243 self.parentItem = self.selectedItemTree
5204 self.parentItem.appendRow(itemTree)
5244 self.parentItem.appendRow(itemTree)
5205 self.projectExplorerTree.expandAll()
5245 self.projectExplorerTree.expandAll()
5206 self.parentItem = itemTree
5246 self.parentItem = itemTree
5207 self.projectExplorerTree.setCurrentIndex(self.parentItem.index())
5247 self.projectExplorerTree.setCurrentIndex(self.parentItem.index())
5208
5248
5209 self.selectedItemTree = itemTree
5249 self.selectedItemTree = itemTree
5210
5250
5211 self.__itemTreeDict[id] = itemTree
5251 self.__itemTreeDict[id] = itemTree
5212
5252
5213 def addPU2PELoadXML(self, id, name, idParent):
5253 def addPU2PELoadXML(self, id, name, idParent):
5214
5254
5215 itemTree = QtGui.QStandardItem(QtCore.QString(str(name)))
5255 itemTree = QtGui.QStandardItem(QtCore.QString(str(name)))
5216 if self.__itemTreeDict.has_key(idParent):
5256 if self.__itemTreeDict.has_key(idParent):
5217 self.parentItem = self.__itemTreeDict[idParent]
5257 self.parentItem = self.__itemTreeDict[idParent]
5218 else:
5258 else:
5219 self.parentItem = self.selectedItemTree
5259 self.parentItem = self.selectedItemTree
5220 self.parentItem.appendRow(itemTree)
5260 self.parentItem.appendRow(itemTree)
5221 self.projectExplorerTree.expandAll()
5261 self.projectExplorerTree.expandAll()
5222 self.parentItem = itemTree
5262 self.parentItem = itemTree
5223 self.projectExplorerTree.setCurrentIndex(self.parentItem.index())
5263 self.projectExplorerTree.setCurrentIndex(self.parentItem.index())
5224
5264
5225 self.selectedItemTree = itemTree
5265 self.selectedItemTree = itemTree
5226
5266
5227 self.__itemTreeDict[id] = itemTree
5267 self.__itemTreeDict[id] = itemTree
5228 # print "stop"
5268 # print "stop"
5229
5269
5230 def getSelectedProjectObj(self):
5270 def getSelectedProjectObj(self):
5231
5271
5232 for key in self.__itemTreeDict.keys():
5272 for key in self.__itemTreeDict.keys():
5233 if self.__itemTreeDict[key] != self.selectedItemTree:
5273 if self.__itemTreeDict[key] != self.selectedItemTree:
5234 continue
5274 continue
5235
5275
5236 if self.__projectObjDict.has_key(key):
5276 if self.__projectObjDict.has_key(key):
5237 projectObj = self.__projectObjDict[key]
5277 projectObj = self.__projectObjDict[key]
5238 else:
5278 else:
5239 puObj = self.__puObjDict[key]
5279 puObj = self.__puObjDict[key]
5240 if puObj.parentId == None:
5280 if puObj.parentId == None:
5241 id = puObj.getId()[0]
5281 id = puObj.getId()[0]
5242 else:
5282 else:
5243 id = puObj.parentId
5283 id = puObj.parentId
5244 projectObj = self.__projectObjDict[id]
5284 projectObj = self.__projectObjDict[id]
5245
5285
5246 return projectObj
5286 return projectObj
5247
5287
5248 self.showWarning()
5288 self.showWarning()
5249
5289
5250 return None
5290 return None
5251
5291
5252 def getSelectedPUObj(self):
5292 def getSelectedPUObj(self):
5253
5293
5254 for key in self.__itemTreeDict.keys():
5294 for key in self.__itemTreeDict.keys():
5255 if self.__itemTreeDict[key] != self.selectedItemTree:
5295 if self.__itemTreeDict[key] != self.selectedItemTree:
5256 continue
5296 continue
5257
5297
5258 if self.__projectObjDict.has_key(key) == True:
5298 if self.__projectObjDict.has_key(key) == True:
5259 fatherObj = self.__projectObjDict[key]
5299 fatherObj = self.__projectObjDict[key]
5260 else:
5300 else:
5261 fatherObj = self.__puObjDict[key]
5301 fatherObj = self.__puObjDict[key]
5262
5302
5263 return fatherObj
5303 return fatherObj
5264
5304
5265 self.showWarning()
5305 self.showWarning()
5266
5306
5267 return None
5307 return None
5268
5308
5269 def playProject(self, ext=".xml"):
5309 def playProject(self, ext=".xml"):
5270
5310
5271
5311
5272 self.actionStarToolbar.setEnabled(False)
5312 self.actionStarToolbar.setEnabled(False)
5273 self.actionPauseToolbar.setEnabled(True)
5313 self.actionPauseToolbar.setEnabled(True)
5274 self.actionStopToolbar.setEnabled(True)
5314 self.actionStopToolbar.setEnabled(True)
5275
5315
5276 projectObj = self.getSelectedProjectObj()
5316 projectObj = self.getSelectedProjectObj()
5277
5317
5278 filename = os.path.join(str(self.pathWorkSpace),
5318 filename = os.path.join(str(self.pathWorkSpace),
5279 "%s%s%s" %(str(projectObj.name), str(projectObj.id), ext)
5319 "%s%s%s" %(str(projectObj.name), str(projectObj.id), ext)
5280 )
5320 )
5281
5321
5282 self.console.clear()
5322 self.console.clear()
5283 filename = self.saveProject()
5323 filename = self.saveProject()
5284 # projectObj.writeXml(filename)
5324 # projectObj.writeXml(filename)
5285 if filename == None:
5325 if filename == None:
5286 self.console.append("Process did not initialize.")
5326 self.console.append("Process did not initialize.")
5287 return
5327 return
5288
5328
5289 self.console.append("Please Wait...")
5329 self.console.append("Please Wait...")
5290 # try:
5330 # try:
5291 self.commCtrlPThread.cmd_q.put(ProcessCommand(ProcessCommand.PROCESS, filename))
5331 self.commCtrlPThread.cmd_q.put(ProcessCommand(ProcessCommand.PROCESS, filename))
5292 # #
5332 # #
5293 # except:
5333 # except:
5294 # self.console.append("Error............................................!")
5334 # self.console.append("Error............................................!")
5295 # self.actionStarToolbar.setEnabled(True)
5335 # self.actionStarToolbar.setEnabled(True)
5296 # self.actionPauseToolbar.setEnabled(False)
5336 # self.actionPauseToolbar.setEnabled(False)
5297 # self.actionStopToolbar.setEnabled(False)
5337 # self.actionStopToolbar.setEnabled(False)
5298
5338
5299 # filename = '/home/dsuarez/workspace_signalchain/schain_guiJune04/test/ewdrifts3.xml'
5339 # filename = '/home/dsuarez/workspace_signalchain/schain_guiJune04/test/ewdrifts3.xml'
5300 # data = filename
5340 # data = filename
5301 # self.commCtrlPThread.cmd_q.put(ProcessCommand(ProcessCommand.PROCESS, data))
5341 # self.commCtrlPThread.cmd_q.put(ProcessCommand(ProcessCommand.PROCESS, data))
5302
5342
5303 def stopProject(self):
5343 def stopProject(self):
5304 stop = True
5344 stop = True
5305 self.actionStarToolbar.setEnabled(True)
5345 self.actionStarToolbar.setEnabled(True)
5306 self.actionPauseToolbar.setEnabled(stop)
5346 self.actionPauseToolbar.setEnabled(stop)
5307 self.actionStopToolbar.setEnabled(stop)
5347 self.actionStopToolbar.setEnabled(stop)
5308
5348
5309 self.commCtrlPThread.cmd_q.put(ProcessCommand(ProcessCommand.STOP, stop))
5349 self.commCtrlPThread.cmd_q.put(ProcessCommand(ProcessCommand.STOP, stop))
5310
5350
5311 def pauseProject(self):
5351 def pauseProject(self):
5312
5352
5313 self.actionStarToolbar.setEnabled(False)
5353 self.actionStarToolbar.setEnabled(False)
5314 self.actionPauseToolbar.setEnabled(True)
5354 self.actionPauseToolbar.setEnabled(True)
5315 self.actionStopToolbar.setEnabled(True)
5355 self.actionStopToolbar.setEnabled(True)
5316
5356
5317 self.commCtrlPThread.cmd_q.put(ProcessCommand(ProcessCommand.PAUSE, data=True))
5357 self.commCtrlPThread.cmd_q.put(ProcessCommand(ProcessCommand.PAUSE, data=True))
5318
5358
5319
5359
5320 def saveProject(self):
5360 def saveProject(self):
5321
5361
5322 sts = True
5362 sts = True
5323 puObj = self.getSelectedPUObj()
5363 puObj = self.getSelectedPUObj()
5324 if puObj.name == 'VoltageProc':
5364 if puObj.name == 'VoltageProc':
5325 sts = self.on_volOpOk_clicked()
5365 sts = self.on_volOpOk_clicked()
5326 if puObj.name == 'SpectraProc':
5366 if puObj.name == 'SpectraProc':
5327 sts = self.on_specOpOk_clicked()
5367 sts = self.on_specOpOk_clicked()
5328 if puObj.name == 'SpectraHeisProc':
5368 if puObj.name == 'SpectraHeisProc':
5329 sts = self.on_specHeisOpOk_clicked()
5369 sts = self.on_specHeisOpOk_clicked()
5330
5370
5331 if not sts:
5371 if not sts:
5332 return None
5372 return None
5333
5373
5334 projectObj = self.getSelectedProjectObj()
5374 projectObj = self.getSelectedProjectObj()
5335 puObjorderList = OrderedDict(sorted(projectObj.procUnitConfObjDict.items(), key=lambda x: x[0]))
5375 puObjorderList = OrderedDict(sorted(projectObj.procUnitConfObjDict.items(), key=lambda x: x[0]))
5336
5376
5337 for inputId, puObj in puObjorderList.items():
5377 for inputId, puObj in puObjorderList.items():
5338 # print puObj.datatype, puObj.inputId,puObj.getId(),puObj.parentId
5378 # print puObj.datatype, puObj.inputId,puObj.getId(),puObj.parentId
5339
5379
5340 if puObj.name == "VoltageProc":
5380 if puObj.name == "VoltageProc":
5341 self.refreshID(puObj)
5381 self.refreshID(puObj)
5342 if puObj.name == "SpectraProc":
5382 if puObj.name == "SpectraProc":
5343 self.refreshID(puObj)
5383 self.refreshID(puObj)
5344 if puObj.name == "SpectraHeisProc":
5384 if puObj.name == "SpectraHeisProc":
5345 self.refreshID(puObj)
5385 self.refreshID(puObj)
5346
5386
5347 filename = os.path.join(str(self.pathWorkSpace),
5387 filename = os.path.join(str(self.pathWorkSpace),
5348 "%s%s%s" %(str(projectObj.name), str(projectObj.id), '.xml')
5388 "%s%s%s" %(str(projectObj.name), str(projectObj.id), '.xml')
5349 )
5389 )
5350 projectObj.writeXml(filename)
5390 projectObj.writeXml(filename)
5351 self.console.append("Now, you can press the Start Icon on the toolbar")
5391 self.console.append("Now, you can press the Start Icon on the toolbar")
5352
5392
5353 return filename
5393 return filename
5354
5394
5355 def deleteProjectorPU(self):
5395 def deleteProjectorPU(self):
5356 """
5396 """
5357 Metodo para eliminar el proyecto en el dictionario de proyectos y en el dictionario de vista de arbol
5397 Metodo para eliminar el proyecto en el dictionario de proyectos y en el dictionario de vista de arbol
5358 """
5398 """
5359 for key in self.__itemTreeDict.keys():
5399 for key in self.__itemTreeDict.keys():
5360 if self.__itemTreeDict[key] != self.selectedItemTree:
5400 if self.__itemTreeDict[key] != self.selectedItemTree:
5361 continue
5401 continue
5362
5402
5363 if self.__projectObjDict.has_key(key) == True:
5403 if self.__projectObjDict.has_key(key) == True:
5364
5404
5365 del self.__projectObjDict[key]
5405 del self.__projectObjDict[key]
5366 del self.__itemTreeDict[key]
5406 del self.__itemTreeDict[key]
5367
5407
5368 else:
5408 else:
5369 puObj = self.__puObjDict[key]
5409 puObj = self.__puObjDict[key]
5370 if puObj.parentId == None:
5410 if puObj.parentId == None:
5371 id = puObj.getId()[0]
5411 id = puObj.getId()[0]
5372 else:
5412 else:
5373 id = puObj.parentId
5413 id = puObj.parentId
5374 projectObj = self.__projectObjDict[id]
5414 projectObj = self.__projectObjDict[id]
5375 del self.__puObjDict[key]
5415 del self.__puObjDict[key]
5376 del self.__itemTreeDict[key]
5416 del self.__itemTreeDict[key]
5377 del projectObj.procUnitConfObjDict[key]
5417 del projectObj.procUnitConfObjDict[key]
5378 for key in projectObj.procUnitConfObjDict.keys():
5418 for key in projectObj.procUnitConfObjDict.keys():
5379 if projectObj.procUnitConfObjDict[key].inputId != puObj.getId():
5419 if projectObj.procUnitConfObjDict[key].inputId != puObj.getId():
5380 continue
5420 continue
5381 del self.__puObjDict[projectObj.procUnitConfObjDict[key].getId()]
5421 del self.__puObjDict[projectObj.procUnitConfObjDict[key].getId()]
5382 del self.__itemTreeDict[projectObj.procUnitConfObjDict[key].getId()]
5422 del self.__itemTreeDict[projectObj.procUnitConfObjDict[key].getId()]
5383 del projectObj.procUnitConfObjDict[key]
5423 del projectObj.procUnitConfObjDict[key]
5384 # print projectObj.procUnitConfObjDict
5424 # print projectObj.procUnitConfObjDict
5385 # print self.__itemTreeDict,self.__projectObjDict,self.__puObjDict
5425 # print self.__itemTreeDict,self.__projectObjDict,self.__puObjDict
5386 self.showWarning()
5426 self.showWarning()
5387
5427
5388 def showWarning(self):
5428 def showWarning(self):
5389 pass
5429 pass
5390
5430
5391 def getParmsFromProjectWindow(self):
5431 def getParmsFromProjectWindow(self):
5392 """
5432 """
5393 Return Inputs Project:
5433 Return Inputs Project:
5394 - id
5434 - id
5395 - project_name
5435 - project_name
5396 - datatype
5436 - datatype
5397 - ext
5437 - ext
5398 - data_path
5438 - data_path
5399 - readmode
5439 - readmode
5400 - delay
5440 - delay
5401 - set
5441 - set
5402 - walk
5442 - walk
5403 """
5443 """
5404 project_name = str(self.proName.text())
5444 project_name = str(self.proName.text())
5405 try:
5445 try:
5406 name = str(self.proName.text())
5446 name = str(self.proName.text())
5407 except:
5447 except:
5408 self.console.clear()
5448 self.console.clear()
5409 self.console.append("Please Write a name")
5449 self.console.append("Please Write a name")
5410 return 0
5450 return 0
5411
5451
5412 desc = str(self.proDescription.toPlainText())
5452 desc = str(self.proDescription.toPlainText())
5413 datatype = str(self.proComDataType.currentText())
5453 datatype = str(self.proComDataType.currentText())
5414 data_path = str(self.proDataPath.text())
5454 data_path = str(self.proDataPath.text())
5415 if not os.path.exists(data_path):
5455 if not os.path.exists(data_path):
5416 self.proOk.setEnabled(False)
5456 self.proOk.setEnabled(False)
5417 self.console.clear()
5457 self.console.clear()
5418 self.console.append("Write a correct a path")
5458 self.console.append("Write a correct a path")
5419 return
5459 return
5420
5460
5421 online = int(self.online)
5461 online = int(self.online)
5422 if online == 0:
5462 if online == 0:
5423 delay = 0
5463 delay = 0
5424 set = 0
5464 set = 0
5425 else:
5465 else:
5426 delay = self.proDelay.text()
5466 delay = self.proDelay.text()
5427 try:
5467 try:
5428 delay = int(self.proDelay.text())
5468 delay = int(self.proDelay.text())
5429 except:
5469 except:
5430 self.console.clear()
5470 self.console.clear()
5431 self.console.append("Please Write a number for delay")
5471 self.console.append("Please Write a number for delay")
5432 return 0
5472 return 0
5433
5473
5434 set = self.proSet.text()
5474 set = self.proSet.text()
5435 try:
5475 try:
5436 set = int(self.proSet.text())
5476 set = int(self.proSet.text())
5437 except:
5477 except:
5438 self.console.clear()
5478 self.console.clear()
5439 set = None
5479 set = None
5440
5480
5441
5481
5442 walk = int(self.walk)
5482 walk = int(self.walk)
5443 starDate = str(self.proComStartDate.currentText())
5483 starDate = str(self.proComStartDate.currentText())
5444 endDate = str(self.proComEndDate.currentText())
5484 endDate = str(self.proComEndDate.currentText())
5445 reloj1 = self.proStartTime.time()
5485 reloj1 = self.proStartTime.time()
5446 reloj2 = self.proEndTime.time()
5486 reloj2 = self.proEndTime.time()
5447 startTime = str(reloj1.hour()) + ":" + str(reloj1.minute()) + ":" + str(reloj1.second())
5487 startTime = str(reloj1.hour()) + ":" + str(reloj1.minute()) + ":" + str(reloj1.second())
5448 endTime = str(reloj2.hour()) + ":" + str(reloj2.minute()) + ":" + str(reloj2.second())
5488 endTime = str(reloj2.hour()) + ":" + str(reloj2.minute()) + ":" + str(reloj2.second())
5449
5489
5450 return project_name, desc, datatype, data_path, starDate, endDate, startTime, endTime, online, delay, walk , set
5490 return project_name, desc, datatype, data_path, starDate, endDate, startTime, endTime, online, delay, walk , set
5451
5491
5452 def removefromtree(self, row):
5492 def removefromtree(self, row):
5453 self.parentItem.removeRow(row)
5493 self.parentItem.removeRow(row)
5454
5494
5455
5495
5456 def setInputsProject_View(self):
5496 def setInputsProject_View(self):
5457 self.tabWidgetProject.setEnabled(True)
5497 self.tabWidgetProject.setEnabled(True)
5458 self.tabWidgetProject.setCurrentWidget(self.tabProject)
5498 self.tabWidgetProject.setCurrentWidget(self.tabProject)
5459 self.tabProject.setEnabled(True)
5499 self.tabProject.setEnabled(True)
5460 self.frame_2.setEnabled(False)
5500 self.frame_2.setEnabled(False)
5461 self.proName.clear()
5501 self.proName.clear()
5462 self.proName.setFocus()
5502 self.proName.setFocus()
5463 self.proName.setSelection(0, 0)
5503 self.proName.setSelection(0, 0)
5464 self.proName.setCursorPosition(0)
5504 self.proName.setCursorPosition(0)
5465 self.proDataType.setText('.r')
5505 self.proDataType.setText('.r')
5466 self.proDataPath.clear()
5506 self.proDataPath.clear()
5467 self.proComDataType.clear()
5507 self.proComDataType.clear()
5468 self.proComDataType.addItem("Voltage")
5508 self.proComDataType.addItem("Voltage")
5469 self.proComDataType.addItem("Spectra")
5509 self.proComDataType.addItem("Spectra")
5470 self.proComDataType.addItem("Fits")
5510 self.proComDataType.addItem("Fits")
5471
5511
5472 self.proComStartDate.clear()
5512 self.proComStartDate.clear()
5473 self.proComEndDate.clear()
5513 self.proComEndDate.clear()
5474
5514
5475 startTime = "00:00:00"
5515 startTime = "00:00:00"
5476 endTime = "23:59:59"
5516 endTime = "23:59:59"
5477 starlist = startTime.split(":")
5517 starlist = startTime.split(":")
5478 endlist = endTime.split(":")
5518 endlist = endTime.split(":")
5479 self.proDelay.setText("0")
5519 self.proDelay.setText("0")
5480 self.proSet.setText("0")
5520 self.proSet.setText("0")
5481 self.time.setHMS(int(starlist[0]), int(starlist[1]), int(starlist[2]))
5521 self.time.setHMS(int(starlist[0]), int(starlist[1]), int(starlist[2]))
5482 self.proStartTime.setTime(self.time)
5522 self.proStartTime.setTime(self.time)
5483 self.time.setHMS(int(endlist[0]), int(endlist[1]), int(endlist[2]))
5523 self.time.setHMS(int(endlist[0]), int(endlist[1]), int(endlist[2]))
5484 self.proEndTime.setTime(self.time)
5524 self.proEndTime.setTime(self.time)
5485 self.proDescription.clear()
5525 self.proDescription.clear()
5486 self.proOk.setEnabled(False)
5526 self.proOk.setEnabled(False)
5487 self.console.clear()
5527 self.console.clear()
5488 # self.console.append("Please, Write a name Project")
5528 # self.console.append("Please, Write a name Project")
5489 # self.console.append("Introduce Project Parameters")DC
5529 # self.console.append("Introduce Project Parameters")DC
5490 # self.console.append("Select data type Voltage( .rawdata) or Spectra(.pdata)")
5530 # self.console.append("Select data type Voltage( .rawdata) or Spectra(.pdata)")
5491
5531
5492 def setInputsPU_View(self, datatype):
5532 def setInputsPU_View(self, datatype):
5493 projectObjView = self.getSelectedProjectObj()
5533 projectObjView = self.getSelectedProjectObj()
5494 idReadUnit = projectObjView.getReadUnitId()
5534 idReadUnit = projectObjView.getReadUnitId()
5495 readUnitObj = projectObjView.getProcUnitObj(idReadUnit)
5535 readUnitObj = projectObjView.getProcUnitObj(idReadUnit)
5496
5536
5497 if datatype == 'Voltage':
5537 if datatype == 'Voltage':
5498 self.volOpComChannels.setEnabled(False)
5538 self.volOpComChannels.setEnabled(False)
5499 self.volOpComHeights.setEnabled(False)
5539 self.volOpComHeights.setEnabled(False)
5500 self.volOpFilter.setEnabled(False)
5540 self.volOpFilter.setEnabled(False)
5501 self.volOpComProfile.setEnabled(False)
5541 self.volOpComProfile.setEnabled(False)
5502 self.volOpComCode.setEnabled(False)
5542 self.volOpComCode.setEnabled(False)
5503 self.volOpCohInt.setEnabled(False)
5543 self.volOpCohInt.setEnabled(False)
5504 self.volOpChannel.setEnabled(False)
5544 self.volOpChannel.setEnabled(False)
5505 self.volOpHeights.setEnabled(False)
5545 self.volOpHeights.setEnabled(False)
5506 self.volOpProfile.setEnabled(False)
5546 self.volOpProfile.setEnabled(False)
5507 self.volOpRadarfrequency.setEnabled(False)
5547 self.volOpRadarfrequency.setEnabled(False)
5508 self.volOpCebChannels.setCheckState(0)
5548 self.volOpCebChannels.setCheckState(0)
5509 self.volOpCebRadarfrequency.setCheckState(0)
5549 self.volOpCebRadarfrequency.setCheckState(0)
5510 self.volOpCebHeights.setCheckState(0)
5550 self.volOpCebHeights.setCheckState(0)
5511 self.volOpCebFilter.setCheckState(0)
5551 self.volOpCebFilter.setCheckState(0)
5512 self.volOpCebProfile.setCheckState(0)
5552 self.volOpCebProfile.setCheckState(0)
5513 self.volOpCebDecodification.setCheckState(0)
5553 self.volOpCebDecodification.setCheckState(0)
5514 self.volOpCebCohInt.setCheckState(0)
5554 self.volOpCebCohInt.setCheckState(0)
5515
5555
5516 self.volOpChannel.clear()
5556 self.volOpChannel.clear()
5517 self.volOpHeights.clear()
5557 self.volOpHeights.clear()
5518 self.volOpProfile.clear()
5558 self.volOpProfile.clear()
5519 self.volOpFilter.clear()
5559 self.volOpFilter.clear()
5520 self.volOpCohInt.clear()
5560 self.volOpCohInt.clear()
5521 self.volOpRadarfrequency.clear()
5561 self.volOpRadarfrequency.clear()
5522
5562
5523 if datatype == 'Spectra':
5563 if datatype == 'Spectra':
5524
5564
5525 if readUnitObj.datatype == 'Spectra':
5565 if readUnitObj.datatype == 'Spectra':
5526 self.specOpnFFTpoints.setEnabled(False)
5566 self.specOpnFFTpoints.setEnabled(False)
5527 self.specOpProfiles.setEnabled(False)
5567 self.specOpProfiles.setEnabled(False)
5528 self.specOpippFactor.setEnabled(False)
5568 self.specOpippFactor.setEnabled(False)
5529 else:
5569 else:
5530 self.specOpnFFTpoints.setEnabled(True)
5570 self.specOpnFFTpoints.setEnabled(True)
5531 self.specOpProfiles.setEnabled(True)
5571 self.specOpProfiles.setEnabled(True)
5532 self.specOpippFactor.setEnabled(True)
5572 self.specOpippFactor.setEnabled(True)
5533
5573
5534 self.specOpCebCrossSpectra.setCheckState(0)
5574 self.specOpCebCrossSpectra.setCheckState(0)
5535 self.specOpCebChannel.setCheckState(0)
5575 self.specOpCebChannel.setCheckState(0)
5536 self.specOpCebHeights.setCheckState(0)
5576 self.specOpCebHeights.setCheckState(0)
5537 self.specOpCebIncoherent.setCheckState(0)
5577 self.specOpCebIncoherent.setCheckState(0)
5538 self.specOpCebRemoveDC.setCheckState(0)
5578 self.specOpCebRemoveDC.setCheckState(0)
5539 self.specOpCebRemoveInt.setCheckState(0)
5579 self.specOpCebRemoveInt.setCheckState(0)
5540 self.specOpCebgetNoise.setCheckState(0)
5580 self.specOpCebgetNoise.setCheckState(0)
5541 self.specOpCebRadarfrequency.setCheckState(0)
5581 self.specOpCebRadarfrequency.setCheckState(0)
5542
5582
5543 self.specOpRadarfrequency.setEnabled(False)
5583 self.specOpRadarfrequency.setEnabled(False)
5544 self.specOppairsList.setEnabled(False)
5584 self.specOppairsList.setEnabled(False)
5545 self.specOpChannel.setEnabled(False)
5585 self.specOpChannel.setEnabled(False)
5546 self.specOpHeights.setEnabled(False)
5586 self.specOpHeights.setEnabled(False)
5547 self.specOpIncoherent.setEnabled(False)
5587 self.specOpIncoherent.setEnabled(False)
5548 self.specOpgetNoise.setEnabled(False)
5588 self.specOpgetNoise.setEnabled(False)
5549
5589
5550 self.specOpRadarfrequency.clear()
5590 self.specOpRadarfrequency.clear()
5551 self.specOpnFFTpoints.clear()
5591 self.specOpnFFTpoints.clear()
5552 self.specOpProfiles.clear()
5592 self.specOpProfiles.clear()
5553 self.specOpippFactor.clear
5593 self.specOpippFactor.clear
5554 self.specOppairsList.clear()
5594 self.specOppairsList.clear()
5555 self.specOpChannel.clear()
5595 self.specOpChannel.clear()
5556 self.specOpHeights.clear()
5596 self.specOpHeights.clear()
5557 self.specOpIncoherent.clear()
5597 self.specOpIncoherent.clear()
5558 self.specOpgetNoise.clear()
5598 self.specOpgetNoise.clear()
5559
5599
5560 self.specGraphCebSpectraplot.setCheckState(0)
5600 self.specGraphCebSpectraplot.setCheckState(0)
5561 self.specGraphCebCrossSpectraplot.setCheckState(0)
5601 self.specGraphCebCrossSpectraplot.setCheckState(0)
5562 self.specGraphCebRTIplot.setCheckState(0)
5602 self.specGraphCebRTIplot.setCheckState(0)
5563 self.specGraphCebRTInoise.setCheckState(0)
5603 self.specGraphCebRTInoise.setCheckState(0)
5564 self.specGraphCebCoherencmap.setCheckState(0)
5604 self.specGraphCebCoherencmap.setCheckState(0)
5565 self.specGraphPowerprofile.setCheckState(0)
5605 self.specGraphPowerprofile.setCheckState(0)
5566
5606
5567 self.specGraphSaveSpectra.setCheckState(0)
5607 self.specGraphSaveSpectra.setCheckState(0)
5568 self.specGraphSaveCross.setCheckState(0)
5608 self.specGraphSaveCross.setCheckState(0)
5569 self.specGraphSaveRTIplot.setCheckState(0)
5609 self.specGraphSaveRTIplot.setCheckState(0)
5570 self.specGraphSaveRTInoise.setCheckState(0)
5610 self.specGraphSaveRTInoise.setCheckState(0)
5571 self.specGraphSaveCoherencemap.setCheckState(0)
5611 self.specGraphSaveCoherencemap.setCheckState(0)
5572 self.specGraphSavePowerprofile.setCheckState(0)
5612 self.specGraphSavePowerprofile.setCheckState(0)
5573
5613
5574 self.specGraphftpRTIplot.setCheckState(0)
5614 self.specGraphftpRTIplot.setCheckState(0)
5575 self.specGraphftpRTInoise.setCheckState(0)
5615 self.specGraphftpRTInoise.setCheckState(0)
5576 self.specGraphftpCoherencemap.setCheckState(0)
5616 self.specGraphftpCoherencemap.setCheckState(0)
5577
5617
5578 self.specGraphPath.clear()
5618 self.specGraphPath.clear()
5579 self.specGraphPrefix.clear()
5619 self.specGraphPrefix.clear()
5580
5620
5581 self.specGgraphftpratio.clear()
5621 self.specGgraphftpratio.clear()
5582
5622
5583 self.specGgraphChannelList.clear()
5623 self.specGgraphChannelList.clear()
5584 self.specGgraphFreq.clear()
5624 self.specGgraphFreq.clear()
5585 self.specGgraphHeight.clear()
5625 self.specGgraphHeight.clear()
5586 self.specGgraphDbsrange.clear()
5626 self.specGgraphDbsrange.clear()
5587 self.specGgraphmagnitud.clear()
5627 self.specGgraphmagnitud.clear()
5588 self.specGgraphTminTmax.clear()
5628 self.specGgraphTminTmax.clear()
5589 self.specGgraphTimeRange.clear()
5629 self.specGgraphTimeRange.clear()
5590
5630
5591 if datatype == 'SpectraHeis':
5631 if datatype == 'SpectraHeis':
5592 self.specHeisOpCebIncoherent.setCheckState(0)
5632 self.specHeisOpCebIncoherent.setCheckState(0)
5593 self.specHeisOpIncoherent.setEnabled(False)
5633 self.specHeisOpIncoherent.setEnabled(False)
5594 self.specHeisOpIncoherent.clear()
5634 self.specHeisOpIncoherent.clear()
5595
5635
5596 self.specHeisGraphCebSpectraplot.setCheckState(0)
5636 self.specHeisGraphCebSpectraplot.setCheckState(0)
5597 self.specHeisGraphCebRTIplot.setCheckState(0)
5637 self.specHeisGraphCebRTIplot.setCheckState(0)
5598
5638
5599 self.specHeisGraphSaveSpectra.setCheckState(0)
5639 self.specHeisGraphSaveSpectra.setCheckState(0)
5600 self.specHeisGraphSaveRTIplot.setCheckState(0)
5640 self.specHeisGraphSaveRTIplot.setCheckState(0)
5601
5641
5602 self.specHeisGraphftpSpectra.setCheckState(0)
5642 self.specHeisGraphftpSpectra.setCheckState(0)
5603 self.specHeisGraphftpRTIplot.setCheckState(0)
5643 self.specHeisGraphftpRTIplot.setCheckState(0)
5604
5644
5605 self.specHeisGraphPath.clear()
5645 self.specHeisGraphPath.clear()
5606 self.specHeisGraphPrefix.clear()
5646 self.specHeisGraphPrefix.clear()
5607 self.specHeisGgraphChannelList.clear()
5647 self.specHeisGgraphChannelList.clear()
5608 self.specHeisGgraphXminXmax.clear()
5648 self.specHeisGgraphXminXmax.clear()
5609 self.specHeisGgraphYminYmax.clear()
5649 self.specHeisGgraphYminYmax.clear()
5610 self.specHeisGgraphTminTmax.clear()
5650 self.specHeisGgraphTminTmax.clear()
5611 self.specHeisGgraphTimeRange.clear()
5651 self.specHeisGgraphTimeRange.clear()
5612 self.specHeisGgraphftpratio.clear()
5652 self.specHeisGgraphftpratio.clear()
5613
5653
5614
5654
5615
5655
5616
5656
5617
5657
5618 def showtabPUCreated(self, datatype):
5658 def showtabPUCreated(self, datatype):
5619 if datatype == "Voltage":
5659 if datatype == "Voltage":
5620 self.tabVoltage.setEnabled(True)
5660 self.tabVoltage.setEnabled(True)
5621 self.tabProject.setEnabled(False)
5661 self.tabProject.setEnabled(False)
5622 self.tabSpectra.setEnabled(False)
5662 self.tabSpectra.setEnabled(False)
5623 self.tabCorrelation.setEnabled(False)
5663 self.tabCorrelation.setEnabled(False)
5624 self.tabSpectraHeis.setEnabled(False)
5664 self.tabSpectraHeis.setEnabled(False)
5625 self.tabWidgetProject.setCurrentWidget(self.tabVoltage)
5665 self.tabWidgetProject.setCurrentWidget(self.tabVoltage)
5626
5666
5627 if datatype == "Spectra":
5667 if datatype == "Spectra":
5628 self.tabVoltage.setEnabled(False)
5668 self.tabVoltage.setEnabled(False)
5629 self.tabProject.setEnabled(False)
5669 self.tabProject.setEnabled(False)
5630 self.tabSpectra.setEnabled(True)
5670 self.tabSpectra.setEnabled(True)
5631 self.tabCorrelation.setEnabled(False)
5671 self.tabCorrelation.setEnabled(False)
5632 self.tabSpectraHeis.setEnabled(False)
5672 self.tabSpectraHeis.setEnabled(False)
5633 self.tabWidgetProject.setCurrentWidget(self.tabSpectra)
5673 self.tabWidgetProject.setCurrentWidget(self.tabSpectra)
5634 if datatype == "SpectraHeis":
5674 if datatype == "SpectraHeis":
5635 self.tabVoltage.setEnabled(False)
5675 self.tabVoltage.setEnabled(False)
5636 self.tabProject.setEnabled(False)
5676 self.tabProject.setEnabled(False)
5637 self.tabSpectra.setEnabled(False)
5677 self.tabSpectra.setEnabled(False)
5638 self.tabCorrelation.setEnabled(False)
5678 self.tabCorrelation.setEnabled(False)
5639 self.tabSpectraHeis.setEnabled(True)
5679 self.tabSpectraHeis.setEnabled(True)
5640 self.tabWidgetProject.setCurrentWidget(self.tabSpectraHeis)
5680 self.tabWidgetProject.setCurrentWidget(self.tabSpectraHeis)
5641
5681
5642
5682
5643 def searchData(self, data_path, ext, walk, expLabel=''):
5683 def searchData(self, data_path, ext, walk, expLabel=''):
5644 dateList = []
5684 dateList = []
5645 fileList = []
5685 fileList = []
5646
5686
5647 if not os.path.exists(data_path):
5687 if not os.path.exists(data_path):
5648 return None
5688 return None
5649
5689
5650 if walk == 0:
5690 if walk == 0:
5651 files = os.listdir(data_path)
5691 files = os.listdir(data_path)
5652 for thisFile in files:
5692 for thisFile in files:
5653 thisExt = os.path.splitext(thisFile)[-1]
5693 thisExt = os.path.splitext(thisFile)[-1]
5654 if thisExt == ext:
5694 if thisExt == ext:
5655 fileList.append(thisFile)
5695 fileList.append(thisFile)
5656
5696
5657 for thisFile in fileList:
5697 for thisFile in fileList:
5658 try:
5698 try:
5659 year = int(thisFile[1:5])
5699 year = int(thisFile[1:5])
5660 doy = int(thisFile[5:8])
5700 doy = int(thisFile[5:8])
5661
5701
5662 date = datetime.date(year, 1, 1) + datetime.timedelta(doy - 1)
5702 date = datetime.date(year, 1, 1) + datetime.timedelta(doy - 1)
5663 dateformat = date.strftime("%Y/%m/%d")
5703 dateformat = date.strftime("%Y/%m/%d")
5664
5704
5665 if dateformat not in dateList:
5705 if dateformat not in dateList:
5666 dateList.append(dateformat)
5706 dateList.append(dateformat)
5667 except:
5707 except:
5668 continue
5708 continue
5669 # REVISION---------------------------------1
5709 # REVISION---------------------------------1
5670 if walk == 1:
5710 if walk == 1:
5671
5711
5672 dirList = os.listdir(data_path)
5712 dirList = os.listdir(data_path)
5673
5713
5674 dirList.sort()
5714 dirList.sort()
5675
5715
5676 dateList = []
5716 dateList = []
5677
5717
5678 for thisDir in dirList:
5718 for thisDir in dirList:
5679
5719
5680 if not isRadarPath(thisDir):
5720 if not isRadarPath(thisDir):
5681 self.console.clear()
5721 self.console.clear()
5682 self.console.append("Please, Choose the Correct Path")
5722 self.console.append("Please, Choose the Correct Path")
5683 self.proOk.setEnabled(False)
5723 self.proOk.setEnabled(False)
5684 continue
5724 continue
5685
5725
5686 doypath = os.path.join(data_path, thisDir, expLabel)
5726 doypath = os.path.join(data_path, thisDir, expLabel)
5687 if not os.path.exists(doypath):
5727 if not os.path.exists(doypath):
5688 self.console.clear()
5728 self.console.clear()
5689 self.console.append("Please, Choose the Correct Path")
5729 self.console.append("Please, Choose the Correct Path")
5690 return
5730 return
5691 files = os.listdir(doypath)
5731 files = os.listdir(doypath)
5692 fileList = []
5732 fileList = []
5693
5733
5694 for thisFile in files:
5734 for thisFile in files:
5695 thisExt = os.path.splitext(thisFile)[-1]
5735 thisExt = os.path.splitext(thisFile)[-1]
5696 if thisExt != ext:
5736 if thisExt != ext:
5697 self.console.clear()
5737 self.console.clear()
5698 self.console.append("There is no datatype selected in the Path Directory")
5738 self.console.append("There is no datatype selected in the Path Directory")
5699 self.proOk.setEnabled(False)
5739 self.proOk.setEnabled(False)
5700 continue
5740 continue
5701
5741
5702 if not isRadarFile(thisFile):
5742 if not isRadarFile(thisFile):
5703 self.proOk.setEnabled(False)
5743 self.proOk.setEnabled(False)
5704 self.console.clear()
5744 self.console.clear()
5705 self.console.append("Please, Choose the Correct Path")
5745 self.console.append("Please, Choose the Correct Path")
5706 continue
5746 continue
5707
5747
5708 fileList.append(thisFile)
5748 fileList.append(thisFile)
5709 break
5749 break
5710
5750
5711 if fileList == []:
5751 if fileList == []:
5712 continue
5752 continue
5713
5753
5714 year = int(thisDir[1:5])
5754 year = int(thisDir[1:5])
5715 doy = int(thisDir[5:8])
5755 doy = int(thisDir[5:8])
5716
5756
5717 date = datetime.date(year, 1, 1) + datetime.timedelta(doy - 1)
5757 date = datetime.date(year, 1, 1) + datetime.timedelta(doy - 1)
5718 dateformat = date.strftime("%Y/%m/%d")
5758 dateformat = date.strftime("%Y/%m/%d")
5719 dateList.append(dateformat)
5759 dateList.append(dateformat)
5720
5760
5721 if len(dateList) > 0:
5761 if len(dateList) > 0:
5722 self.proOk.setEnabled(True)
5762 self.proOk.setEnabled(True)
5723 return dateList
5763 return dateList
5724
5764
5725
5765
5726 # self.proOk.setEnabled(False)
5766 # self.proOk.setEnabled(False)
5727 return None
5767 return None
5728
5768
5729 def checkInputsProject(self):
5769 def checkInputsProject(self):
5730 """
5770 """
5731 Check Inputs Project:
5771 Check Inputs Project:
5732 - project_name
5772 - project_name
5733 - datatype
5773 - datatype
5734 - ext
5774 - ext
5735 - data_path
5775 - data_path
5736 - readmode
5776 - readmode
5737 - delay
5777 - delay
5738 - set
5778 - set
5739 - walk
5779 - walk
5740 """
5780 """
5741 parms_ok = True
5781 parms_ok = True
5742 project_name = str(self.proName.text())
5782 project_name = str(self.proName.text())
5743 if project_name == '' or project_name == None:
5783 if project_name == '' or project_name == None:
5744 outputstr = "Enter the Project Name"
5784 outputstr = "Enter the Project Name"
5745 self.console.append(outputstr)
5785 self.console.append(outputstr)
5746 parms_ok = False
5786 parms_ok = False
5747 project_name = None
5787 project_name = None
5748
5788
5749 datatype = str(self.proComDataType.currentText())
5789 datatype = str(self.proComDataType.currentText())
5750 if not(datatype in ['Voltage', 'Spectra', 'Fits']):
5790 if not(datatype in ['Voltage', 'Spectra', 'Fits']):
5751 outputstr = 'datatype = %s, this must be either Voltage, Spectra or SpectraHeis' % datatype
5791 outputstr = 'datatype = %s, this must be either Voltage, Spectra or SpectraHeis' % datatype
5752 self.console.append(outputstr)
5792 self.console.append(outputstr)
5753 parms_ok = False
5793 parms_ok = False
5754 datatype = None
5794 datatype = None
5755
5795
5756 ext = str(self.proDataType.text())
5796 ext = str(self.proDataType.text())
5757 if not(ext in ['.r', '.pdata', '.fits']):
5797 if not(ext in ['.r', '.pdata', '.fits']):
5758 outputstr = "extension files must be .r , .pdata or .fits"
5798 outputstr = "extension files must be .r , .pdata or .fits"
5759 self.console.append(outputstr)
5799 self.console.append(outputstr)
5760 parms_ok = False
5800 parms_ok = False
5761 ext = None
5801 ext = None
5762
5802
5763 data_path = str(self.proDataPath.text())
5803 data_path = str(self.proDataPath.text())
5764
5804
5765 if data_path == '':
5805 if data_path == '':
5766 outputstr = 'Datapath is empty'
5806 outputstr = 'Datapath is empty'
5767 self.console.append(outputstr)
5807 self.console.append(outputstr)
5768 parms_ok = False
5808 parms_ok = False
5769 data_path = None
5809 data_path = None
5770
5810
5771 if data_path != None:
5811 if data_path != None:
5772 if not os.path.exists(data_path):
5812 if not os.path.exists(data_path):
5773 outputstr = 'Datapath:%s does not exists' % data_path
5813 outputstr = 'Datapath:%s does not exists' % data_path
5774 self.console.append(outputstr)
5814 self.console.append(outputstr)
5775 parms_ok = False
5815 parms_ok = False
5776 data_path = None
5816 data_path = None
5777
5817
5778 read_mode = str(self.proComReadMode.currentText())
5818 read_mode = str(self.proComReadMode.currentText())
5779 if not(read_mode in ['Online', 'Offline']):
5819 if not(read_mode in ['Online', 'Offline']):
5780 outputstr = 'Read Mode: %s, this must be either Online or Offline' % read_mode
5820 outputstr = 'Read Mode: %s, this must be either Online or Offline' % read_mode
5781 self.console.append(outputstr)
5821 self.console.append(outputstr)
5782 parms_ok = False
5822 parms_ok = False
5783 read_mode = None
5823 read_mode = None
5784
5824
5785 try:
5825 try:
5786 delay = int(str(self.proDelay.text()))
5826 delay = int(str(self.proDelay.text()))
5787 except:
5827 except:
5788 outputstr = 'Delay: %s, this must be a integer number' % str(self.proName.text())
5828 outputstr = 'Delay: %s, this must be a integer number' % str(self.proName.text())
5789 self.console.append(outputstr)
5829 self.console.append(outputstr)
5790 parms_ok = False
5830 parms_ok = False
5791 delay = None
5831 delay = None
5792
5832
5793 try:
5833 try:
5794 set = int(str(self.proSet.text()))
5834 set = int(str(self.proSet.text()))
5795 except:
5835 except:
5796 # outputstr = 'Set: %s, this must be a integer number' % str(self.proName.text())
5836 # outputstr = 'Set: %s, this must be a integer number' % str(self.proName.text())
5797 # self.console.append(outputstr)
5837 # self.console.append(outputstr)
5798 # parms_ok = False
5838 # parms_ok = False
5799 set = None
5839 set = None
5800
5840
5801 walk_str = str(self.proComWalk.currentText())
5841 walk_str = str(self.proComWalk.currentText())
5802 if walk_str == 'On Files':
5842 if walk_str == 'On Files':
5803 walk = 0
5843 walk = 0
5804 elif walk_str == 'On Folder':
5844 elif walk_str == 'On Folder':
5805 walk = 1
5845 walk = 1
5806 else:
5846 else:
5807 outputstr = 'Walk: %s, this must be either On Files or On Folders' % walk_str
5847 outputstr = 'Walk: %s, this must be either On Files or On Folders' % walk_str
5808 self.console.append(outputstr)
5848 self.console.append(outputstr)
5809 parms_ok = False
5849 parms_ok = False
5810 walk = None
5850 walk = None
5811
5851
5812 return parms_ok, project_name, datatype, ext, data_path, read_mode, delay, walk, set
5852 return parms_ok, project_name, datatype, ext, data_path, read_mode, delay, walk, set
5813
5853
5814 def checkInputsPUSave(self, datatype):
5854 def checkInputsPUSave(self, datatype):
5815 """
5855 """
5816 Check Inputs Spectra Save:
5856 Check Inputs Spectra Save:
5817 - path
5857 - path
5818 - blocks Per File
5858 - blocks Per File
5819 - sufix
5859 - sufix
5820 - dataformat
5860 - dataformat
5821 """
5861 """
5822 parms_ok = True
5862 parms_ok = True
5823
5863
5824 if datatype == "Voltage":
5864 if datatype == "Voltage":
5825 output_path = str(self.volOutputPath.text())
5865 output_path = str(self.volOutputPath.text())
5826 blocksperfile = str(self.volOutputblocksperfile.text())
5866 blocksperfile = str(self.volOutputblocksperfile.text())
5827 profilesperblock = str(self.volOutputprofilesperblock.text())
5867 profilesperblock = str(self.volOutputprofilesperblock.text())
5828
5868
5829 if datatype == "Spectra":
5869 if datatype == "Spectra":
5830 output_path = str(self.specOutputPath.text())
5870 output_path = str(self.specOutputPath.text())
5831 blocksperfile = str(self.specOutputblocksperfile.text())
5871 blocksperfile = str(self.specOutputblocksperfile.text())
5832 profilesperblock = str(self.specOutputprofileperblock.text())
5872 profilesperblock = str(self.specOutputprofileperblock.text())
5833
5873
5834 if datatype == "SpectraHeis":
5874 if datatype == "SpectraHeis":
5835 output_path = str(self.specHeisOutputPath.text())
5875 output_path = str(self.specHeisOutputPath.text())
5836 blocksperfile = str(self.specHeisOutputblocksperfile.text())
5876 blocksperfile = str(self.specHeisOutputblocksperfile.text())
5837 metada = str(self.specHeisOutputMetada.text())
5877 metada = str(self.specHeisOutputMetada.text())
5838
5878
5839 if output_path == '':
5879 if output_path == '':
5840 outputstr = 'Outputpath is empty'
5880 outputstr = 'Outputpath is empty'
5841 self.console.append(outputstr)
5881 self.console.append(outputstr)
5842 parms_ok = False
5882 parms_ok = False
5843 data_path = None
5883 data_path = None
5844
5884
5845 if output_path != None:
5885 if output_path != None:
5846 if not os.path.exists(output_path):
5886 if not os.path.exists(output_path):
5847 outputstr = 'OutputPath:%s does not exists' % output_path
5887 outputstr = 'OutputPath:%s does not exists' % output_path
5848 self.console.append(outputstr)
5888 self.console.append(outputstr)
5849 parms_ok = False
5889 parms_ok = False
5850 output_path = None
5890 output_path = None
5851
5891
5852
5892
5853 try:
5893 try:
5854 profilesperblock = int(profilesperblock)
5894 profilesperblock = int(profilesperblock)
5855 except:
5895 except:
5856 if datatype == "Voltage":
5896 if datatype == "Voltage":
5857 outputstr = 'Profilesperblock: %s, this must be a integer number' % str(self.volOutputprofilesperblock.text())
5897 outputstr = 'Profilesperblock: %s, this must be a integer number' % str(self.volOutputprofilesperblock.text())
5858 self.console.append(outputstr)
5898 self.console.append(outputstr)
5859 parms_ok = False
5899 parms_ok = False
5860 profilesperblock = None
5900 profilesperblock = None
5861
5901
5862 elif datatype == "Spectra":
5902 elif datatype == "Spectra":
5863 outputstr = 'Profilesperblock: %s, this must be a integer number' % str(self.specOutputprofileperblock.text())
5903 outputstr = 'Profilesperblock: %s, this must be a integer number' % str(self.specOutputprofileperblock.text())
5864 self.console.append(outputstr)
5904 self.console.append(outputstr)
5865 parms_ok = False
5905 parms_ok = False
5866 profilesperblock = None
5906 profilesperblock = None
5867
5907
5868 try:
5908 try:
5869 blocksperfile = int(blocksperfile)
5909 blocksperfile = int(blocksperfile)
5870 except:
5910 except:
5871 if datatype == "Voltage":
5911 if datatype == "Voltage":
5872 outputstr = 'Blocksperfile: %s, this must be a integer number' % str(self.volOutputblocksperfile.text())
5912 outputstr = 'Blocksperfile: %s, this must be a integer number' % str(self.volOutputblocksperfile.text())
5873 elif datatype == "Spectra":
5913 elif datatype == "Spectra":
5874 outputstr = 'Blocksperfile: %s, this must be a integer number' % str(self.specOutputblocksperfile.text())
5914 outputstr = 'Blocksperfile: %s, this must be a integer number' % str(self.specOutputblocksperfile.text())
5875 elif datatype == "SpectraHeis":
5915 elif datatype == "SpectraHeis":
5876 outputstr = 'Blocksperfile: %s, this must be a integer number' % str(self.specHeisOutputblocksperfile.text())
5916 outputstr = 'Blocksperfile: %s, this must be a integer number' % str(self.specHeisOutputblocksperfile.text())
5877
5917
5878 self.console.append(outputstr)
5918 self.console.append(outputstr)
5879 parms_ok = False
5919 parms_ok = False
5880 blocksperfile = None
5920 blocksperfile = None
5881
5921
5882 if datatype == "SpectraHeis":
5922 if datatype == "SpectraHeis":
5883 if metada == '':
5923 if metada == '':
5884 outputstr = 'Choose metada file'
5924 outputstr = 'Choose metada file'
5885 self.console.append(outputstr)
5925 self.console.append(outputstr)
5886 parms_ok = False
5926 parms_ok = False
5887 if metada != None:
5927 if metada != None:
5888 if not os.path.isfile(metada):
5928 if not os.path.isfile(metada):
5889 outputstr = 'Metadata:%s does not exists' % metada
5929 outputstr = 'Metadata:%s does not exists' % metada
5890 self.console.append(outputstr)
5930 self.console.append(outputstr)
5891 parms_ok = False
5931 parms_ok = False
5892 output_path = None
5932 output_path = None
5893
5933
5894 if datatype == "Voltage":
5934 if datatype == "Voltage":
5895 return parms_ok, output_path, blocksperfile, profilesperblock
5935 return parms_ok, output_path, blocksperfile, profilesperblock
5896
5936
5897
5937
5898 if datatype == "Spectra":
5938 if datatype == "Spectra":
5899 return parms_ok, output_path, blocksperfile, profilesperblock
5939 return parms_ok, output_path, blocksperfile, profilesperblock
5900
5940
5901
5941
5902 if datatype == "SpectraHeis":
5942 if datatype == "SpectraHeis":
5903 return parms_ok, output_path, blocksperfile, metada
5943 return parms_ok, output_path, blocksperfile, metada
5904
5944
5905 def loadDays(self, data_path, ext, walk):
5945 def loadDays(self, data_path, ext, walk):
5906 """
5946 """
5907 Method to loads day
5947 Method to loads day
5908 """
5948 """
5909 dateList = self.searchData(data_path, ext, walk)
5949 dateList = self.searchData(data_path, ext, walk)
5910 if dateList == None:
5950 if dateList == None:
5911 self.console.clear()
5951 self.console.clear()
5912 outputstr = "The path: %s is empty with file extension *%s" % (data_path, ext)
5952 outputstr = "The path: %s is empty with file extension *%s" % (data_path, ext)
5913 self.console.append(outputstr)
5953 self.console.append(outputstr)
5914 return
5954 return
5915
5955
5916 self.dateList = dateList
5956 self.dateList = dateList
5917 for thisDate in dateList:
5957 for thisDate in dateList:
5918 self.proComStartDate.addItem(thisDate)
5958 self.proComStartDate.addItem(thisDate)
5919 self.proComEndDate.addItem(thisDate)
5959 self.proComEndDate.addItem(thisDate)
5920 self.proComEndDate.setCurrentIndex(self.proComStartDate.count() - 1)
5960 self.proComEndDate.setCurrentIndex(self.proComStartDate.count() - 1)
5921
5961
5922 def setWorkSpaceGUI(self, pathWorkSpace):
5962 def setWorkSpaceGUI(self, pathWorkSpace):
5923 self.pathWorkSpace = pathWorkSpace
5963 self.pathWorkSpace = pathWorkSpace
5924
5964
5925 """
5965 """
5926 Comandos Usados en Console
5966 Comandos Usados en Console
5927 """
5967 """
5928 def __del__(self):
5968 def __del__(self):
5929 sys.stdout = sys.__stdout__
5969 sys.stdout = sys.__stdout__
5930 sys.stderr = sys.__stderr__
5970 sys.stderr = sys.__stderr__
5931
5971
5932 def normalOutputWritten(self, text):
5972 def normalOutputWritten(self, text):
5933 self.console.append(text)
5973 self.console.append(text)
5934
5974
5935
5975
5936 def setParameter(self):
5976 def setParameter(self):
5937
5977
5938 self.setWindowTitle("ROJ-Signal Chain")
5978 self.setWindowTitle("ROJ-Signal Chain")
5939 self.setWindowIcon(QtGui.QIcon("schainpy/gui/figure/adn.jpg"))
5979 self.setWindowIcon(QtGui.QIcon("schainpy/gui/figure/adn.jpg"))
5940 sys.stdout = ShowMeConsole(textWritten=self.normalOutputWritten)
5980 sys.stdout = ShowMeConsole(textWritten=self.normalOutputWritten)
5941 # sys.stderr = ShowMeConsole(textWritten=self.normalOutputWritten)
5981 # sys.stderr = ShowMeConsole(textWritten=self.normalOutputWritten)
5942 self.tabWidgetProject.setEnabled(False)
5982 self.tabWidgetProject.setEnabled(False)
5943 self.tabVoltage.setEnabled(False)
5983 self.tabVoltage.setEnabled(False)
5944 self.tabSpectra.setEnabled(False)
5984 self.tabSpectra.setEnabled(False)
5945 self.tabCorrelation.setEnabled(False)
5985 self.tabCorrelation.setEnabled(False)
5946 self.frame_2.setEnabled(False)
5986 self.frame_2.setEnabled(False)
5947
5987
5948 self.actionCreate.setShortcut('Ctrl+N')
5988 self.actionCreate.setShortcut('Ctrl+N')
5949 self.actionStart.setShortcut('Ctrl+P')
5989 self.actionStart.setShortcut('Ctrl+P')
5950 self.actionSave.setShortcut('Ctrl+S')
5990 self.actionSave.setShortcut('Ctrl+S')
5951 self.actionClose.setShortcut('Ctrl+Q')
5991 self.actionClose.setShortcut('Ctrl+Q')
5952
5992
5953 self.actionStarToolbar.setEnabled(True)
5993 self.actionStarToolbar.setEnabled(True)
5954 self.actionPauseToolbar.setEnabled(False)
5994 self.actionPauseToolbar.setEnabled(False)
5955 self.actionStopToolbar.setEnabled(False)
5995 self.actionStopToolbar.setEnabled(False)
5956
5996
5957 self.proName.clear()
5997 self.proName.clear()
5958 self.proDataPath.setText('')
5998 self.proDataPath.setText('')
5959 self.console.setReadOnly(True)
5999 self.console.setReadOnly(True)
5960 self.console.append("Welcome to Signal Chain\nOpen a project or Create a new one")
6000 self.console.append("Welcome to Signal Chain\nOpen a project or Create a new one")
5961 self.proStartTime.setDisplayFormat("hh:mm:ss")
6001 self.proStartTime.setDisplayFormat("hh:mm:ss")
5962 self.proDataType.setEnabled(False)
6002 self.proDataType.setEnabled(False)
5963 self.time = QtCore.QTime()
6003 self.time = QtCore.QTime()
5964 self.hour = 0
6004 self.hour = 0
5965 self.min = 0
6005 self.min = 0
5966 self.sec = 0
6006 self.sec = 0
5967 self.proEndTime.setDisplayFormat("hh:mm:ss")
6007 self.proEndTime.setDisplayFormat("hh:mm:ss")
5968 startTime = "00:00:00"
6008 startTime = "00:00:00"
5969 endTime = "23:59:59"
6009 endTime = "23:59:59"
5970 starlist = startTime.split(":")
6010 starlist = startTime.split(":")
5971 endlist = endTime.split(":")
6011 endlist = endTime.split(":")
5972 self.time.setHMS(int(starlist[0]), int(starlist[1]), int(starlist[2]))
6012 self.time.setHMS(int(starlist[0]), int(starlist[1]), int(starlist[2]))
5973 self.proStartTime.setTime(self.time)
6013 self.proStartTime.setTime(self.time)
5974 self.time.setHMS(int(endlist[0]), int(endlist[1]), int(endlist[2]))
6014 self.time.setHMS(int(endlist[0]), int(endlist[1]), int(endlist[2]))
5975 self.proEndTime.setTime(self.time)
6015 self.proEndTime.setTime(self.time)
5976 self.proOk.setEnabled(False)
6016 self.proOk.setEnabled(False)
5977 # set model Project Explorer
6017 # set model Project Explorer
5978 self.projectExplorerModel = QtGui.QStandardItemModel()
6018 self.projectExplorerModel = QtGui.QStandardItemModel()
5979 self.projectExplorerModel.setHorizontalHeaderLabels(("Project Explorer",))
6019 self.projectExplorerModel.setHorizontalHeaderLabels(("Project Explorer",))
5980 layout = QtGui.QVBoxLayout()
6020 layout = QtGui.QVBoxLayout()
5981 layout.addWidget(self.projectExplorerTree)
6021 layout.addWidget(self.projectExplorerTree)
5982 self.projectExplorerTree.setModel(self.projectExplorerModel)
6022 self.projectExplorerTree.setModel(self.projectExplorerModel)
5983 self.projectExplorerTree.setContextMenuPolicy(QtCore.Qt.CustomContextMenu)
6023 self.projectExplorerTree.setContextMenuPolicy(QtCore.Qt.CustomContextMenu)
5984 self.projectExplorerTree.customContextMenuRequested.connect(self.on_right_click)
6024 self.projectExplorerTree.customContextMenuRequested.connect(self.on_right_click)
5985 self.projectExplorerTree.clicked.connect(self.on_click)
6025 self.projectExplorerTree.clicked.connect(self.on_click)
5986 self.projectExplorerTree.expandAll()
6026 self.projectExplorerTree.expandAll()
5987 # set model Project Properties
6027 # set model Project Properties
5988
6028
5989 self.propertiesModel = treeModel()
6029 self.propertiesModel = treeModel()
5990 self.propertiesModel.initProjectView()
6030 self.propertiesModel.initProjectView()
5991 self.treeProjectProperties.setModel(self.propertiesModel)
6031 self.treeProjectProperties.setModel(self.propertiesModel)
5992 self.treeProjectProperties.expandAll()
6032 self.treeProjectProperties.expandAll()
5993 self.treeProjectProperties.allColumnsShowFocus()
6033 self.treeProjectProperties.allColumnsShowFocus()
5994 self.treeProjectProperties.resizeColumnToContents(1)
6034 self.treeProjectProperties.resizeColumnToContents(1)
5995
6035
5996 # set Project
6036 # set Project
5997 self.proDelay.setEnabled(False)
6037 self.proDelay.setEnabled(False)
5998 self.proSet.setEnabled(False)
6038 self.proSet.setEnabled(False)
5999 self.proDataType.setReadOnly(True)
6039 self.proDataType.setReadOnly(True)
6000
6040
6001 # set Operation Voltage
6041 # set Operation Voltage
6002 self.volOpComChannels.setEnabled(False)
6042 self.volOpComChannels.setEnabled(False)
6003 self.volOpComHeights.setEnabled(False)
6043 self.volOpComHeights.setEnabled(False)
6004 self.volOpFilter.setEnabled(False)
6044 self.volOpFilter.setEnabled(False)
6005 self.volOpComProfile.setEnabled(False)
6045 self.volOpComProfile.setEnabled(False)
6006 self.volOpComCode.setEnabled(False)
6046 self.volOpComCode.setEnabled(False)
6007 self.volOpCohInt.setEnabled(False)
6047 self.volOpCohInt.setEnabled(False)
6008 self.volOpRadarfrequency.setEnabled(False)
6048 self.volOpRadarfrequency.setEnabled(False)
6009
6049
6010 self.volOpChannel.setEnabled(False)
6050 self.volOpChannel.setEnabled(False)
6011 self.volOpHeights.setEnabled(False)
6051 self.volOpHeights.setEnabled(False)
6012 self.volOpProfile.setEnabled(False)
6052 self.volOpProfile.setEnabled(False)
6013 self.volOpComMode.setEnabled(False)
6053 self.volOpComMode.setEnabled(False)
6014
6054
6015 self.volGraphPath.setEnabled(False)
6055 self.volGraphPath.setEnabled(False)
6016 self.volGraphPrefix.setEnabled(False)
6056 self.volGraphPrefix.setEnabled(False)
6017 self.volGraphToolPath.setEnabled(False)
6057 self.volGraphToolPath.setEnabled(False)
6018
6058
6019 # set Graph Voltage
6059 # set Graph Voltage
6020 self.volGraphChannelList.setEnabled(False)
6060 self.volGraphChannelList.setEnabled(False)
6021 self.volGraphfreqrange.setEnabled(False)
6061 self.volGraphfreqrange.setEnabled(False)
6022 self.volGraphHeightrange.setEnabled(False)
6062 self.volGraphHeightrange.setEnabled(False)
6023
6063
6024 # set Operation Spectra
6064 # set Operation Spectra
6025 self.specOpnFFTpoints.setEnabled(False)
6065 self.specOpnFFTpoints.setEnabled(False)
6026 self.specOpProfiles.setEnabled(False)
6066 self.specOpProfiles.setEnabled(False)
6027 self.specOpippFactor.setEnabled(False)
6067 self.specOpippFactor.setEnabled(False)
6028 self.specOppairsList.setEnabled(False)
6068 self.specOppairsList.setEnabled(False)
6029 self.specOpComChannel.setEnabled(False)
6069 self.specOpComChannel.setEnabled(False)
6030 self.specOpComHeights.setEnabled(False)
6070 self.specOpComHeights.setEnabled(False)
6031 self.specOpIncoherent.setEnabled(False)
6071 self.specOpIncoherent.setEnabled(False)
6032 self.specOpgetNoise.setEnabled(False)
6072 self.specOpgetNoise.setEnabled(False)
6033 self.specOpRadarfrequency.setEnabled(False)
6073 self.specOpRadarfrequency.setEnabled(False)
6034
6074
6035
6075
6036 self.specOpChannel.setEnabled(False)
6076 self.specOpChannel.setEnabled(False)
6037 self.specOpHeights.setEnabled(False)
6077 self.specOpHeights.setEnabled(False)
6038 # set Graph Spectra
6078 # set Graph Spectra
6039 self.specGgraphChannelList.setEnabled(False)
6079 self.specGgraphChannelList.setEnabled(False)
6040 self.specGgraphFreq.setEnabled(False)
6080 self.specGgraphFreq.setEnabled(False)
6041 self.specGgraphHeight.setEnabled(False)
6081 self.specGgraphHeight.setEnabled(False)
6042 self.specGgraphDbsrange.setEnabled(False)
6082 self.specGgraphDbsrange.setEnabled(False)
6043 self.specGgraphmagnitud.setEnabled(False)
6083 self.specGgraphmagnitud.setEnabled(False)
6044 self.specGgraphTminTmax.setEnabled(False)
6084 self.specGgraphTminTmax.setEnabled(False)
6045 self.specGgraphTimeRange.setEnabled(False)
6085 self.specGgraphTimeRange.setEnabled(False)
6046 self.specGraphPath.setEnabled(False)
6086 self.specGraphPath.setEnabled(False)
6047 self.specGraphToolPath.setEnabled(False)
6087 self.specGraphToolPath.setEnabled(False)
6048 self.specGraphPrefix.setEnabled(False)
6088 self.specGraphPrefix.setEnabled(False)
6049
6089
6050 self.specGgraphftpratio.setEnabled(False)
6090 self.specGgraphftpratio.setEnabled(False)
6051 # set Operation SpectraHeis
6091 # set Operation SpectraHeis
6052 self.specHeisOpIncoherent.setEnabled(False)
6092 self.specHeisOpIncoherent.setEnabled(False)
6053 self.specHeisOpCobIncInt.setEnabled(False)
6093 self.specHeisOpCobIncInt.setEnabled(False)
6054 # set Graph SpectraHeis
6094 # set Graph SpectraHeis
6055 self.specHeisGgraphChannelList.setEnabled(False)
6095 self.specHeisGgraphChannelList.setEnabled(False)
6056 self.specHeisGgraphXminXmax.setEnabled(False)
6096 self.specHeisGgraphXminXmax.setEnabled(False)
6057 self.specHeisGgraphYminYmax.setEnabled(False)
6097 self.specHeisGgraphYminYmax.setEnabled(False)
6058 self.specHeisGgraphTminTmax.setEnabled(False)
6098 self.specHeisGgraphTminTmax.setEnabled(False)
6059 self.specHeisGgraphTimeRange.setEnabled(False)
6099 self.specHeisGgraphTimeRange.setEnabled(False)
6060 self.specHeisGgraphftpratio.setEnabled(False)
6100 self.specHeisGgraphftpratio.setEnabled(False)
6061 self.specHeisGraphPath.setEnabled(False)
6101 self.specHeisGraphPath.setEnabled(False)
6062 self.specHeisGraphPrefix.setEnabled(False)
6102 self.specHeisGraphPrefix.setEnabled(False)
6063 self.specHeisGraphToolPath.setEnabled(False)
6103 self.specHeisGraphToolPath.setEnabled(False)
6064
6104
6065
6105
6066 # tool tip gui
6106 # tool tip gui
6067 QtGui.QToolTip.setFont(QtGui.QFont('SansSerif', 10))
6107 QtGui.QToolTip.setFont(QtGui.QFont('SansSerif', 10))
6068 self.projectExplorerTree.setToolTip('Right clik to add Project or Unit Process')
6108 self.projectExplorerTree.setToolTip('Right clik to add Project or Unit Process')
6069 # tool tip gui project
6109 # tool tip gui project
6070 self.proComWalk.setToolTip('<b>On Files</b>:<i>Search file in format .r or pdata</i> <b>On Folders</b>:<i>Search file in a directory DYYYYDOY</i>')
6110 self.proComWalk.setToolTip('<b>On Files</b>:<i>Search file in format .r or pdata</i> <b>On Folders</b>:<i>Search file in a directory DYYYYDOY</i>')
6071 self.proComWalk.setCurrentIndex(0)
6111 self.proComWalk.setCurrentIndex(0)
6072 # tool tip gui volOp
6112 # tool tip gui volOp
6073 self.volOpChannel.setToolTip('Example: 1,2,3,4,5')
6113 self.volOpChannel.setToolTip('Example: 1,2,3,4,5')
6074 self.volOpHeights.setToolTip('Example: 90,180')
6114 self.volOpHeights.setToolTip('Example: 90,180')
6075 self.volOpFilter.setToolTip('Example: 2')
6115 self.volOpFilter.setToolTip('Example: 2')
6076 self.volOpProfile.setToolTip('Example:0,127')
6116 self.volOpProfile.setToolTip('Example:0,127')
6077 self.volOpCohInt.setToolTip('Example: 128')
6117 self.volOpCohInt.setToolTip('Example: 128')
6078 self.volOpFlip.setToolTip('ChannelList where flip will be applied. Example: 0,2,3')
6118 self.volOpFlip.setToolTip('ChannelList where flip will be applied. Example: 0,2,3')
6079 self.volOpOk.setToolTip('If you have finished, please Ok ')
6119 self.volOpOk.setToolTip('If you have finished, please Ok ')
6080 # tool tip gui volGraph
6120 # tool tip gui volGraph
6081 self.volGraphfreqrange.setToolTip('Example: -30,30')
6121 self.volGraphfreqrange.setToolTip('Example: -30,30')
6082 self.volGraphHeightrange.setToolTip('Example: 20,180')
6122 self.volGraphHeightrange.setToolTip('Example: 20,180')
6083 # tool tip gui specOp
6123 # tool tip gui specOp
6084 self.specOpnFFTpoints.setToolTip('Example: 128')
6124 self.specOpnFFTpoints.setToolTip('Example: 128')
6085 self.specOpProfiles.setToolTip('Example: 128')
6125 self.specOpProfiles.setToolTip('Example: 128')
6086 self.specOpippFactor.setToolTip('Example:1.0')
6126 self.specOpippFactor.setToolTip('Example:1.0')
6087 self.specOpIncoherent.setToolTip('Example: 10')
6127 self.specOpIncoherent.setToolTip('Example: 10')
6088 self.specOpgetNoise.setToolTip('Example:20,180,30,120 (minHei,maxHei,minVel,maxVel)')
6128 self.specOpgetNoise.setToolTip('Example:20,180,30,120 (minHei,maxHei,minVel,maxVel)')
6089
6129
6090 self.specOpChannel.setToolTip('Example: 0,1,2,3')
6130 self.specOpChannel.setToolTip('Example: 0,1,2,3')
6091 self.specOpHeights.setToolTip('Example: 90,180')
6131 self.specOpHeights.setToolTip('Example: 90,180')
6092 self.specOppairsList.setToolTip('Example: (0,1),(2,3)')
6132 self.specOppairsList.setToolTip('Example: (0,1),(2,3)')
6093 # tool tip gui specGraph
6133 # tool tip gui specGraph
6094
6134
6095 self.specGgraphChannelList.setToolTip('Example: 0,3,4')
6135 self.specGgraphChannelList.setToolTip('Example: 0,3,4')
6096 self.specGgraphFreq.setToolTip('Example: -20,20')
6136 self.specGgraphFreq.setToolTip('Example: -20,20')
6097 self.specGgraphHeight.setToolTip('Example: 100,400')
6137 self.specGgraphHeight.setToolTip('Example: 100,400')
6098 self.specGgraphDbsrange.setToolTip('Example: 30,170')
6138 self.specGgraphDbsrange.setToolTip('Example: 30,170')
6099
6139
6100 self.specGraphPrefix.setToolTip('Example: EXPERIMENT_NAME')
6140 self.specGraphPrefix.setToolTip('Example: EXPERIMENT_NAME')
6101
6141
6102 def closeEvent(self, event):
6103 self.closed.emit()
6104 event.accept()
6105
6142
6106 class UnitProcessWindow(QMainWindow, Ui_UnitProcess):
6143 class UnitProcessWindow(QMainWindow, Ui_UnitProcess):
6107 """
6144 """
6108 Class documentation goes here.
6145 Class documentation goes here.
6109 """
6146 """
6110 closed = pyqtSignal()
6147 closed = pyqtSignal()
6111 create = False
6148 create = False
6112
6149
6113 def __init__(self, parent=None):
6150 def __init__(self, parent=None):
6114 """
6151 """
6115 Constructor
6152 Constructor
6116 """
6153 """
6117 QMainWindow.__init__(self, parent)
6154 QMainWindow.__init__(self, parent)
6118 self.setupUi(self)
6155 self.setupUi(self)
6119 self.getFromWindow = None
6156 self.getFromWindow = None
6120 self.getfromWindowList = []
6157 self.getfromWindowList = []
6121 self.dataTypeProject = None
6158 self.dataTypeProject = None
6122
6159
6123 self.listUP = None
6160 self.listUP = None
6124
6161
6125 @pyqtSignature("")
6162 @pyqtSignature("")
6126 def on_unitPokbut_clicked(self):
6163 def on_unitPokbut_clicked(self):
6127 """
6164 """
6128 Slot documentation goes here.
6165 Slot documentation goes here.
6129 """
6166 """
6130 self.create = True
6167 self.create = True
6131 self.getFromWindow = self.getfromWindowList[int(self.comboInputBox.currentIndex())]
6168 self.getFromWindow = self.getfromWindowList[int(self.comboInputBox.currentIndex())]
6132 # self.nameofUP= str(self.nameUptxt.text())
6169 # self.nameofUP= str(self.nameUptxt.text())
6133 self.typeofUP = str(self.comboTypeBox.currentText())
6170 self.typeofUP = str(self.comboTypeBox.currentText())
6134 self.close()
6171 self.close()
6135
6172
6136
6173
6137 @pyqtSignature("")
6174 @pyqtSignature("")
6138 def on_unitPcancelbut_clicked(self):
6175 def on_unitPcancelbut_clicked(self):
6139 """
6176 """
6140 Slot documentation goes here.
6177 Slot documentation goes here.
6141 """
6178 """
6142 self.create = False
6179 self.create = False
6143 self.close()
6180 self.close()
6144
6181
6145 def loadTotalList(self):
6182 def loadTotalList(self):
6146 self.comboInputBox.clear()
6183 self.comboInputBox.clear()
6147 for i in self.getfromWindowList:
6184 for i in self.getfromWindowList:
6148
6185
6149 name = i.getElementName()
6186 name = i.getElementName()
6150 if name == 'Project':
6187 if name == 'Project':
6151 id = i.id
6188 id = i.id
6152 name = i.name
6189 name = i.name
6153 if self.dataTypeProject == 'Voltage':
6190 if self.dataTypeProject == 'Voltage':
6154 self.comboTypeBox.clear()
6191 self.comboTypeBox.clear()
6155 self.comboTypeBox.addItem("Voltage")
6192 self.comboTypeBox.addItem("Voltage")
6156
6193
6157 if self.dataTypeProject == 'Spectra':
6194 if self.dataTypeProject == 'Spectra':
6158 self.comboTypeBox.clear()
6195 self.comboTypeBox.clear()
6159 self.comboTypeBox.addItem("Spectra")
6196 self.comboTypeBox.addItem("Spectra")
6160 self.comboTypeBox.addItem("Correlation")
6197 self.comboTypeBox.addItem("Correlation")
6161 if self.dataTypeProject == 'Fits':
6198 if self.dataTypeProject == 'Fits':
6162 self.comboTypeBox.clear()
6199 self.comboTypeBox.clear()
6163 self.comboTypeBox.addItem("SpectraHeis")
6200 self.comboTypeBox.addItem("SpectraHeis")
6164
6201
6165
6202
6166 if name == 'ProcUnit':
6203 if name == 'ProcUnit':
6167 id = int(i.id) - 1
6204 id = int(i.id) - 1
6168 name = i.datatype
6205 name = i.datatype
6169 if name == 'Voltage':
6206 if name == 'Voltage':
6170 self.comboTypeBox.clear()
6207 self.comboTypeBox.clear()
6171 self.comboTypeBox.addItem("Spectra")
6208 self.comboTypeBox.addItem("Spectra")
6172 self.comboTypeBox.addItem("SpectraHeis")
6209 self.comboTypeBox.addItem("SpectraHeis")
6173 self.comboTypeBox.addItem("Correlation")
6210 self.comboTypeBox.addItem("Correlation")
6174 if name == 'Spectra':
6211 if name == 'Spectra':
6175 self.comboTypeBox.clear()
6212 self.comboTypeBox.clear()
6176 self.comboTypeBox.addItem("Spectra")
6213 self.comboTypeBox.addItem("Spectra")
6177 self.comboTypeBox.addItem("SpectraHeis")
6214 self.comboTypeBox.addItem("SpectraHeis")
6178 self.comboTypeBox.addItem("Correlation")
6215 self.comboTypeBox.addItem("Correlation")
6179 if name == 'SpectraHeis':
6216 if name == 'SpectraHeis':
6180 self.comboTypeBox.clear()
6217 self.comboTypeBox.clear()
6181 self.comboTypeBox.addItem("SpectraHeis")
6218 self.comboTypeBox.addItem("SpectraHeis")
6182
6219
6183 self.comboInputBox.addItem(str(name))
6220 self.comboInputBox.addItem(str(name))
6184 # self.comboInputBox.addItem(str(name)+str(id))
6221 # self.comboInputBox.addItem(str(name)+str(id))
6185
6222
6186 def closeEvent(self, event):
6223 def closeEvent(self, event):
6187 self.closed.emit()
6224 self.closed.emit()
6188 event.accept()
6225 event.accept()
6189
6226
6190 class Ftp(QMainWindow, Ui_Ftp):
6227 class Ftp(QMainWindow, Ui_Ftp):
6191 """
6228 """
6192 Class documentation goes here.
6229 Class documentation goes here.
6193 """
6230 """
6194 create = False
6231 create = False
6195 closed = pyqtSignal()
6232 closed = pyqtSignal()
6196 server = None
6233 server = None
6197 folder = None
6234 folder = None
6198 username = None
6235 username = None
6199 password = None
6236 password = None
6200 ftp_wei = None
6237 ftp_wei = None
6201 exp_code = None
6238 exp_code = None
6202 sub_exp_code = None
6239 sub_exp_code = None
6203 plot_pos = None
6240 plot_pos = None
6204
6241
6205 def __init__(self, parent=None):
6242 def __init__(self, parent=None):
6206 """
6243 """
6207 Constructor
6244 Constructor
6208 """
6245 """
6209 QMainWindow.__init__(self, parent)
6246 QMainWindow.__init__(self, parent)
6210 self.setupUi(self)
6247 self.setupUi(self)
6211 self.setParameter()
6248 self.setParameter()
6212
6249
6213 def setParameter(self):
6250 def setParameter(self):
6214 self.setWindowTitle("ROJ-Signal Chain")
6251 self.setWindowTitle("ROJ-Signal Chain")
6215 self.serverFTP.setToolTip('Example: jro-app.igp.gob.pe')
6252 self.serverFTP.setToolTip('Example: jro-app.igp.gob.pe')
6216 self.folderFTP.setToolTip('Example: /home/wmaster/graficos')
6253 self.folderFTP.setToolTip('Example: /home/wmaster/graficos')
6217 self.usernameFTP.setToolTip('Example: myusername')
6254 self.usernameFTP.setToolTip('Example: myusername')
6218 self.passwordFTP.setToolTip('Example: mypass ')
6255 self.passwordFTP.setToolTip('Example: mypass ')
6219 self.weightFTP.setToolTip('Example: 0')
6256 self.weightFTP.setToolTip('Example: 0')
6220 self.expcodeFTP.setToolTip('Example: 0')
6257 self.expcodeFTP.setToolTip('Example: 0')
6221 self.subexpFTP.setToolTip('Example: 0')
6258 self.subexpFTP.setToolTip('Example: 0')
6222 self.plotposFTP.setToolTip('Example: 0')
6259 self.plotposFTP.setToolTip('Example: 0')
6223
6260
6224 def setParmsfromTemporal(self, server, folder, username, password, ftp_wei, exp_code, sub_exp_code, plot_pos):
6261 def setParmsfromTemporal(self, server, folder, username, password, ftp_wei, exp_code, sub_exp_code, plot_pos):
6225 self.serverFTP.setText(str(server))
6262 self.serverFTP.setText(str(server))
6226 self.folderFTP.setText(str(folder))
6263 self.folderFTP.setText(str(folder))
6227 self.usernameFTP.setText(str(username))
6264 self.usernameFTP.setText(str(username))
6228 self.passwordFTP.setText(str(password))
6265 self.passwordFTP.setText(str(password))
6229 self.weightFTP.setText(str(ftp_wei))
6266 self.weightFTP.setText(str(ftp_wei))
6230 self.expcodeFTP.setText(str(exp_code))
6267 self.expcodeFTP.setText(str(exp_code))
6231 self.subexpFTP.setText(str(sub_exp_code))
6268 self.subexpFTP.setText(str(sub_exp_code))
6232 self.plotposFTP.setText(str(plot_pos))
6269 self.plotposFTP.setText(str(plot_pos))
6233
6270
6234 def getParmsFromFtpWindow(self):
6271 def getParmsFromFtpWindow(self):
6235 """
6272 """
6236 Return Inputs Project:
6273 Return Inputs Project:
6237 - server
6274 - server
6238 - folder
6275 - folder
6239 - username
6276 - username
6240 - password
6277 - password
6241 - ftp_wei
6278 - ftp_wei
6242 - exp_code
6279 - exp_code
6243 - sub_exp_code
6280 - sub_exp_code
6244 - plot_pos
6281 - plot_pos
6245 """
6282 """
6246 name_server_ftp = str(self.serverFTP.text())
6283 name_server_ftp = str(self.serverFTP.text())
6247 try:
6284 try:
6248 name = str(self.serverFTP.text())
6285 name = str(self.serverFTP.text())
6249 except:
6286 except:
6250 self.console.clear()
6287 self.console.clear()
6251 self.console.append("Please Write a FTP Server")
6288 self.console.append("Please Write a FTP Server")
6252 return 0
6289 return 0
6253
6290
6254 folder_server_ftp = str(self.folderFTP.text())
6291 folder_server_ftp = str(self.folderFTP.text())
6255 try:
6292 try:
6256 folder = str(self.folderFTP.text())
6293 folder = str(self.folderFTP.text())
6257 except:
6294 except:
6258 self.console.clear()
6295 self.console.clear()
6259 self.console.append("Please Write a Folder")
6296 self.console.append("Please Write a Folder")
6260 return 0
6297 return 0
6261
6298
6262 username_ftp = str(self.usernameFTP.text())
6299 username_ftp = str(self.usernameFTP.text())
6263 try:
6300 try:
6264 username = str(self.usernameFTP.text())
6301 username = str(self.usernameFTP.text())
6265 except:
6302 except:
6266 self.console.clear()
6303 self.console.clear()
6267 self.console.append("Please Write a User Name")
6304 self.console.append("Please Write a User Name")
6268 return 0
6305 return 0
6269
6306
6270 password_ftp = str(self.passwordFTP.text())
6307 password_ftp = str(self.passwordFTP.text())
6271 try:
6308 try:
6272 password = str(self.passwordFTP.text())
6309 password = str(self.passwordFTP.text())
6273 except:
6310 except:
6274 self.console.clear()
6311 self.console.clear()
6275 self.console.append("Please Write a passwordFTP")
6312 self.console.append("Please Write a passwordFTP")
6276 return 0
6313 return 0
6277
6314
6278 ftp_wei = self.weightFTP.text()
6315 ftp_wei = self.weightFTP.text()
6279 if not ftp_wei == "":
6316 if not ftp_wei == "":
6280 try:
6317 try:
6281 ftp_wei = int(self.weightFTP.text())
6318 ftp_wei = int(self.weightFTP.text())
6282 except:
6319 except:
6283 self.console.clear()
6320 self.console.clear()
6284 self.console.append("Please Write a ftp_wei number")
6321 self.console.append("Please Write a ftp_wei number")
6285 return 0
6322 return 0
6286
6323
6287 exp_code = self.expcodeFTP.text()
6324 exp_code = self.expcodeFTP.text()
6288 if not exp_code == "":
6325 if not exp_code == "":
6289 try:
6326 try:
6290 exp_code = int(self.expcodeFTP.text())
6327 exp_code = int(self.expcodeFTP.text())
6291 except:
6328 except:
6292 self.console.clear()
6329 self.console.clear()
6293 self.console.append("Please Write a exp_code number")
6330 self.console.append("Please Write a exp_code number")
6294 return 0
6331 return 0
6295
6332
6296
6333
6297 sub_exp_code = self.subexpFTP.text()
6334 sub_exp_code = self.subexpFTP.text()
6298 if not sub_exp_code == "":
6335 if not sub_exp_code == "":
6299 try:
6336 try:
6300 sub_exp_code = int(self.subexpFTP.text())
6337 sub_exp_code = int(self.subexpFTP.text())
6301 except:
6338 except:
6302 self.console.clear()
6339 self.console.clear()
6303 self.console.append("Please Write a sub_exp_code number")
6340 self.console.append("Please Write a sub_exp_code number")
6304 return 0
6341 return 0
6305
6342
6306 plot_pos = self.plotposFTP.text()
6343 plot_pos = self.plotposFTP.text()
6307 if not plot_pos == "":
6344 if not plot_pos == "":
6308 try:
6345 try:
6309 plot_pos = int(self.plotposFTP.text())
6346 plot_pos = int(self.plotposFTP.text())
6310 except:
6347 except:
6311 self.console.clear()
6348 self.console.clear()
6312 self.console.append("Please Write a plot_pos number")
6349 self.console.append("Please Write a plot_pos number")
6313 return 0
6350 return 0
6314
6351
6315 return name_server_ftp, folder_server_ftp, username_ftp, password_ftp, ftp_wei, exp_code, sub_exp_code, plot_pos
6352 return name_server_ftp, folder_server_ftp, username_ftp, password_ftp, ftp_wei, exp_code, sub_exp_code, plot_pos
6316
6353
6317 @pyqtSignature("")
6354 @pyqtSignature("")
6318 def on_ftpOkButton_clicked(self):
6355 def on_ftpOkButton_clicked(self):
6319 server, folder, username, password, ftp_wei, exp_code, sub_exp_code, plot_pos = self.getParmsFromFtpWindow()
6356 server, folder, username, password, ftp_wei, exp_code, sub_exp_code, plot_pos = self.getParmsFromFtpWindow()
6320 self.create = True
6357 self.create = True
6321 self.close()
6358 self.close()
6322
6359
6323 @pyqtSignature("")
6360 @pyqtSignature("")
6324 def on_ftpCancelButton_clicked(self):
6361 def on_ftpCancelButton_clicked(self):
6325 self.create = False
6362 self.create = False
6326 self.close()
6363 self.close()
6327
6364
6328 def closeEvent(self, event):
6365 def closeEvent(self, event):
6329 self.closed.emit()
6366 self.closed.emit()
6330 event.accept()
6367 event.accept()
6331
6368
6332 class ftpBuffer():
6369 class ftpBuffer():
6333 server = None
6370 server = None
6334 folder = None
6371 folder = None
6335 username = None
6372 username = None
6336 password = None
6373 password = None
6337 ftp_wei = None
6374 ftp_wei = None
6338 exp_code = None
6375 exp_code = None
6339 sub_exp_code = None
6376 sub_exp_code = None
6340 plot_pos = None
6377 plot_pos = None
6341 create = False
6378 create = False
6342 withoutconfig = False
6379 withoutconfig = False
6343 createforView = False
6380 createforView = False
6344 localfolder = None
6381 localfolder = None
6345 extension = None
6382 extension = None
6346 period = None
6383 period = None
6347 protocol = None
6384 protocol = None
6348
6385
6349 def __init__(self):
6386 def __init__(self):
6350
6387
6351 self.create = False
6388 self.create = False
6352 self.server = None
6389 self.server = None
6353 self.folder = None
6390 self.folder = None
6354 self.username = None
6391 self.username = None
6355 self.password = None
6392 self.password = None
6356 self.ftp_wei = None
6393 self.ftp_wei = None
6357 self.exp_code = None
6394 self.exp_code = None
6358 self.sub_exp_code = None
6395 self.sub_exp_code = None
6359 self.plot_pos = None
6396 self.plot_pos = None
6360 # self.create = False
6397 # self.create = False
6361 self.localfolder = None
6398 self.localfolder = None
6362 self.extension = None
6399 self.extension = None
6363 self.period = None
6400 self.period = None
6364 self.protocol = None
6401 self.protocol = None
6365
6402
6366 def setwithoutconfiguration(self):
6403 def setwithoutconfiguration(self):
6367
6404
6368 self.create = False
6405 self.create = False
6369 self.server = "jro-app.igp.gob.pe"
6406 self.server = "jro-app.igp.gob.pe"
6370 self.folder = "/home/wmaster/graficos"
6407 self.folder = "/home/wmaster/graficos"
6371 self.username = "wmaster"
6408 self.username = "wmaster"
6372 self.password = "mst2010vhf"
6409 self.password = "mst2010vhf"
6373 self.ftp_wei = "0"
6410 self.ftp_wei = "0"
6374 self.exp_code = "0"
6411 self.exp_code = "0"
6375 self.sub_exp_code = "0"
6412 self.sub_exp_code = "0"
6376 self.plot_pos = "0"
6413 self.plot_pos = "0"
6377 self.withoutconfig = True
6414 self.withoutconfig = True
6378 self.localfolder = './'
6415 self.localfolder = './'
6379 self.extension = '.png'
6416 self.extension = '.png'
6380 self.period = '60'
6417 self.period = '60'
6381 self.protocol = 'ftp'
6418 self.protocol = 'ftp'
6419 self.createforView = True
6382
6420
6383 def save(self, server, folder, username, password, ftp_wei, exp_code, sub_exp_code, plot_pos, localfolder='./', extension='.png', period='60', protocol='ftp'):
6421 def save(self, server, folder, username, password, ftp_wei, exp_code, sub_exp_code, plot_pos, localfolder='./', extension='.png', period='60', protocol='ftp'):
6384
6422
6385 self.server = server
6423 self.server = server
6386 self.folder = folder
6424 self.folder = folder
6387 self.username = username
6425 self.username = username
6388 self.password = password
6426 self.password = password
6389 self.ftp_wei = ftp_wei
6427 self.ftp_wei = ftp_wei
6390 self.exp_code = exp_code
6428 self.exp_code = exp_code
6391 self.sub_exp_code = sub_exp_code
6429 self.sub_exp_code = sub_exp_code
6392 self.plot_pos = plot_pos
6430 self.plot_pos = plot_pos
6393 self.create = True
6431 self.create = True
6394 self.withoutconfig = False
6432 self.withoutconfig = False
6395 self.createforView = True
6433 self.createforView = True
6396 self.localfolder = localfolder
6434 self.localfolder = localfolder
6397
6435
6398
6436
6399 def recover(self):
6437 def recover(self):
6400
6438
6401 return self.server, self.folder, self.username, self.password, self.ftp_wei, self.exp_code, self.sub_exp_code, self.plot_pos
6439 return self.server, self.folder, self.username, self.password, self.ftp_wei, self.exp_code, self.sub_exp_code, self.plot_pos
6402
6440
6403 class ShowMeConsole(QtCore.QObject):
6441 class ShowMeConsole(QtCore.QObject):
6404 textWritten = QtCore.pyqtSignal(str)
6442 textWritten = QtCore.pyqtSignal(str)
6405 def write (self, text):
6443 def write (self, text):
6406 self.textWritten.emit(str(text))
6444 self.textWritten.emit(str(text))
6407
6445
6408 class PlotManager():
6446 class PlotManager():
6409 def __init__(self, queue):
6447 def __init__(self, queue):
6410 self.queue = queue
6448 self.queue = queue
6411 self.objPlotDict = {}
6449 self.objPlotDict = {}
6412
6450
6413 def processIncoming(self):
6451 def processIncoming(self):
6414 while self.queue.qsize():
6452 while self.queue.qsize():
6415 try:
6453 try:
6416 dataFromQueue = self.queue.get(True)
6454 dataFromQueue = self.queue.get(True)
6417 if dataFromQueue == None:
6455 if dataFromQueue == None:
6418 continue
6456 continue
6419
6457
6420 dataPlot = dataFromQueue['data']
6458 dataPlot = dataFromQueue['data']
6421 kwargs = dataFromQueue['kwargs']
6459 kwargs = dataFromQueue['kwargs']
6422 id = kwargs['id']
6460 id = kwargs['id']
6423 if 'channelList' in kwargs.keys():
6461 if 'channelList' in kwargs.keys():
6424 channelList = kwargs['channelList']
6462 channelList = kwargs['channelList']
6425 else:
6463 else:
6426 channelList = None
6464 channelList = None
6427 plotname = kwargs.pop('type')
6465 plotname = kwargs.pop('type')
6428
6466
6429 if not(id in self.objPlotDict.keys()):
6467 if not(id in self.objPlotDict.keys()):
6430 className = eval(plotname)
6468 className = eval(plotname)
6431 self.objPlotDict[id] = className(id, channelList, dataPlot)
6469 self.objPlotDict[id] = className(id, channelList, dataPlot)
6432 self.objPlotDict[id].show()
6470 self.objPlotDict[id].show()
6433
6471
6434 self.objPlotDict[id].run(dataPlot , **kwargs)
6472 self.objPlotDict[id].run(dataPlot , **kwargs)
6435
6473
6436 except Queue.Empty:
6474 except Queue.Empty:
6437 pass
6475 pass
6438
6476
6439
6477
@@ -1,949 +1,949
1 '''
1 '''
2 @author: Daniel Suarez
2 @author: Daniel Suarez
3 '''
3 '''
4 import os
4 import os
5 import glob
5 import glob
6 import ftplib
6 import ftplib
7
7
8 try:
8 try:
9 import paramiko
9 import paramiko
10 import scp
10 import scp
11 except:
11 except:
12 print "You should install paramiko if you will use SSH protocol to upload files to a server"
12 print "You should install paramiko if you will use SSH protocol to upload files to a server"
13
13
14 import multiprocessing
14 import multiprocessing
15
15
16 import time
16 import time
17 import threading
17 import threading
18
18
19
19
20 try:
20 try:
21 from gevent import sleep
21 from gevent import sleep
22 except:
22 except:
23 from time import sleep
23 from time import sleep
24
24
25 from schainpy.model.proc.jroproc_base import ProcessingUnit, Operation
25 from schainpy.model.proc.jroproc_base import ProcessingUnit, Operation
26
26
27 class Remote(threading.Thread):
27 class Remote(threading.Thread):
28 """
28 """
29 Remote is a parent class used to define the behaviour of FTP and SSH class. These clases are
29 Remote is a parent class used to define the behaviour of FTP and SSH class. These clases are
30 used to upload or download files remotely.
30 used to upload or download files remotely.
31
31
32 Non-standard Python modules used:
32 Non-standard Python modules used:
33 None
33 None
34
34
35 Written by:
35 Written by:
36
36
37 "Miguel Urco":mailto:miguel.urco@jro.igp.gob.pe Jun. 03, 2015
37 "Miguel Urco":mailto:miguel.urco@jro.igp.gob.pe Jun. 03, 2015
38
38
39 """
39 """
40
40
41 server = None
41 server = None
42 username = None
42 username = None
43 password = None
43 password = None
44 remotefolder = None
44 remotefolder = None
45
45
46 period = 60
46 period = 60
47 fileList = []
47 fileList = []
48 bussy = False
48 bussy = False
49
49
50 def __init__(self, server, username, password, remotefolder, period=60):
50 def __init__(self, server, username, password, remotefolder, period=60):
51
51
52 threading.Thread.__init__(self)
52 threading.Thread.__init__(self)
53 self._stop = threading.Event()
53 self._stop = threading.Event()
54
54
55 self.status = 0
55 self.status = 0
56
56
57 self.period = period
57 self.period = period
58 self.fileList = []
58 self.fileList = []
59 self.bussy = False
59 self.bussy = False
60
60
61 self.stopFlag = False
61 self.stopFlag = False
62
62
63 print "[Remote Server] Opening server: %s" %server
63 print "[Remote Server] Opening server: %s" %server
64 if self.open(server, username, password, remotefolder):
64 if self.open(server, username, password, remotefolder):
65 print "[Remote Server] %s server was opened successfully" %server
65 print "[Remote Server] %s server was opened successfully" %server
66
66
67 def stop(self):
67 def stop(self):
68
68
69 self.stopFlag = True
69 self.stopFlag = True
70
70
71 def open(self):
71 def open(self):
72 """
72 """
73 Connect to server and create a connection class (FTP or SSH) to remote server.
73 Connect to server and create a connection class (FTP or SSH) to remote server.
74 """
74 """
75 raise NotImplementedError, "Implement this method in child class"
75 raise NotImplementedError, "Implement this method in child class"
76
76
77 def close(self):
77 def close(self):
78 """
78 """
79 Close connection to server
79 Close connection to server
80 """
80 """
81 raise NotImplementedError, "Implement this method in child class"
81 raise NotImplementedError, "Implement this method in child class"
82
82
83 def mkdir(self, remotefolder):
83 def mkdir(self, remotefolder):
84 """
84 """
85 Create a folder remotely
85 Create a folder remotely
86 """
86 """
87 raise NotImplementedError, "Implement this method in child class"
87 raise NotImplementedError, "Implement this method in child class"
88
88
89 def cd(self, remotefolder):
89 def cd(self, remotefolder):
90 """
90 """
91 Change working directory in remote server
91 Change working directory in remote server
92 """
92 """
93 raise NotImplementedError, "Implement this method in child class"
93 raise NotImplementedError, "Implement this method in child class"
94
94
95 def download(self, filename, localfolder=None):
95 def download(self, filename, localfolder=None):
96 """
96 """
97 Download a file from server to local host
97 Download a file from server to local host
98 """
98 """
99 raise NotImplementedError, "Implement this method in child class"
99 raise NotImplementedError, "Implement this method in child class"
100
100
101 def sendFile(self, fullfilename):
101 def sendFile(self, fullfilename):
102 """
102 """
103 sendFile method is used to upload a local file to the current directory in remote server
103 sendFile method is used to upload a local file to the current directory in remote server
104
104
105 Inputs:
105 Inputs:
106 fullfilename - full path name of local file to store in remote directory
106 fullfilename - full path name of local file to store in remote directory
107
107
108 Returns:
108 Returns:
109 0 in error case else 1
109 0 in error case else 1
110 """
110 """
111 raise NotImplementedError, "Implement this method in child class"
111 raise NotImplementedError, "Implement this method in child class"
112
112
113 def upload(self, fullfilename, remotefolder=None):
113 def upload(self, fullfilename, remotefolder=None):
114 """
114 """
115 upload method is used to upload a local file to remote directory. This method changes
115 upload method is used to upload a local file to remote directory. This method changes
116 working directory before sending a file.
116 working directory before sending a file.
117
117
118 Inputs:
118 Inputs:
119 fullfilename - full path name of local file to store in remote directory
119 fullfilename - full path name of local file to store in remote directory
120
120
121 remotefolder - remote directory
121 remotefolder - remote directory
122
122
123 Returns:
123 Returns:
124 0 in error case else 1
124 0 in error case else 1
125 """
125 """
126 print "[Remote Server] Uploading %s to %s:%s" %(fullfilename, self.server, self.remotefolder)
126 print "[Remote Server] Uploading %s to %s:%s" %(fullfilename, self.server, self.remotefolder)
127
127
128 if not self.status:
128 if not self.status:
129 return 0
129 return 0
130
130
131 if remotefolder == None:
131 if remotefolder == None:
132 remotefolder = self.remotefolder
132 remotefolder = self.remotefolder
133
133
134 if not self.cd(remotefolder):
134 if not self.cd(remotefolder):
135 return 0
135 return 0
136
136
137 if not self.sendFile(fullfilename):
137 if not self.sendFile(fullfilename):
138 print "[Remote Server] Error uploading file %s" %fullfilename
138 print "[Remote Server] Error uploading file %s" %fullfilename
139 return 0
139 return 0
140
140
141 print "[Remote Server] upload finished successfully"
141 print "[Remote Server] upload finished successfully"
142
142
143 return 1
143 return 1
144
144
145 def delete(self, filename):
145 def delete(self, filename):
146 """
146 """
147 Remove a file from remote server
147 Remove a file from remote server
148 """
148 """
149 pass
149 pass
150
150
151 def updateFileList(self, fileList):
151 def updateFileList(self, fileList):
152 """
152 """
153 Remove a file from remote server
153 Remove a file from remote server
154 """
154 """
155
155
156 if fileList == self.fileList:
156 if fileList == self.fileList:
157 return 1
157 return 1
158
158
159 init = time.time()
159 init = time.time()
160
160
161 while(self.bussy):
161 while(self.bussy):
162 sleep(0.1)
162 sleep(0.1)
163 if time.time() - init > 2*self.period:
163 if time.time() - init > 2*self.period:
164 return 0
164 return 0
165
165
166 self.fileList = fileList
166 self.fileList = fileList
167
167
168 return 1
168 return 1
169
169
170 def run(self):
170 def run(self):
171
171
172 if not self.status:
172 if not self.status:
173 print "Finishing FTP service"
173 print "Finishing FTP service"
174 return
174 return
175
175
176 if not self.cd(self.remotefolder):
176 if not self.cd(self.remotefolder):
177 raise ValueError, "Could not access to the new remote directory: %s" %self.remotefolder
177 raise ValueError, "Could not access to the new remote directory: %s" %self.remotefolder
178
178
179 sts = True
179 sts = True
180
180
181 while True:
181 while True:
182
182
183 sleep(self.period)
183 sleep(self.period)
184
184
185 self.bussy = True
185 self.bussy = True
186
186
187 for thisFile in self.fileList:
187 for thisFile in self.fileList:
188 sts = self.upload(thisFile, self.remotefolder)
188 sts = self.upload(thisFile, self.remotefolder)
189 if not sts: break
189 if not sts: break
190
190
191 if not sts: break
191 if not sts: break
192
192
193 self.bussy = False
193 self.bussy = False
194
194
195 if self.stopFlag:
195 if self.stopFlag:
196 break
196 break
197
197
198 print "[Remote Server] Thread stopped successfully"
198 print "[Remote Server] Thread stopped successfully"
199
199
200 class FTPClient(Remote):
200 class FTPClient(Remote):
201
201
202 __ftpClientObj = None
202 __ftpClientObj = None
203
203
204 def __init__(self, server, username, password, remotefolder, period=60):
204 def __init__(self, server, username, password, remotefolder, period=60):
205 """
205 """
206 """
206 """
207 Remote.__init__(self, server, username, password, remotefolder, period)
207 Remote.__init__(self, server, username, password, remotefolder, period)
208
208
209 def open(self, server, username, password, remotefolder):
209 def open(self, server, username, password, remotefolder):
210
210
211 """
211 """
212 This method is used to set FTP parameters and establish a connection to remote server
212 This method is used to set FTP parameters and establish a connection to remote server
213
213
214 Inputs:
214 Inputs:
215 server - remote server IP Address
215 server - remote server IP Address
216
216
217 username - remote server Username
217 username - remote server Username
218
218
219 password - remote server password
219 password - remote server password
220
220
221 remotefolder - remote server current working directory
221 remotefolder - remote server current working directory
222
222
223 Return: void
223 Return: void
224
224
225 Affects:
225 Affects:
226 self.status - in case of error or fail connection this parameter is set to 0 else 1
226 self.status - in case of error or fail connection this parameter is set to 0 else 1
227
227
228 """
228 """
229
229
230 if server == None:
230 if server == None:
231 raise ValueError, "FTP server should be defined"
231 raise ValueError, "FTP server should be defined"
232
232
233 if username == None:
233 if username == None:
234 raise ValueError, "FTP username should be defined"
234 raise ValueError, "FTP username should be defined"
235
235
236 if password == None:
236 if password == None:
237 raise ValueError, "FTP password should be defined"
237 raise ValueError, "FTP password should be defined"
238
238
239 if remotefolder == None:
239 if remotefolder == None:
240 raise ValueError, "FTP remote folder should be defined"
240 raise ValueError, "FTP remote folder should be defined"
241
241
242 try:
242 try:
243 ftpClientObj = ftplib.FTP(server)
243 ftpClientObj = ftplib.FTP(server)
244 except ftplib.all_errors:
244 except ftplib.all_errors:
245 print "FTP server connection fail: %s" %server
245 print "FTP server connection fail: %s" %server
246 self.status = 0
246 self.status = 0
247 return 0
247 return 0
248
248
249 try:
249 try:
250 ftpClientObj.login(username, password)
250 ftpClientObj.login(username, password)
251 except ftplib.all_errors:
251 except ftplib.all_errors:
252 print "FTP username or password are incorrect"
252 print "FTP username or password are incorrect"
253 self.status = 0
253 self.status = 0
254 return 0
254 return 0
255
255
256 if remotefolder == None:
256 if remotefolder == None:
257 remotefolder = ftpClientObj.pwd()
257 remotefolder = ftpClientObj.pwd()
258 else:
258 else:
259 try:
259 try:
260 ftpClientObj.cwd(remotefolder)
260 ftpClientObj.cwd(remotefolder)
261 except ftplib.all_errors:
261 except ftplib.all_errors:
262 print "FTP remote folder is invalid: %s" %remotefolder
262 print "FTP remote folder is invalid: %s" %remotefolder
263 remotefolder = ftpClientObj.pwd()
263 remotefolder = ftpClientObj.pwd()
264
264
265 self.server = server
265 self.server = server
266 self.username = username
266 self.username = username
267 self.password = password
267 self.password = password
268 self.remotefolder = remotefolder
268 self.remotefolder = remotefolder
269 self.__ftpClientObj = ftpClientObj
269 self.__ftpClientObj = ftpClientObj
270 self.status = 1
270 self.status = 1
271
271
272 return 1
272 return 1
273
273
274 def close(self):
274 def close(self):
275 """
275 """
276 Close connection to remote server
276 Close connection to remote server
277 """
277 """
278 if not self.status:
278 if not self.status:
279 return 0
279 return 0
280
280
281 self.__ftpClientObj.close()
281 self.__ftpClientObj.close()
282
282
283 def mkdir(self, remotefolder):
283 def mkdir(self, remotefolder):
284 """
284 """
285 mkdir is used to make a new directory in remote server
285 mkdir is used to make a new directory in remote server
286
286
287 Input:
287 Input:
288 remotefolder - directory name
288 remotefolder - directory name
289
289
290 Return:
290 Return:
291 0 in error case else 1
291 0 in error case else 1
292 """
292 """
293 if not self.status:
293 if not self.status:
294 return 0
294 return 0
295
295
296 try:
296 try:
297 self.__ftpClientObj.mkd(dirname)
297 self.__ftpClientObj.mkd(dirname)
298 except ftplib.all_errors:
298 except ftplib.all_errors:
299 print "Error creating remote folder: %s" %remotefolder
299 print "Error creating remote folder: %s" %remotefolder
300 return 0
300 return 0
301
301
302 return 1
302 return 1
303
303
304 def cd(self, remotefolder):
304 def cd(self, remotefolder):
305 """
305 """
306 cd is used to change remote working directory on server
306 cd is used to change remote working directory on server
307
307
308 Input:
308 Input:
309 remotefolder - current working directory
309 remotefolder - current working directory
310
310
311 Affects:
311 Affects:
312 self.remotefolder
312 self.remotefolder
313
313
314 Return:
314 Return:
315 0 in case of error else 1
315 0 in case of error else 1
316 """
316 """
317 if not self.status:
317 if not self.status:
318 return 0
318 return 0
319
319
320 if remotefolder == self.remotefolder:
320 if remotefolder == self.remotefolder:
321 return 1
321 return 1
322
322
323 try:
323 try:
324 self.__ftpClientObj.cwd(remotefolder)
324 self.__ftpClientObj.cwd(remotefolder)
325 except ftplib.all_errors:
325 except ftplib.all_errors:
326 print 'Error changing to %s' %remotefolder
326 print 'Error changing to %s' %remotefolder
327 print 'Trying to create remote folder'
327 print 'Trying to create remote folder'
328
328
329 if not self.mkdir(remotefolder):
329 if not self.mkdir(remotefolder):
330 print 'Remote folder could not be created'
330 print 'Remote folder could not be created'
331 return 0
331 return 0
332
332
333 try:
333 try:
334 self.__ftpClientObj.cwd(remotefolder)
334 self.__ftpClientObj.cwd(remotefolder)
335 except ftplib.all_errors:
335 except ftplib.all_errors:
336 return 0
336 return 0
337
337
338 self.remotefolder = remotefolder
338 self.remotefolder = remotefolder
339
339
340 return 1
340 return 1
341
341
342 def sendFile(self, fullfilename):
342 def sendFile(self, fullfilename):
343
343
344 if not self.status:
344 if not self.status:
345 return 0
345 return 0
346
346
347 file = open(fullfilename, 'rb')
347 file = open(fullfilename, 'rb')
348
348
349 filename = os.path.split(fullfilename)[-1]
349 filename = os.path.split(fullfilename)[-1]
350
350
351 command = "STOR %s" %filename
351 command = "STOR %s" %filename
352
352
353 try:
353 try:
354 self.__ftpClientObj.storbinary(command, file)
354 self.__ftpClientObj.storbinary(command, file)
355 except ftplib.all_errors:
355 except ftplib.all_errors:
356 return 0
356 return 0
357
357
358 try:
358 try:
359 self.__ftpClientObj.sendcmd('SITE CHMOD 755 ' + filename)
359 self.__ftpClientObj.sendcmd('SITE CHMOD 755 ' + filename)
360 except ftplib.all_errors, e:
360 except ftplib.all_errors, e:
361 print e
361 print e
362
362
363 file.close()
363 file.close()
364
364
365 return 1
365 return 1
366
366
367 class SSHClient(Remote):
367 class SSHClient(Remote):
368
368
369 __sshClientObj = None
369 __sshClientObj = None
370 __scpClientObj = None
370 __scpClientObj = None
371
371
372 def __init__(self, server, username, password, remotefolder, period=60):
372 def __init__(self, server, username, password, remotefolder, period=60):
373 """
373 """
374 """
374 """
375 Remote.__init__(self, server, username, password, remotefolder, period)
375 Remote.__init__(self, server, username, password, remotefolder, period)
376
376
377 def open(self, server, username, password, remotefolder, port=22):
377 def open(self, server, username, password, remotefolder, port=22):
378
378
379 """
379 """
380 This method is used to set SSH parameters and establish a connection to a remote server
380 This method is used to set SSH parameters and establish a connection to a remote server
381
381
382 Inputs:
382 Inputs:
383 server - remote server IP Address
383 server - remote server IP Address
384
384
385 username - remote server Username
385 username - remote server Username
386
386
387 password - remote server password
387 password - remote server password
388
388
389 remotefolder - remote server current working directory
389 remotefolder - remote server current working directory
390
390
391 Return: void
391 Return: void
392
392
393 Affects:
393 Affects:
394 self.status - in case of error or fail connection this parameter is set to 0 else 1
394 self.status - in case of error or fail connection this parameter is set to 0 else 1
395
395
396 """
396 """
397
397
398 if server == None:
398 if server == None:
399 raise ValueError, "SSH server should be defined"
399 raise ValueError, "SSH server should be defined"
400
400
401 if username == None:
401 if username == None:
402 raise ValueError, "SSH username should be defined"
402 raise ValueError, "SSH username should be defined"
403
403
404 if password == None:
404 if password == None:
405 raise ValueError, "SSH password should be defined"
405 raise ValueError, "SSH password should be defined"
406
406
407 if remotefolder == None:
407 if remotefolder == None:
408 raise ValueError, "SSH remote folder should be defined"
408 raise ValueError, "SSH remote folder should be defined"
409
409
410 try:
410 try:
411 sshClientObj = paramiko.SSHClient()
411 sshClientObj = paramiko.SSHClient()
412 except:
412 except:
413 print "SSH server connection fail: %s" %server
413 print "SSH server connection fail: %s" %server
414 self.status = 0
414 self.status = 0
415 return 0
415 return 0
416
416
417 sshClientObj.load_system_host_keys()
417 sshClientObj.load_system_host_keys()
418 sshClientObj.set_missing_host_key_policy(paramiko.WarningPolicy())
418 sshClientObj.set_missing_host_key_policy(paramiko.WarningPolicy())
419
419
420 try:
420 try:
421 sshClientObj.connect(server, username=username, password=password, port=port)
421 sshClientObj.connect(server, username=username, password=password, port=port)
422 except :
422 except :
423 print "SSH username or password are incorrect: %s"
423 print "SSH username or password are incorrect: %s"
424 self.status = 0
424 self.status = 0
425 return 0
425 return 0
426
426
427 scpClientObj = scp.SCPClient(sshClientObj.get_transport(), socket_timeout=30)
427 scpClientObj = scp.SCPClient(sshClientObj.get_transport(), socket_timeout=30)
428
428
429 if remotefolder == None:
429 if remotefolder == None:
430 remotefolder = self.pwd()
430 remotefolder = self.pwd()
431
431
432 self.server = server
432 self.server = server
433 self.username = username
433 self.username = username
434 self.password = password
434 self.password = password
435 self.__sshClientObj = sshClientObj
435 self.__sshClientObj = sshClientObj
436 self.__scpClientObj = scpClientObj
436 self.__scpClientObj = scpClientObj
437 self.status = 1
437 self.status = 1
438
438
439 if not self.cd(remotefolder):
439 if not self.cd(remotefolder):
440 raise ValueError, "Could not access to remote folder: %s" %remotefolder
440 raise ValueError, "Could not access to remote folder: %s" %remotefolder
441 return 0
441 return 0
442
442
443 self.remotefolder = remotefolder
443 self.remotefolder = remotefolder
444
444
445 return 1
445 return 1
446
446
447 def close(self):
447 def close(self):
448 """
448 """
449 Close connection to remote server
449 Close connection to remote server
450 """
450 """
451 if not self.status:
451 if not self.status:
452 return 0
452 return 0
453
453
454 self.__sshObj.close()
454 self.__sshObj.close()
455
455
456 def __execute(self, command):
456 def __execute(self, command):
457 """
457 """
458 __execute a command on remote server
458 __execute a command on remote server
459
459
460 Input:
460 Input:
461 command - Exmaple 'ls -l'
461 command - Exmaple 'ls -l'
462
462
463 Return:
463 Return:
464 0 in error case else 1
464 0 in error case else 1
465 """
465 """
466 if not self.status:
466 if not self.status:
467 return 0
467 return 0
468
468
469 stdin, stdout, stderr = self.__sshClientObj.exec_command(command)
469 stdin, stdout, stderr = self.__sshClientObj.exec_command(command)
470
470
471 result = stderr.readlines()
471 result = stderr.readlines()
472 if len(result) > 1:
472 if len(result) > 1:
473 return 0
473 return 0
474
474
475 result = stdout.readlines()
475 result = stdout.readlines()
476 if len(result) > 1:
476 if len(result) > 1:
477 return result[0][:-1]
477 return result[0][:-1]
478
478
479 return 1
479 return 1
480
480
481 def mkdir(self, remotefolder):
481 def mkdir(self, remotefolder):
482 """
482 """
483 mkdir is used to make a new directory in remote server
483 mkdir is used to make a new directory in remote server
484
484
485 Input:
485 Input:
486 remotefolder - directory name
486 remotefolder - directory name
487
487
488 Return:
488 Return:
489 0 in error case else 1
489 0 in error case else 1
490 """
490 """
491
491
492 command = 'mkdir %s' %remotefolder
492 command = 'mkdir %s' %remotefolder
493
493
494 return self.__execute(command)
494 return self.__execute(command)
495
495
496 def pwd(self):
496 def pwd(self):
497
497
498 command = 'pwd'
498 command = 'pwd'
499
499
500 return self.__execute(command)
500 return self.__execute(command)
501
501
502 def cd(self, remotefolder):
502 def cd(self, remotefolder):
503 """
503 """
504 cd is used to change remote working directory on server
504 cd is used to change remote working directory on server
505
505
506 Input:
506 Input:
507 remotefolder - current working directory
507 remotefolder - current working directory
508
508
509 Affects:
509 Affects:
510 self.remotefolder
510 self.remotefolder
511
511
512 Return:
512 Return:
513 0 in case of error else 1
513 0 in case of error else 1
514 """
514 """
515 if not self.status:
515 if not self.status:
516 return 0
516 return 0
517
517
518 if remotefolder == self.remotefolder:
518 if remotefolder == self.remotefolder:
519 return 1
519 return 1
520
520
521 chk_command = "cd %s; pwd" %remotefolder
521 chk_command = "cd %s; pwd" %remotefolder
522 mkdir_command = "mkdir %s" %remotefolder
522 mkdir_command = "mkdir %s" %remotefolder
523
523
524 if not self.__execute(chk_command):
524 if not self.__execute(chk_command):
525 if not self.__execute(mkdir_command):
525 if not self.__execute(mkdir_command):
526 self.remotefolder = None
526 self.remotefolder = None
527 return 0
527 return 0
528
528
529 self.remotefolder = remotefolder
529 self.remotefolder = remotefolder
530
530
531 return 1
531 return 1
532
532
533 def sendFile(self, fullfilename):
533 def sendFile(self, fullfilename):
534
534
535 if not self.status:
535 if not self.status:
536 return 0
536 return 0
537
537
538 try:
538 try:
539 self.__scpClientObj.put(fullfilename, remote_path=self.remotefolder)
539 self.__scpClientObj.put(fullfilename, remote_path=self.remotefolder)
540 except:
540 except:
541 return 0
541 return 0
542
542
543 remotefile = os.path.join(self.remotefolder, os.path.split(fullfilename)[-1])
543 remotefile = os.path.join(self.remotefolder, os.path.split(fullfilename)[-1])
544 command = 'chmod 775 %s' %remotefile
544 command = 'chmod 775 %s' %remotefile
545
545
546 return self.__execute(command)
546 return self.__execute(command)
547
547
548 class SendToServer(ProcessingUnit):
548 class SendToServer(ProcessingUnit):
549
549
550 def __init__(self):
550 def __init__(self):
551
551
552 ProcessingUnit.__init__(self)
552 ProcessingUnit.__init__(self)
553
553
554 self.isConfig = False
554 self.isConfig = False
555 self.clientObj = None
555 self.clientObj = None
556
556
557 def setup(self, server, username, password, remotefolder, localfolder, ext='.png', period=60, protocol='ftp'):
557 def setup(self, server, username, password, remotefolder, localfolder, ext='.png', period=60, protocol='ftp', **kwargs):
558
558
559 self.clientObj = None
559 self.clientObj = None
560 self.localfolder = localfolder
560 self.localfolder = localfolder
561 self.ext = ext
561 self.ext = ext
562 self.period = period
562 self.period = period
563
563
564 if str.lower(protocol) == 'ftp':
564 if str.lower(protocol) == 'ftp':
565 self.clientObj = FTPClient(server, username, password, remotefolder, period)
565 self.clientObj = FTPClient(server, username, password, remotefolder, period)
566
566
567 if str.lower(protocol) == 'ssh':
567 if str.lower(protocol) == 'ssh':
568 self.clientObj = SSHClient(server, username, password, remotefolder, period)
568 self.clientObj = SSHClient(server, username, password, remotefolder, period)
569
569
570 if not self.clientObj:
570 if not self.clientObj:
571 raise ValueError, "%s has been chosen as remote access protocol but it is not valid" %protocol
571 raise ValueError, "%s has been chosen as remote access protocol but it is not valid" %protocol
572
572
573 self.clientObj.start()
573 self.clientObj.start()
574
574
575 def findFiles(self):
575 def findFiles(self):
576
576
577 filenameList = glob.glob1(self.localfolder, '*%s' %self.ext)
577 filenameList = glob.glob1(self.localfolder, '*%s' %self.ext)
578
578
579 if len(filenameList) < 1:
579 if len(filenameList) < 1:
580 return []
580 return []
581
581
582 fullfilenameList = [os.path.join(self.localfolder, thisFile) for thisFile in filenameList]
582 fullfilenameList = [os.path.join(self.localfolder, thisFile) for thisFile in filenameList]
583
583
584 return fullfilenameList
584 return fullfilenameList
585
585
586 def run(self, **kwargs):
586 def run(self, **kwargs):
587
587
588 if not self.isConfig:
588 if not self.isConfig:
589 self.init = time.time()
589 self.init = time.time()
590 self.setup(**kwargs)
590 self.setup(**kwargs)
591 self.isConfig = True
591 self.isConfig = True
592
592
593 if time.time() - self.init >= self.period:
593 if time.time() - self.init >= self.period:
594 fullfilenameList = self.findFiles()
594 fullfilenameList = self.findFiles()
595 self.clientObj.updateFileList(fullfilenameList)
595 self.clientObj.updateFileList(fullfilenameList)
596 self.init = time.time()
596 self.init = time.time()
597
597
598 def close(self):
598 def close(self):
599 print "[Remote Server] Stopping thread"
599 print "[Remote Server] Stopping thread"
600 self.clientObj.stop()
600 self.clientObj.stop()
601
601
602
602
603 class FTP(object):
603 class FTP(object):
604 """
604 """
605 Ftp is a public class used to define custom File Transfer Protocol from "ftplib" python module
605 Ftp is a public class used to define custom File Transfer Protocol from "ftplib" python module
606
606
607 Non-standard Python modules used: None
607 Non-standard Python modules used: None
608
608
609 Written by "Daniel Suarez":mailto:daniel.suarez@jro.igp.gob.pe Oct. 26, 2010
609 Written by "Daniel Suarez":mailto:daniel.suarez@jro.igp.gob.pe Oct. 26, 2010
610 """
610 """
611
611
612 def __init__(self,server = None, username=None, password=None, remotefolder=None):
612 def __init__(self,server = None, username=None, password=None, remotefolder=None):
613 """
613 """
614 This method is used to setting parameters for FTP and establishing connection to remote server
614 This method is used to setting parameters for FTP and establishing connection to remote server
615
615
616 Inputs:
616 Inputs:
617 server - remote server IP Address
617 server - remote server IP Address
618
618
619 username - remote server Username
619 username - remote server Username
620
620
621 password - remote server password
621 password - remote server password
622
622
623 remotefolder - remote server current working directory
623 remotefolder - remote server current working directory
624
624
625 Return: void
625 Return: void
626
626
627 Affects:
627 Affects:
628 self.status - in Error Case or Connection Failed this parameter is set to 1 else 0
628 self.status - in Error Case or Connection Failed this parameter is set to 1 else 0
629
629
630 self.folderList - sub-folder list of remote folder
630 self.folderList - sub-folder list of remote folder
631
631
632 self.fileList - file list of remote folder
632 self.fileList - file list of remote folder
633
633
634
634
635 """
635 """
636
636
637 if ((server == None) and (username==None) and (password==None) and (remotefolder==None)):
637 if ((server == None) and (username==None) and (password==None) and (remotefolder==None)):
638 server, username, password, remotefolder = self.parmsByDefault()
638 server, username, password, remotefolder = self.parmsByDefault()
639
639
640 self.server = server
640 self.server = server
641 self.username = username
641 self.username = username
642 self.password = password
642 self.password = password
643 self.remotefolder = remotefolder
643 self.remotefolder = remotefolder
644 self.file = None
644 self.file = None
645 self.ftp = None
645 self.ftp = None
646 self.status = 0
646 self.status = 0
647
647
648 try:
648 try:
649 self.ftp = ftplib.FTP(self.server)
649 self.ftp = ftplib.FTP(self.server)
650 self.ftp.login(self.username,self.password)
650 self.ftp.login(self.username,self.password)
651 self.ftp.cwd(self.remotefolder)
651 self.ftp.cwd(self.remotefolder)
652 # print 'Connect to FTP Server: Successfully'
652 # print 'Connect to FTP Server: Successfully'
653
653
654 except ftplib.all_errors:
654 except ftplib.all_errors:
655 print 'Error FTP Service'
655 print 'Error FTP Service'
656 self.status = 1
656 self.status = 1
657 return
657 return
658
658
659
659
660
660
661 self.dirList = []
661 self.dirList = []
662
662
663 try:
663 try:
664 self.dirList = self.ftp.nlst()
664 self.dirList = self.ftp.nlst()
665
665
666 except ftplib.error_perm, resp:
666 except ftplib.error_perm, resp:
667 if str(resp) == "550 No files found":
667 if str(resp) == "550 No files found":
668 print "no files in this directory"
668 print "no files in this directory"
669 self.status = 1
669 self.status = 1
670 return
670 return
671
671
672 except ftplib.all_errors:
672 except ftplib.all_errors:
673 print 'Error Displaying Dir-Files'
673 print 'Error Displaying Dir-Files'
674 self.status = 1
674 self.status = 1
675 return
675 return
676
676
677 self.fileList = []
677 self.fileList = []
678 self.folderList = []
678 self.folderList = []
679 #only for test
679 #only for test
680 for f in self.dirList:
680 for f in self.dirList:
681 name, ext = os.path.splitext(f)
681 name, ext = os.path.splitext(f)
682 if ext != '':
682 if ext != '':
683 self.fileList.append(f)
683 self.fileList.append(f)
684 # print 'filename: %s - size: %d'%(f,self.ftp.size(f))
684 # print 'filename: %s - size: %d'%(f,self.ftp.size(f))
685
685
686 def parmsByDefault(self):
686 def parmsByDefault(self):
687 server = 'jro-app.igp.gob.pe'
687 server = 'jro-app.igp.gob.pe'
688 username = 'wmaster'
688 username = 'wmaster'
689 password = 'mst2010vhf'
689 password = 'mst2010vhf'
690 remotefolder = '/home/wmaster/graficos'
690 remotefolder = '/home/wmaster/graficos'
691
691
692 return server, username, password, remotefolder
692 return server, username, password, remotefolder
693
693
694
694
695 def mkd(self,dirname):
695 def mkd(self,dirname):
696 """
696 """
697 mkd is used to make directory in remote server
697 mkd is used to make directory in remote server
698
698
699 Input:
699 Input:
700 dirname - directory name
700 dirname - directory name
701
701
702 Return:
702 Return:
703 1 in error case else 0
703 1 in error case else 0
704 """
704 """
705 try:
705 try:
706 self.ftp.mkd(dirname)
706 self.ftp.mkd(dirname)
707 except:
707 except:
708 print 'Error creating remote folder:%s'%dirname
708 print 'Error creating remote folder:%s'%dirname
709 return 1
709 return 1
710
710
711 return 0
711 return 0
712
712
713
713
714 def delete(self,filename):
714 def delete(self,filename):
715 """
715 """
716 delete is used to delete file in current working directory of remote server
716 delete is used to delete file in current working directory of remote server
717
717
718 Input:
718 Input:
719 filename - filename to delete in remote folder
719 filename - filename to delete in remote folder
720
720
721 Return:
721 Return:
722 1 in error case else 0
722 1 in error case else 0
723 """
723 """
724
724
725 try:
725 try:
726 self.ftp.delete(filename)
726 self.ftp.delete(filename)
727 except:
727 except:
728 print 'Error deleting remote file:%s'%filename
728 print 'Error deleting remote file:%s'%filename
729 return 1
729 return 1
730
730
731 return 0
731 return 0
732
732
733 def download(self,filename,localfolder):
733 def download(self,filename,localfolder):
734 """
734 """
735 download is used to downloading file from remote folder into local folder
735 download is used to downloading file from remote folder into local folder
736
736
737 Inputs:
737 Inputs:
738 filename - filename to donwload
738 filename - filename to donwload
739
739
740 localfolder - directory local to store filename
740 localfolder - directory local to store filename
741
741
742 Returns:
742 Returns:
743 self.status - 1 in error case else 0
743 self.status - 1 in error case else 0
744 """
744 """
745
745
746 self.status = 0
746 self.status = 0
747
747
748
748
749 if not(filename in self.fileList):
749 if not(filename in self.fileList):
750 print 'filename:%s not exists'%filename
750 print 'filename:%s not exists'%filename
751 self.status = 1
751 self.status = 1
752 return self.status
752 return self.status
753
753
754 newfilename = os.path.join(localfolder,filename)
754 newfilename = os.path.join(localfolder,filename)
755
755
756 self.file = open(newfilename, 'wb')
756 self.file = open(newfilename, 'wb')
757
757
758 try:
758 try:
759 print 'Download: ' + filename
759 print 'Download: ' + filename
760 self.ftp.retrbinary('RETR ' + filename, self.__handleDownload)
760 self.ftp.retrbinary('RETR ' + filename, self.__handleDownload)
761 print 'Download Complete'
761 print 'Download Complete'
762 except ftplib.all_errors:
762 except ftplib.all_errors:
763 print 'Error Downloading ' + filename
763 print 'Error Downloading ' + filename
764 self.status = 1
764 self.status = 1
765 return self.status
765 return self.status
766
766
767 self.file.close()
767 self.file.close()
768
768
769 return self.status
769 return self.status
770
770
771
771
772 def __handleDownload(self,block):
772 def __handleDownload(self,block):
773 """
773 """
774 __handleDownload is used to handle writing file
774 __handleDownload is used to handle writing file
775 """
775 """
776 self.file.write(block)
776 self.file.write(block)
777
777
778
778
779 def upload(self,filename,remotefolder=None):
779 def upload(self,filename,remotefolder=None):
780 """
780 """
781 upload is used to uploading local file to remote directory
781 upload is used to uploading local file to remote directory
782
782
783 Inputs:
783 Inputs:
784 filename - full path name of local file to store in remote directory
784 filename - full path name of local file to store in remote directory
785
785
786 remotefolder - remote directory
786 remotefolder - remote directory
787
787
788 Returns:
788 Returns:
789 self.status - 1 in error case else 0
789 self.status - 1 in error case else 0
790 """
790 """
791
791
792 if remotefolder == None:
792 if remotefolder == None:
793 remotefolder = self.remotefolder
793 remotefolder = self.remotefolder
794
794
795 self.status = 0
795 self.status = 0
796
796
797 try:
797 try:
798 self.ftp.cwd(remotefolder)
798 self.ftp.cwd(remotefolder)
799
799
800 self.file = open(filename, 'rb')
800 self.file = open(filename, 'rb')
801
801
802 (head, tail) = os.path.split(filename)
802 (head, tail) = os.path.split(filename)
803
803
804 command = "STOR " + tail
804 command = "STOR " + tail
805
805
806 print 'Uploading: ' + tail
806 print 'Uploading: ' + tail
807 self.ftp.storbinary(command, self.file)
807 self.ftp.storbinary(command, self.file)
808 print 'Upload Completed'
808 print 'Upload Completed'
809
809
810 except ftplib.all_errors:
810 except ftplib.all_errors:
811 print 'Error Uploading ' + tail
811 print 'Error Uploading ' + tail
812 self.status = 1
812 self.status = 1
813 return self.status
813 return self.status
814
814
815 self.file.close()
815 self.file.close()
816
816
817 #back to initial directory in __init__()
817 #back to initial directory in __init__()
818 self.ftp.cwd(self.remotefolder)
818 self.ftp.cwd(self.remotefolder)
819
819
820 return self.status
820 return self.status
821
821
822
822
823 def dir(self,remotefolder):
823 def dir(self,remotefolder):
824 """
824 """
825 dir is used to change working directory of remote server and get folder and file list
825 dir is used to change working directory of remote server and get folder and file list
826
826
827 Input:
827 Input:
828 remotefolder - current working directory
828 remotefolder - current working directory
829
829
830 Affects:
830 Affects:
831 self.fileList - file list of working directory
831 self.fileList - file list of working directory
832
832
833 Return:
833 Return:
834 infoList - list with filenames and size of file in bytes
834 infoList - list with filenames and size of file in bytes
835
835
836 self.folderList - folder list
836 self.folderList - folder list
837 """
837 """
838
838
839 self.remotefolder = remotefolder
839 self.remotefolder = remotefolder
840 print 'Change to ' + self.remotefolder
840 print 'Change to ' + self.remotefolder
841 try:
841 try:
842 self.ftp.cwd(remotefolder)
842 self.ftp.cwd(remotefolder)
843 except ftplib.all_errors:
843 except ftplib.all_errors:
844 print 'Error Change to ' + self.remotefolder
844 print 'Error Change to ' + self.remotefolder
845 infoList = None
845 infoList = None
846 self.folderList = None
846 self.folderList = None
847 return infoList,self.folderList
847 return infoList,self.folderList
848
848
849 self.dirList = []
849 self.dirList = []
850
850
851 try:
851 try:
852 self.dirList = self.ftp.nlst()
852 self.dirList = self.ftp.nlst()
853
853
854 except ftplib.error_perm, resp:
854 except ftplib.error_perm, resp:
855 if str(resp) == "550 No files found":
855 if str(resp) == "550 No files found":
856 print "no files in this directory"
856 print "no files in this directory"
857 infoList = None
857 infoList = None
858 self.folderList = None
858 self.folderList = None
859 return infoList,self.folderList
859 return infoList,self.folderList
860 except ftplib.all_errors:
860 except ftplib.all_errors:
861 print 'Error Displaying Dir-Files'
861 print 'Error Displaying Dir-Files'
862 infoList = None
862 infoList = None
863 self.folderList = None
863 self.folderList = None
864 return infoList,self.folderList
864 return infoList,self.folderList
865
865
866 infoList = []
866 infoList = []
867 self.fileList = []
867 self.fileList = []
868 self.folderList = []
868 self.folderList = []
869 for f in self.dirList:
869 for f in self.dirList:
870 name,ext = os.path.splitext(f)
870 name,ext = os.path.splitext(f)
871 if ext != '':
871 if ext != '':
872 self.fileList.append(f)
872 self.fileList.append(f)
873 value = (f,self.ftp.size(f))
873 value = (f,self.ftp.size(f))
874 infoList.append(value)
874 infoList.append(value)
875
875
876 if ext == '':
876 if ext == '':
877 self.folderList.append(f)
877 self.folderList.append(f)
878
878
879 return infoList,self.folderList
879 return infoList,self.folderList
880
880
881
881
882 def close(self):
882 def close(self):
883 """
883 """
884 close is used to close and end FTP connection
884 close is used to close and end FTP connection
885
885
886 Inputs: None
886 Inputs: None
887
887
888 Return: void
888 Return: void
889
889
890 """
890 """
891 self.ftp.close()
891 self.ftp.close()
892
892
893 class SendByFTP(Operation):
893 class SendByFTP(Operation):
894
894
895 def __init__(self):
895 def __init__(self):
896
896
897 self.status = 1
897 self.status = 1
898 self.counter = 0
898 self.counter = 0
899
899
900 def error_print(self, ValueError):
900 def error_print(self, ValueError):
901
901
902 print ValueError, 'Error FTP'
902 print ValueError, 'Error FTP'
903 print "don't worry the program is running..."
903 print "don't worry the program is running..."
904
904
905 def worker_ftp(self, server, username, password, remotefolder, filenameList):
905 def worker_ftp(self, server, username, password, remotefolder, filenameList):
906
906
907 self.ftpClientObj = FTP(server, username, password, remotefolder)
907 self.ftpClientObj = FTP(server, username, password, remotefolder)
908 for filename in filenameList:
908 for filename in filenameList:
909 self.ftpClientObj.upload(filename)
909 self.ftpClientObj.upload(filename)
910 self.ftpClientObj.close()
910 self.ftpClientObj.close()
911
911
912 def ftp_thread(self, server, username, password, remotefolder):
912 def ftp_thread(self, server, username, password, remotefolder):
913 if not(self.status):
913 if not(self.status):
914 return
914 return
915
915
916 p = multiprocessing.Process(target=self.worker_ftp, args=(server, username, password, remotefolder, self.filenameList,))
916 p = multiprocessing.Process(target=self.worker_ftp, args=(server, username, password, remotefolder, self.filenameList,))
917 p.start()
917 p.start()
918
918
919 p.join(3)
919 p.join(3)
920
920
921 if p.is_alive():
921 if p.is_alive():
922 p.terminate()
922 p.terminate()
923 p.join()
923 p.join()
924 print 'killing ftp process...'
924 print 'killing ftp process...'
925 self.status = 0
925 self.status = 0
926 return
926 return
927
927
928 self.status = 1
928 self.status = 1
929 return
929 return
930
930
931 def filterByExt(self, ext, localfolder):
931 def filterByExt(self, ext, localfolder):
932 fnameList = glob.glob1(localfolder,ext)
932 fnameList = glob.glob1(localfolder,ext)
933 self.filenameList = [os.path.join(localfolder,x) for x in fnameList]
933 self.filenameList = [os.path.join(localfolder,x) for x in fnameList]
934
934
935 if len(self.filenameList) == 0:
935 if len(self.filenameList) == 0:
936 self.status = 0
936 self.status = 0
937
937
938 def run(self, dataOut, ext, localfolder, remotefolder, server, username, password, period=1):
938 def run(self, dataOut, ext, localfolder, remotefolder, server, username, password, period=1):
939
939
940 self.counter += 1
940 self.counter += 1
941 if self.counter >= period:
941 if self.counter >= period:
942 self.filterByExt(ext, localfolder)
942 self.filterByExt(ext, localfolder)
943
943
944 self.ftp_thread(server, username, password, remotefolder)
944 self.ftp_thread(server, username, password, remotefolder)
945
945
946 self.counter = 0
946 self.counter = 0
947
947
948 self.status = 1
948 self.status = 1
949
949
General Comments 0
You need to be logged in to leave comments. Login now