##// END OF EJS Templates
cambio para xmin
cambio para xmin

File last commit:

r1008:3346b2da492e merge
r1008:3346b2da492e merge
Show More
controller.py
1333 lines | 36.9 KiB | text/x-python | PythonLexer
Miguel Valdez
Controlador de Signal Chain finalizado....
r197 '''
Created on September , 2012
ReceiverData Operation, test PlotData
r889 @author:
Miguel Valdez
Controlador de Signal Chain finalizado....
r197 '''
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Version: 2.1.3.2...
r672 import sys
Julio Valdez
First Draft HDF5 IO module
r514 import ast
Miguel Valdez
GUI: minor changes
r687 import datetime
Miguel Valdez
Version: 2.1.3.2...
r672 import traceback
José Chávez
funcionando todo
r898 import math
José Chávez
finishing day, need testing
r931 import time
add multiSchain (@jchavez)
r892 from multiprocessing import Process, Queue, cpu_count
José Chávez
cambios xmax xmin
r1004 from profilehooks import profile, coverage
add multiSchain (@jchavez)
r892
Miguel Valdez
r681 import schainpy
import schainpy.admin
Miguel Valdez
Version: 2.1.3.2...
r672
Miguel Valdez
r681 from xml.etree.ElementTree import ElementTree, Element, SubElement, tostring
from xml.dom import minidom
from schainpy.model import *
from time import sleep
Julio Valdez
First Draft HDF5 IO module
r514
José Chávez
cambios xmax xmin
r1004
Miguel Valdez
Controlador de Signal Chain finalizado....
r197 def prettify(elem):
"""Return a pretty-printed XML string for the Element.
"""
Miguel Valdez
Version 2.1.3: ...
r664 rough_string = tostring(elem, 'utf-8')
Miguel Valdez
Controlador de Signal Chain finalizado....
r197 reparsed = minidom.parseString(rough_string)
return reparsed.toprettyxml(indent=" ")
Add WindProfiler support, multiSchain by_day
r923 def multiSchain(child, nProcess=cpu_count(), startDate=None, endDate=None, by_day=False):
add multiSchain (@jchavez)
r892 skip = 0
cursor = 0
nFiles = None
processes = []
dt1 = datetime.datetime.strptime(startDate, '%Y/%m/%d')
dt2 = datetime.datetime.strptime(endDate, '%Y/%m/%d')
days = (dt2 - dt1).days
Add WindProfiler support, multiSchain by_day
r923
add multiSchain (@jchavez)
r892 for day in range(days+1):
skip = 0
cursor = 0
q = Queue()
processes = []
dt = (dt1 + datetime.timedelta(day)).strftime('%Y/%m/%d')
firstProcess = Process(target=child, args=(cursor, skip, q, dt))
firstProcess.start()
Add WindProfiler support, multiSchain by_day
r923 if by_day:
continue
add multiSchain (@jchavez)
r892 nFiles = q.get()
Juan C. Espinoza
Update setup.py and README
r999 if nFiles==0:
continue
add multiSchain (@jchavez)
r892 firstProcess.terminate()
skip = int(math.ceil(nFiles/nProcess))
José Chávez
exiting processes properly
r924 while True:
processes.append(Process(target=child, args=(cursor, skip, q, dt)))
processes[cursor].start()
if nFiles < cursor*skip:
break
cursor += 1
def beforeExit(exctype, value, trace):
add multiSchain (@jchavez)
r892 for process in processes:
process.terminate()
process.join()
José Chávez
nada
r925 print traceback.print_tb(trace)
Juan C. Espinoza
Now there are two receiver units one for data and one for plots
r957
José Chávez
exiting processes properly
r924 sys.excepthook = beforeExit
add multiSchain (@jchavez)
r892
for process in processes:
process.join()
José Chávez
exiting processes properly
r924 process.terminate()
J Gomez
antes de la nueva 2.3
r958
José Chávez
finishing day, need testing
r931 time.sleep(3)
add multiSchain (@jchavez)
r892
Miguel Valdez
Controlador de Signal Chain finalizado....
r197 class ParameterConf():
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Controlador de Signal Chain finalizado....
r197 id = None
name = None
value = None
Miguel Valdez
Primera version del controlador probada y testeada incluyendo graficos
r199 format = None
ReceiverData Operation, test PlotData
r889
Miguel Valdez
controller.py: Some comments added
r529 __formated_value = None
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Controlador de Signal Chain finalizado....
r197 ELEMENTNAME = 'Parameter'
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Controlador de Signal Chain finalizado....
r197 def __init__(self):
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Primera version del controlador probada y testeada incluyendo graficos
r199 self.format = 'str'
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Controlador de Signal Chain finalizado....
r197 def getElementName(self):
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Controlador de Signal Chain finalizado....
r197 return self.ELEMENTNAME
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Controlador de Signal Chain finalizado....
r197 def getValue(self):
Miguel Valdez
Signal Chain GUI...
r600
value = self.value
format = self.format
ReceiverData Operation, test PlotData
r889
Miguel Valdez
controller.py: Some comments added
r529 if self.__formated_value != None:
ReceiverData Operation, test PlotData
r889
Miguel Valdez
controller.py: Some comments added
r529 return self.__formated_value
ReceiverData Operation, test PlotData
r889
add multiSchain (@jchavez)
r892 if format == 'obj':
return value
Miguel Valdez
Signal Chain GUI...
r600 if format == 'str':
Miguel Valdez
Signal Chain GUI v2.1
r596 self.__formated_value = str(value)
return self.__formated_value
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Signal Chain GUI v2.1
r596 if value == '':
raise ValueError, "%s: This parameter value is empty" %self.name
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Signal Chain GUI...
r600 if format == 'list':
Miguel Valdez
Busqueda de archivos dentro del directorio indicado (sin busqueda de subdirectorios) activando el flag de lectura 'walk'
r224 strList = value.split(',')
ReceiverData Operation, test PlotData
r889
Miguel Valdez
controller.py: Some comments added
r529 self.__formated_value = strList
ReceiverData Operation, test PlotData
r889
Miguel Valdez
controller.py: Some comments added
r529 return self.__formated_value
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Signal Chain GUI...
r600 if format == 'intlist':
Miguel Valdez
Some comments added to controller.py
r535 """
Example:
value = (0,1,2)
"""
ReceiverData Operation, test PlotData
r889
Miguel Valdez
-Email alert is not sent when a Keyboard error occurred ...
r735 new_value = ast.literal_eval(value)
ReceiverData Operation, test PlotData
r889
Miguel Valdez
-Email alert is not sent when a Keyboard error occurred ...
r735 if type(new_value) not in (tuple, list):
new_value = [int(new_value)]
ReceiverData Operation, test PlotData
r889
Miguel Valdez
-Email alert is not sent when a Keyboard error occurred ...
r735 self.__formated_value = new_value
ReceiverData Operation, test PlotData
r889
Miguel Valdez
controller.py: Some comments added
r529 return self.__formated_value
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Signal Chain GUI...
r600 if format == 'floatlist':
Miguel Valdez
Some comments added to controller.py
r535 """
Example:
value = (0.5, 1.4, 2.7)
"""
ReceiverData Operation, test PlotData
r889
Miguel Valdez
-Email alert is not sent when a Keyboard error occurred ...
r735 new_value = ast.literal_eval(value)
ReceiverData Operation, test PlotData
r889
Miguel Valdez
-Email alert is not sent when a Keyboard error occurred ...
r735 if type(new_value) not in (tuple, list):
new_value = [float(new_value)]
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Bug fixed in controller.py when floatList is used
r741 self.__formated_value = new_value
ReceiverData Operation, test PlotData
r889
Miguel Valdez
controller.py: Some comments added
r529 return self.__formated_value
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Signal Chain GUI...
r600 if format == 'date':
Miguel Valdez
Busqueda de archivos dentro del directorio indicado (sin busqueda de subdirectorios) activando el flag de lectura 'walk'
r224 strList = value.split('/')
Miguel Valdez
Controlador de Signal Chain finalizado....
r197 intList = [int(x) for x in strList]
date = datetime.date(intList[0], intList[1], intList[2])
ReceiverData Operation, test PlotData
r889
Miguel Valdez
controller.py: Some comments added
r529 self.__formated_value = date
ReceiverData Operation, test PlotData
r889
Miguel Valdez
controller.py: Some comments added
r529 return self.__formated_value
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Signal Chain GUI...
r600 if format == 'time':
Miguel Valdez
Busqueda de archivos dentro del directorio indicado (sin busqueda de subdirectorios) activando el flag de lectura 'walk'
r224 strList = value.split(':')
Miguel Valdez
Controlador de Signal Chain finalizado....
r197 intList = [int(x) for x in strList]
time = datetime.time(intList[0], intList[1], intList[2])
ReceiverData Operation, test PlotData
r889
Miguel Valdez
controller.py: Some comments added
r529 self.__formated_value = time
ReceiverData Operation, test PlotData
r889
Miguel Valdez
controller.py: Some comments added
r529 return self.__formated_value
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Signal Chain GUI...
r600 if format == 'pairslist':
Daniel Valdez
La clase ParameterConf() evalua el valor de entrada como pairslist
r226 """
Example:
value = (0,1),(1,2)
"""
Miguel Valdez
-Email alert is not sent when a Keyboard error occurred ...
r735 new_value = ast.literal_eval(value)
ReceiverData Operation, test PlotData
r889
Miguel Valdez
-Email alert is not sent when a Keyboard error occurred ...
r735 if type(new_value) not in (tuple, list):
raise ValueError, "%s has to be a tuple or list of pairs" %value
ReceiverData Operation, test PlotData
r889
Miguel Valdez
-Email alert is not sent when a Keyboard error occurred ...
r735 if type(new_value[0]) not in (tuple, list):
if len(new_value) != 2:
raise ValueError, "%s has to be a tuple or list of pairs" %value
new_value = [new_value]
ReceiverData Operation, test PlotData
r889
Miguel Valdez
-Email alert is not sent when a Keyboard error occurred ...
r735 for thisPair in new_value:
if len(thisPair) != 2:
raise ValueError, "%s has to be a tuple or list of pairs" %value
ReceiverData Operation, test PlotData
r889
Miguel Valdez
-Email alert is not sent when a Keyboard error occurred ...
r735 self.__formated_value = new_value
ReceiverData Operation, test PlotData
r889
Miguel Valdez
controller.py: Some comments added
r529 return self.__formated_value
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Signal Chain GUI...
r600 if format == 'multilist':
Julio Valdez
First Draft HDF5 IO module
r514 """
Example:
value = (0,1,2),(3,4,5)
"""
multiList = ast.literal_eval(value)
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Signal Chain GUI...
r600 if type(multiList[0]) == int:
multiList = ast.literal_eval("(" + value + ")")
ReceiverData Operation, test PlotData
r889
Miguel Valdez
controller.py: Some comments added
r529 self.__formated_value = multiList
ReceiverData Operation, test PlotData
r889
Miguel Valdez
controller.py: Some comments added
r529 return self.__formated_value
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Bug fixed: translating float values to integer
r677 if format == 'bool':
value = int(value)
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Bug fixed: translating float values to integer
r677 if format == 'int':
value = float(value)
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Signal Chain GUI...
r600 format_func = eval(format)
ReceiverData Operation, test PlotData
r889
Miguel Valdez
controller.py: Some comments added
r529 self.__formated_value = format_func(value)
ReceiverData Operation, test PlotData
r889
Miguel Valdez
controller.py: Some comments added
r529 return self.__formated_value
Miguel Valdez
Signal Chain GUI v2.1
r596
def updateId(self, new_id):
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Signal Chain GUI v2.1
r596 self.id = str(new_id)
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Primera version del controlador probada y testeada incluyendo graficos
r199 def setup(self, id, name, value, format='str'):
Miguel Valdez
Signal Chain GUI v2.1
r596 self.id = str(id)
Miguel Valdez
Controlador de Signal Chain finalizado....
r197 self.name = name
add multiSchain (@jchavez)
r892 if format == 'obj':
self.value = value
else:
self.value = str(value)
Miguel Valdez
Some comments added to controller.py
r535 self.format = str.lower(format)
ReceiverData Operation, test PlotData
r889
Miguel Valdez
-Email alert is not sent when a Keyboard error occurred ...
r735 self.getValue()
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Bugs fixed in Signal Chain GUI:...
r643 return 1
ReceiverData Operation, test PlotData
r889
Miguel Valdez
r577 def update(self, name, value, format='str'):
ReceiverData Operation, test PlotData
r889
Miguel Valdez
r577 self.name = name
self.value = str(value)
self.format = format
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Controlador de Signal Chain finalizado....
r197 def makeXml(self, opElement):
José Chávez
funcionando todo
r898 if self.name not in ('queue',):
parmElement = SubElement(opElement, self.ELEMENTNAME)
parmElement.set('id', str(self.id))
parmElement.set('name', self.name)
parmElement.set('value', self.value)
parmElement.set('format', self.format)
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Controlador de Signal Chain finalizado....
r197 def readXml(self, parmElement):
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Controlador de Signal Chain finalizado....
r197 self.id = parmElement.get('id')
self.name = parmElement.get('name')
self.value = parmElement.get('value')
Miguel Valdez
Merge with branch schain_julia_drifts from rev. 803 to 995....
r568 self.format = str.lower(parmElement.get('format'))
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Merge with branch schain_julia_drifts from rev. 803 to 995....
r568 #Compatible with old signal chain version
if self.format == 'int' and self.name == 'idfigure':
self.name = 'id'
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Controlador de Signal Chain finalizado....
r197 def printattr(self):
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Primera version del controlador probada y testeada incluyendo graficos
r199 print "Parameter[%s]: name = %s, value = %s, format = %s" %(self.id, self.name, self.value, self.format)
Miguel Valdez
Controlador de Signal Chain finalizado....
r197
José Chávez
cambios xmax xmin
r1004 class OperationConf():
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Controlador de Signal Chain finalizado....
r197 id = None
name = None
priority = None
type = None
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Controlador de Signal Chain finalizado....
r197 parmConfObjList = []
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Controlador de Signal Chain finalizado....
r197 ELEMENTNAME = 'Operation'
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Controlador de Signal Chain finalizado....
r197 def __init__(self):
ReceiverData Operation, test PlotData
r889
Miguel Valdez
-USRP Reader was added to Signal Chain GUI...
r589 self.id = '0'
Miguel Valdez
Merge with branch schain_julia_drifts from rev. 803 to 995....
r568 self.name = None
self.priority = None
self.type = 'self'
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Controlador de Signal Chain finalizado....
r197 def __getNewId(self):
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Controlador de Signal Chain finalizado....
r197 return int(self.id)*10 + len(self.parmConfObjList) + 1
Miguel Valdez
Signal Chain GUI v2.1
r596
def updateId(self, new_id):
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Signal Chain GUI v2.1
r596 self.id = str(new_id)
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Signal Chain GUI v2.1
r596 n = 1
for parmObj in self.parmConfObjList:
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Signal Chain GUI v2.1
r596 idParm = str(int(new_id)*10 + n)
parmObj.updateId(idParm)
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Signal Chain GUI v2.1
r596 n += 1
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Controlador de Signal Chain finalizado....
r197 def getElementName(self):
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Controlador de Signal Chain finalizado....
r197 return self.ELEMENTNAME
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Controlador de Signal Chain finalizado....
r197 def getParameterObjList(self):
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Controlador de Signal Chain finalizado....
r197 return self.parmConfObjList
ReceiverData Operation, test PlotData
r889
Miguel Valdez
r577 def getParameterObj(self, parameterName):
ReceiverData Operation, test PlotData
r889
Miguel Valdez
r577 for parmConfObj in self.parmConfObjList:
ReceiverData Operation, test PlotData
r889
Miguel Valdez
r577 if parmConfObj.name != parameterName:
continue
ReceiverData Operation, test PlotData
r889
Miguel Valdez
r577 return parmConfObj
ReceiverData Operation, test PlotData
r889
Miguel Valdez
r577 return None
Miguel Valdez
Bugs fixed: Error selecting FTP parameters in Signal Chain GUI
r606 def getParameterObjfromValue(self, parameterValue):
ReceiverData Operation, test PlotData
r889
Miguel Valdez
r577 for parmConfObj in self.parmConfObjList:
ReceiverData Operation, test PlotData
r889
Miguel Valdez
r577 if parmConfObj.getValue() != parameterValue:
continue
ReceiverData Operation, test PlotData
r889
Miguel Valdez
r577 return parmConfObj.getValue()
ReceiverData Operation, test PlotData
r889
Miguel Valdez
r577 return None
ReceiverData Operation, test PlotData
r889
Miguel Valdez
r577 def getParameterValue(self, parameterName):
ReceiverData Operation, test PlotData
r889
Miguel Valdez
r577 parameterObj = self.getParameterObj(parameterName)
ReceiverData Operation, test PlotData
r889
José Chávez
cambios xmax xmin
r1004 # if not parameterObj:
# return None
ReceiverData Operation, test PlotData
r889
Miguel Valdez
r577 value = parameterObj.getValue()
ReceiverData Operation, test PlotData
r889
Miguel Valdez
r577 return value
ReceiverData Operation, test PlotData
r889
def getKwargs(self):
kwargs = {}
for parmConfObj in self.parmConfObjList:
if self.name == 'run' and parmConfObj.name == 'datatype':
continue
kwargs[parmConfObj.name] = parmConfObj.getValue()
return kwargs
Miguel Valdez
Controlador de Signal Chain finalizado....
r197 def setup(self, id, name, priority, type):
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Signal Chain GUI v2.1
r596 self.id = str(id)
Miguel Valdez
Controlador de Signal Chain finalizado....
r197 self.name = name
self.type = type
self.priority = priority
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Controlador de Signal Chain finalizado....
r197 self.parmConfObjList = []
ReceiverData Operation, test PlotData
r889
Miguel Valdez
r577 def removeParameters(self):
ReceiverData Operation, test PlotData
r889
Miguel Valdez
r577 for obj in self.parmConfObjList:
del obj
ReceiverData Operation, test PlotData
r889
Miguel Valdez
r577 self.parmConfObjList = []
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Primera version del controlador probada y testeada incluyendo graficos
r199 def addParameter(self, name, value, format='str'):
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Controlador de Signal Chain finalizado....
r197 id = self.__getNewId()
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Controlador de Signal Chain finalizado....
r197 parmConfObj = ParameterConf()
Miguel Valdez
Bugs fixed in Signal Chain GUI:...
r643 if not parmConfObj.setup(id, name, value, format):
return None
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Controlador de Signal Chain finalizado....
r197 self.parmConfObjList.append(parmConfObj)
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Controlador de Signal Chain finalizado....
r197 return parmConfObj
ReceiverData Operation, test PlotData
r889
Miguel Valdez
r577 def changeParameter(self, name, value, format='str'):
ReceiverData Operation, test PlotData
r889
Miguel Valdez
r577 parmConfObj = self.getParameterObj(name)
parmConfObj.update(name, value, format)
ReceiverData Operation, test PlotData
r889
Miguel Valdez
r577 return parmConfObj
ReceiverData Operation, test PlotData
r889
Miguel Valdez
r681 def makeXml(self, procUnitElement):
ReceiverData Operation, test PlotData
r889
Miguel Valdez
r681 opElement = SubElement(procUnitElement, self.ELEMENTNAME)
Miguel Valdez
Controlador de Signal Chain finalizado....
r197 opElement.set('id', str(self.id))
opElement.set('name', self.name)
opElement.set('type', self.type)
opElement.set('priority', str(self.priority))
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Controlador de Signal Chain finalizado....
r197 for parmConfObj in self.parmConfObjList:
parmConfObj.makeXml(opElement)
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Controlador de Signal Chain finalizado....
r197 def readXml(self, opElement):
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Controlador de Signal Chain finalizado....
r197 self.id = opElement.get('id')
self.name = opElement.get('name')
self.type = opElement.get('type')
self.priority = opElement.get('priority')
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Merge with branch schain_julia_drifts from rev. 803 to 995....
r568 #Compatible with old signal chain version
#Use of 'run' method instead 'init'
if self.type == 'self' and self.name == 'init':
self.name = 'run'
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Controlador de Signal Chain finalizado....
r197 self.parmConfObjList = []
ReceiverData Operation, test PlotData
r889
Juan C. Valdez
Version 2.2.5 Fixed several bugs, add jro colormap for spectra/rti, add ParamWriter, TODO: Fix decimation currently disabled
r860 parmElementList = opElement.iter(ParameterConf().getElementName())
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Controlador de Signal Chain finalizado....
r197 for parmElement in parmElementList:
parmConfObj = ParameterConf()
parmConfObj.readXml(parmElement)
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Merge with branch schain_julia_drifts from rev. 803 to 995....
r568 #Compatible with old signal chain version
#If an 'plot' OPERATION is found, changes name operation by the value of its type PARAMETER
if self.type != 'self' and self.name == 'Plot':
if parmConfObj.format == 'str' and parmConfObj.name == 'type':
self.name = parmConfObj.value
continue
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Merge with branch schain_julia_drifts from rev. 803 to 995....
r568 self.parmConfObjList.append(parmConfObj)
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Controlador de Signal Chain finalizado....
r197 def printattr(self):
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Controlador de Signal Chain finalizado....
r197 print "%s[%s]: name = %s, type = %s, priority = %s" %(self.ELEMENTNAME,
self.id,
self.name,
self.type,
self.priority)
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Controlador de Signal Chain finalizado....
r197 for parmConfObj in self.parmConfObjList:
parmConfObj.printattr()
ReceiverData Operation, test PlotData
r889
Miguel Valdez
A new Plotter Class was added for plotting using queues
r691 def createObject(self, plotter_queue=None):
ReceiverData Operation, test PlotData
r889
José Chávez
exiting processes properly
r924
if self.type == 'self':
Miguel Valdez
Controlador de Signal Chain finalizado....
r197 raise ValueError, "This operation type cannot be created"
ReceiverData Operation, test PlotData
r889
Miguel Valdez
A new Plotter Class was added for plotting using queues
r691 if self.type == 'plotter':
#Plotter(plotter_name)
Miguel Valdez
v2.2.0: Controller updated
r708 if not plotter_queue:
raise ValueError, "plotter_queue is not defined. Use:\nmyProject = Project()\nmyProject.setPlotterQueue(plotter_queue)"
ReceiverData Operation, test PlotData
r889
Miguel Valdez
A new Plotter Class was added for plotting using queues
r691 opObj = Plotter(self.name, plotter_queue)
ReceiverData Operation, test PlotData
r889
Daniel Valdez
This is the new organization by packages and scripts for Signal Chain, this version contains new features and bugs fixed until August 2014
r487 if self.type == 'external' or self.type == 'other':
José Chávez
exiting processes properly
r924
Miguel Valdez
Controlador de Signal Chain finalizado....
r197 className = eval(self.name)
ReceiverData Operation, test PlotData
r889 kwargs = self.getKwargs()
José Chávez
exiting processes properly
r924
ReceiverData Operation, test PlotData
r889 opObj = className(**kwargs)
Miguel Valdez
Controlador de Signal Chain finalizado....
r197 return opObj
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Controlador de Signal Chain finalizado....
r197 class ProcUnitConf():
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Controlador de Signal Chain finalizado....
r197 id = None
name = None
Miguel Valdez
Primera version del controlador probada y testeada incluyendo graficos
r199 datatype = None
Miguel Valdez
Controlador de Signal Chain finalizado....
r197 inputId = None
Miguel Valdez
r577 parentId = None
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Controlador de Signal Chain finalizado....
r197 opConfObjList = []
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Controlador de Signal Chain finalizado....
r197 procUnitObj = None
opObjList = []
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Controlador de Signal Chain finalizado....
r197 ELEMENTNAME = 'ProcUnit'
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Controlador de Signal Chain finalizado....
r197 def __init__(self):
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Controlador de Signal Chain finalizado....
r197 self.id = None
Miguel Valdez
Primera version del controlador probada y testeada incluyendo graficos
r199 self.datatype = None
Miguel Valdez
Controlador de Signal Chain finalizado....
r197 self.name = None
self.inputId = None
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Controlador de Signal Chain finalizado....
r197 self.opConfObjList = []
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Controlador de Signal Chain finalizado....
r197 self.procUnitObj = None
self.opObjDict = {}
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Controlador de Signal Chain finalizado....
r197 def __getPriority(self):
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Controlador de Signal Chain finalizado....
r197 return len(self.opConfObjList)+1
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Controlador de Signal Chain finalizado....
r197 def __getNewId(self):
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Controlador de Signal Chain finalizado....
r197 return int(self.id)*10 + len(self.opConfObjList) + 1
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Controlador de Signal Chain finalizado....
r197 def getElementName(self):
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Controlador de Signal Chain finalizado....
r197 return self.ELEMENTNAME
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Controlador de Signal Chain finalizado....
r197 def getId(self):
ReceiverData Operation, test PlotData
r889
Miguel Valdez
-USRP Reader was added to Signal Chain GUI...
r589 return self.id
Miguel Valdez
Signal Chain GUI v2.1
r596
def updateId(self, new_id, parentId=parentId):
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Signal Chain GUI v2.1
r596 new_id = int(parentId)*10 + (int(self.id) % 10)
new_inputId = int(parentId)*10 + (int(self.inputId) % 10)
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Signal Chain GUI v2.1
r596 #If this proc unit has not inputs
if self.inputId == '0':
new_inputId = 0
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Signal Chain GUI v2.1
r596 n = 1
for opConfObj in self.opConfObjList:
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Signal Chain GUI v2.1
r596 idOp = str(int(new_id)*10 + n)
opConfObj.updateId(idOp)
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Signal Chain GUI v2.1
r596 n += 1
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Signal Chain GUI v2.1
r596 self.parentId = str(parentId)
self.id = str(new_id)
self.inputId = str(new_inputId)
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Controlador de Signal Chain finalizado....
r197 def getInputId(self):
ReceiverData Operation, test PlotData
r889
Miguel Valdez
-USRP Reader was added to Signal Chain GUI...
r589 return self.inputId
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Controlador de Signal Chain finalizado....
r197 def getOperationObjList(self):
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Controlador de Signal Chain finalizado....
r197 return self.opConfObjList
ReceiverData Operation, test PlotData
r889
Miguel Valdez
r577 def getOperationObj(self, name=None):
ReceiverData Operation, test PlotData
r889
Miguel Valdez
r577 for opConfObj in self.opConfObjList:
ReceiverData Operation, test PlotData
r889
Miguel Valdez
r577 if opConfObj.name != name:
continue
ReceiverData Operation, test PlotData
r889
Miguel Valdez
r577 return opConfObj
ReceiverData Operation, test PlotData
r889
Miguel Valdez
r577 return None
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Bugs fixed: Error selecting FTP parameters in Signal Chain GUI
r606 def getOpObjfromParamValue(self, value=None):
ReceiverData Operation, test PlotData
r889
Miguel Valdez
r577 for opConfObj in self.opConfObjList:
if opConfObj.getParameterObjfromValue(parameterValue=value) != value:
continue
return opConfObj
return None
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Controlador de Signal Chain finalizado....
r197 def getProcUnitObj(self):
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Controlador de Signal Chain finalizado....
r197 return self.procUnitObj
ReceiverData Operation, test PlotData
r889
Miguel Valdez
r577 def setup(self, id, name, datatype, inputId, parentId=None):
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Signal Chain GUI v2.1
r596 #Compatible with old signal chain version
if datatype==None and name==None:
raise ValueError, "datatype or name should be defined"
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Signal Chain GUI v2.1
r596 if name==None:
if 'Proc' in datatype:
name = datatype
else:
name = '%sProc' %(datatype)
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Signal Chain GUI v2.1
r596 if datatype==None:
datatype = name.replace('Proc','')
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Signal Chain GUI v2.1
r596 self.id = str(id)
Miguel Valdez
Controlador de Signal Chain finalizado....
r197 self.name = name
Miguel Valdez
Primera version del controlador probada y testeada incluyendo graficos
r199 self.datatype = datatype
Miguel Valdez
Controlador de Signal Chain finalizado....
r197 self.inputId = inputId
Miguel Valdez
r577 self.parentId = parentId
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Controlador de Signal Chain finalizado....
r197 self.opConfObjList = []
ReceiverData Operation, test PlotData
r889
Daniel Valdez
This is the new organization by packages and scripts for Signal Chain, this version contains new features and bugs fixed until August 2014
r487 self.addOperation(name='run', optype='self')
ReceiverData Operation, test PlotData
r889
Miguel Valdez
r577 def removeOperations(self):
ReceiverData Operation, test PlotData
r889
Miguel Valdez
r577 for obj in self.opConfObjList:
del obj
ReceiverData Operation, test PlotData
r889
Miguel Valdez
r577 self.opConfObjList = []
self.addOperation(name='run')
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Se agrego selectHeisa VoltageProc
r219 def addParameter(self, **kwargs):
Miguel Valdez
Signal Chain GUI updated:...
r580 '''
Add parameters to "run" operation
'''
Miguel Valdez
Se agrego selectHeisa VoltageProc
r219 opObj = self.opConfObjList[0]
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Se agrego selectHeisa VoltageProc
r219 opObj.addParameter(**kwargs)
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Se agrego selectHeisa VoltageProc
r219 return opObj
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Controlador de Signal Chain finalizado....
r197 def addOperation(self, name, optype='self'):
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Controlador de Signal Chain finalizado....
r197 id = self.__getNewId()
ReceiverData Operation, test PlotData
r889 priority = self.__getPriority()
Miguel Valdez
Controlador de Signal Chain finalizado....
r197 opConfObj = OperationConf()
opConfObj.setup(id, name=name, priority=priority, type=optype)
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Controlador de Signal Chain finalizado....
r197 self.opConfObjList.append(opConfObj)
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Controlador de Signal Chain finalizado....
r197 return opConfObj
ReceiverData Operation, test PlotData
r889
Miguel Valdez
r681 def makeXml(self, projectElement):
ReceiverData Operation, test PlotData
r889
Miguel Valdez
r681 procUnitElement = SubElement(projectElement, self.ELEMENTNAME)
procUnitElement.set('id', str(self.id))
procUnitElement.set('name', self.name)
procUnitElement.set('datatype', self.datatype)
procUnitElement.set('inputId', str(self.inputId))
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Controlador de Signal Chain finalizado....
r197 for opConfObj in self.opConfObjList:
Miguel Valdez
r681 opConfObj.makeXml(procUnitElement)
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Controlador de Signal Chain finalizado....
r197 def readXml(self, upElement):
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Controlador de Signal Chain finalizado....
r197 self.id = upElement.get('id')
self.name = upElement.get('name')
Miguel Valdez
Primera version del controlador probada y testeada incluyendo graficos
r199 self.datatype = upElement.get('datatype')
Miguel Valdez
Controlador de Signal Chain finalizado....
r197 self.inputId = upElement.get('inputId')
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Signal Chain GUI v2.1
r596 if self.ELEMENTNAME == "ReadUnit":
self.datatype = self.datatype.replace("Reader", "")
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Signal Chain GUI v2.1
r596 if self.ELEMENTNAME == "ProcUnit":
self.datatype = self.datatype.replace("Proc", "")
ReceiverData Operation, test PlotData
r889
Miguel Valdez
-USRP Reader was added to Signal Chain GUI...
r589 if self.inputId == 'None':
self.inputId = '0'
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Controlador de Signal Chain finalizado....
r197 self.opConfObjList = []
ReceiverData Operation, test PlotData
r889
Juan C. Valdez
Version 2.2.5 Fixed several bugs, add jro colormap for spectra/rti, add ParamWriter, TODO: Fix decimation currently disabled
r860 opElementList = upElement.iter(OperationConf().getElementName())
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Controlador de Signal Chain finalizado....
r197 for opElement in opElementList:
opConfObj = OperationConf()
opConfObj.readXml(opElement)
self.opConfObjList.append(opConfObj)
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Controlador de Signal Chain finalizado....
r197 def printattr(self):
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Primera version del controlador probada y testeada incluyendo graficos
r199 print "%s[%s]: name = %s, datatype = %s, inputId = %s" %(self.ELEMENTNAME,
Miguel Valdez
Controlador de Signal Chain finalizado....
r197 self.id,
self.name,
Miguel Valdez
Primera version del controlador probada y testeada incluyendo graficos
r199 self.datatype,
Miguel Valdez
Controlador de Signal Chain finalizado....
r197 self.inputId)
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Controlador de Signal Chain finalizado....
r197 for opConfObj in self.opConfObjList:
opConfObj.printattr()
ReceiverData Operation, test PlotData
r889
def getKwargs(self):
opObj = self.opConfObjList[0]
kwargs = opObj.getKwargs()
return kwargs
Miguel Valdez
A new Plotter Class was added for plotting using queues
r691 def createObjects(self, plotter_queue=None):
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Controlador de Signal Chain finalizado....
r197 className = eval(self.name)
ReceiverData Operation, test PlotData
r889 kwargs = self.getKwargs()
procUnitObj = className(**kwargs)
José Chávez
exiting processes properly
r924 for opConfObj in self.opConfObjList:
Juan C. Espinoza
Update version, fix kwargs for self operations (methods), Add SendToWeb...
r906 if opConfObj.type=='self' and self.name=='run':
continue
José Chávez
exiting processes properly
r924 elif opConfObj.type=='self':
Juan C. Espinoza
Update version, fix kwargs for self operations (methods), Add SendToWeb...
r906 procUnitObj.addOperationKwargs(opConfObj.id, **opConfObj.getKwargs())
Miguel Valdez
Controlador de Signal Chain finalizado....
r197 continue
ReceiverData Operation, test PlotData
r889
Miguel Valdez
A new Plotter Class was added for plotting using queues
r691 opObj = opConfObj.createObject(plotter_queue)
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Controlador de Signal Chain finalizado....
r197 self.opObjDict[opConfObj.id] = opObj
José Chávez
exiting processes properly
r924
Miguel Valdez
Controlador de Signal Chain finalizado....
r197 procUnitObj.addOperation(opObj, opConfObj.id)
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Controlador de Signal Chain finalizado....
r197 self.procUnitObj = procUnitObj
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Controlador de Signal Chain finalizado....
r197 return procUnitObj
ReceiverData Operation, test PlotData
r889
José Chávez
cambios xmax xmin
r1004 ## @profile
Miguel Valdez
Controlador de Signal Chain finalizado....
r197 def run(self):
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Version: 2.1.3.2...
r672 is_ok = False
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Controlador de Signal Chain finalizado....
r197 for opConfObj in self.opConfObjList:
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Controlador de Signal Chain finalizado....
r197 kwargs = {}
for parmConfObj in opConfObj.getParameterObjList():
Miguel Valdez
r577 if opConfObj.name == 'run' and parmConfObj.name == 'datatype':
continue
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Controlador de Signal Chain finalizado....
r197 kwargs[parmConfObj.name] = parmConfObj.getValue()
ReceiverData Operation, test PlotData
r889
Juan C. Valdez
comment unused var in controller.py
r874 #ini = time.time()
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Primera version del controlador probada y testeada incluyendo graficos
r199 #print "\tRunning the '%s' operation with %s" %(opConfObj.name, opConfObj.id)
Daniel Valdez
This is the new organization by packages and scripts for Signal Chain, this version contains new features and bugs fixed until August 2014
r487 sts = self.procUnitObj.call(opType = opConfObj.type,
opName = opConfObj.name,
opId = opConfObj.id,
ReceiverData Operation, test PlotData
r889 )
José Chávez
cambios xmax xmin
r1004 # total_time = time.time() - ini
#
# if total_time > 0.002:
# print "%s::%s took %f seconds" %(self.name, opConfObj.name, total_time)
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Version: 2.1.3.2...
r672 is_ok = is_ok or sts
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Version: 2.1.3.2...
r672 return is_ok
Miguel Valdez
A new SendToServer Unit has been created to upload files to a remote server....
r573
def close(self):
ReceiverData Operation, test PlotData
r889
Miguel Valdez
r577 for opConfObj in self.opConfObjList:
if opConfObj.type == 'self':
continue
ReceiverData Operation, test PlotData
r889
Miguel Valdez
r577 opObj = self.procUnitObj.getOperationObj(opConfObj.id)
opObj.close()
ReceiverData Operation, test PlotData
r889
Miguel Valdez
r577 self.procUnitObj.close()
ReceiverData Operation, test PlotData
r889
Miguel Valdez
A new SendToServer Unit has been created to upload files to a remote server....
r573 return
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Controlador de Signal Chain finalizado....
r197 class ReadUnitConf(ProcUnitConf):
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Controlador de Signal Chain finalizado....
r197 path = None
startDate = None
endDate = None
startTime = None
endTime = None
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Controlador de Signal Chain finalizado....
r197 ELEMENTNAME = 'ReadUnit'
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Controlador de Signal Chain finalizado....
r197 def __init__(self):
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Controlador de Signal Chain finalizado....
r197 self.id = None
Miguel Valdez
Primera version del controlador probada y testeada incluyendo graficos
r199 self.datatype = None
Miguel Valdez
Controlador de Signal Chain finalizado....
r197 self.name = None
Miguel Valdez
-USRP Reader was added to Signal Chain GUI...
r589 self.inputId = None
ReceiverData Operation, test PlotData
r889
Miguel Valdez
-USRP Reader was added to Signal Chain GUI...
r589 self.parentId = None
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Controlador de Signal Chain finalizado....
r197 self.opConfObjList = []
self.opObjList = []
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Controlador de Signal Chain finalizado....
r197 def getElementName(self):
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Controlador de Signal Chain finalizado....
r197 return self.ELEMENTNAME
ReceiverData Operation, test PlotData
r889
José Chávez
pruebas jrovoltage
r963 def setup(self, id, name, datatype, path='', startDate="", endDate="", startTime="",
endTime="", parentId=None, queue=None, server=None, **kwargs):
Miguel Valdez
Signal Chain GUI v2.1
r596
#Compatible with old signal chain version
if datatype==None and name==None:
raise ValueError, "datatype or name should be defined"
José Chávez
pruebas jrovoltage
r963
Miguel Valdez
Signal Chain GUI v2.1
r596 if name==None:
if 'Reader' in datatype:
name = datatype
else:
name = '%sReader' %(datatype)
if datatype==None:
datatype = name.replace('Reader','')
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Controlador de Signal Chain finalizado....
r197 self.id = id
self.name = name
Miguel Valdez
Primera version del controlador probada y testeada incluyendo graficos
r199 self.datatype = datatype
José Chávez
pruebas jrovoltage
r963 if path != '':
self.path = os.path.abspath(path)
Miguel Valdez
Controlador de Signal Chain finalizado....
r197 self.startDate = startDate
self.endDate = endDate
self.startTime = startTime
self.endTime = endTime
ReceiverData Operation, test PlotData
r889
Miguel Valdez
-USRP Reader was added to Signal Chain GUI...
r589 self.inputId = '0'
self.parentId = parentId
add multiSchain (@jchavez)
r892 self.queue = queue
José Chávez
pruebas jrovoltage
r963 self.server = server
Miguel Valdez
Busqueda de archivos dentro del directorio indicado (sin busqueda de subdirectorios) activando el flag de lectura 'walk'
r224 self.addRunOperation(**kwargs)
ReceiverData Operation, test PlotData
r889
Miguel Valdez
-USRP Reader was added to Signal Chain GUI...
r589 def update(self, datatype, path, startDate, endDate, startTime, endTime, parentId=None, name=None, **kwargs):
Miguel Valdez
Signal Chain GUI v2.1
r596 #Compatible with old signal chain version
if datatype==None and name==None:
raise ValueError, "datatype or name should be defined"
ReceiverData Operation, test PlotData
r889
Miguel Valdez
-USRP Reader was added to Signal Chain GUI...
r589 if name==None:
if 'Reader' in datatype:
name = datatype
else:
name = '%sReader' %(datatype)
ReceiverData Operation, test PlotData
r889
Miguel Valdez
-USRP Reader was added to Signal Chain GUI...
r589 if datatype==None:
datatype = name.replace('Reader','')
ReceiverData Operation, test PlotData
r889
Miguel Valdez
r577 self.datatype = datatype
Miguel Valdez
-USRP Reader was added to Signal Chain GUI...
r589 self.name = name
Miguel Valdez
r577 self.path = path
self.startDate = startDate
self.endDate = endDate
self.startTime = startTime
self.endTime = endTime
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Signal Chain GUI v2.1
r596 self.inputId = '0'
Miguel Valdez
-USRP Reader was added to Signal Chain GUI...
r589 self.parentId = parentId
ReceiverData Operation, test PlotData
r889
Miguel Valdez
r577 self.updateRunOperation(**kwargs)
ReceiverData Operation, test PlotData
r889
Miguel Valdez
GUI: minor changes
r687 def removeOperations(self):
ReceiverData Operation, test PlotData
r889
Miguel Valdez
GUI: minor changes
r687 for obj in self.opConfObjList:
del obj
ReceiverData Operation, test PlotData
r889
Miguel Valdez
GUI: minor changes
r687 self.opConfObjList = []
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Busqueda de archivos dentro del directorio indicado (sin busqueda de subdirectorios) activando el flag de lectura 'walk'
r224 def addRunOperation(self, **kwargs):
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Controlador de Signal Chain finalizado....
r197 opObj = self.addOperation(name = 'run', optype = 'self')
ReceiverData Operation, test PlotData
r889
José Chávez
pruebas jrovoltage
r963 if self.server is None:
opObj.addParameter(name='datatype' , value=self.datatype, format='str')
opObj.addParameter(name='path' , value=self.path, format='str')
opObj.addParameter(name='startDate' , value=self.startDate, format='date')
opObj.addParameter(name='endDate' , value=self.endDate, format='date')
opObj.addParameter(name='startTime' , value=self.startTime, format='time')
opObj.addParameter(name='endTime' , value=self.endTime, format='time')
opObj.addParameter(name='queue' , value=self.queue, format='obj')
for key, value in kwargs.items():
opObj.addParameter(name=key, value=value, format=type(value).__name__)
else:
opObj.addParameter(name='server' , value=self.server, format='str')
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Controlador de Signal Chain finalizado....
r197 return opObj
ReceiverData Operation, test PlotData
r889
Miguel Valdez
r577 def updateRunOperation(self, **kwargs):
ReceiverData Operation, test PlotData
r889
Miguel Valdez
r577 opObj = self.getOperationObj(name = 'run')
opObj.removeParameters()
ReceiverData Operation, test PlotData
r889
Miguel Valdez
r577 opObj.addParameter(name='datatype' , value=self.datatype, format='str')
opObj.addParameter(name='path' , value=self.path, format='str')
opObj.addParameter(name='startDate' , value=self.startDate, format='date')
opObj.addParameter(name='endDate' , value=self.endDate, format='date')
opObj.addParameter(name='startTime' , value=self.startTime, format='time')
opObj.addParameter(name='endTime' , value=self.endTime, format='time')
ReceiverData Operation, test PlotData
r889
Miguel Valdez
r577 for key, value in kwargs.items():
opObj.addParameter(name=key, value=value, format=type(value).__name__)
ReceiverData Operation, test PlotData
r889
Miguel Valdez
r577 return opObj
ReceiverData Operation, test PlotData
r889
José Chávez
cambios xmax xmin
r1004 # def makeXml(self, projectElement):
#
# procUnitElement = SubElement(projectElement, self.ELEMENTNAME)
# procUnitElement.set('id', str(self.id))
# procUnitElement.set('name', self.name)
# procUnitElement.set('datatype', self.datatype)
# procUnitElement.set('inputId', str(self.inputId))
#
# for opConfObj in self.opConfObjList:
# opConfObj.makeXml(procUnitElement)
ReceiverData Operation, test PlotData
r889
Miguel Valdez
r681 def readXml(self, upElement):
ReceiverData Operation, test PlotData
r889
Miguel Valdez
r681 self.id = upElement.get('id')
self.name = upElement.get('name')
self.datatype = upElement.get('datatype')
self.inputId = upElement.get('inputId')
ReceiverData Operation, test PlotData
r889
Miguel Valdez
r681 if self.ELEMENTNAME == "ReadUnit":
self.datatype = self.datatype.replace("Reader", "")
ReceiverData Operation, test PlotData
r889
Miguel Valdez
r681 if self.inputId == 'None':
self.inputId = '0'
ReceiverData Operation, test PlotData
r889
Miguel Valdez
r681 self.opConfObjList = []
ReceiverData Operation, test PlotData
r889
Juan C. Valdez
Version 2.2.5 Fixed several bugs, add jro colormap for spectra/rti, add ParamWriter, TODO: Fix decimation currently disabled
r860 opElementList = upElement.iter(OperationConf().getElementName())
ReceiverData Operation, test PlotData
r889
Miguel Valdez
r681 for opElement in opElementList:
opConfObj = OperationConf()
opConfObj.readXml(opElement)
self.opConfObjList.append(opConfObj)
ReceiverData Operation, test PlotData
r889
Miguel Valdez
r681 if opConfObj.name == 'run':
self.path = opConfObj.getParameterValue('path')
self.startDate = opConfObj.getParameterValue('startDate')
self.endDate = opConfObj.getParameterValue('endDate')
self.startTime = opConfObj.getParameterValue('startTime')
self.endTime = opConfObj.getParameterValue('endTime')
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Busqueda de archivos dentro del directorio indicado (sin busqueda de subdirectorios) activando el flag de lectura 'walk'
r224 class Project():
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Controlador de Signal Chain finalizado....
r197 id = None
name = None
description = None
Miguel Valdez
r681 filename = None
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Controlador de Signal Chain finalizado....
r197 procUnitConfObjDict = None
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Busqueda de archivos dentro del directorio indicado (sin busqueda de subdirectorios) activando el flag de lectura 'walk'
r224 ELEMENTNAME = 'Project'
ReceiverData Operation, test PlotData
r889
Miguel Valdez
External plotter simplified.
r716 plotterQueue = None
ReceiverData Operation, test PlotData
r889
Miguel Valdez
v2.2.0: Controller updated
r708 def __init__(self, plotter_queue=None):
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Controlador de Signal Chain finalizado....
r197 self.id = None
self.name = None
self.description = None
ReceiverData Operation, test PlotData
r889
Miguel Valdez
External plotter simplified.
r716 self.plotterQueue = plotter_queue
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Controlador de Signal Chain finalizado....
r197 self.procUnitConfObjDict = {}
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Controlador de Signal Chain finalizado....
r197 def __getNewId(self):
ReceiverData Operation, test PlotData
r889
Miguel Valdez
r764 idList = self.procUnitConfObjDict.keys()
ReceiverData Operation, test PlotData
r889
Miguel Valdez
r764 id = int(self.id)*10
ReceiverData Operation, test PlotData
r889
Miguel Valdez
r764 while True:
id += 1
ReceiverData Operation, test PlotData
r889
Miguel Valdez
r764 if str(id) in idList:
continue
ReceiverData Operation, test PlotData
r889
Miguel Valdez
r764 break
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Controlador de Signal Chain finalizado....
r197 return str(id)
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Controlador de Signal Chain finalizado....
r197 def getElementName(self):
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Controlador de Signal Chain finalizado....
r197 return self.ELEMENTNAME
Miguel Valdez
r577
def getId(self):
ReceiverData Operation, test PlotData
r889
Miguel Valdez
r577 return self.id
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Signal Chain GUI v2.1
r596 def updateId(self, new_id):
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Signal Chain GUI v2.1
r596 self.id = str(new_id)
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Signal Chain GUI v2.1
r596 keyList = self.procUnitConfObjDict.keys()
keyList.sort()
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Signal Chain GUI v2.1
r596 n = 1
newProcUnitConfObjDict = {}
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Signal Chain GUI v2.1
r596 for procKey in keyList:
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Signal Chain GUI v2.1
r596 procUnitConfObj = self.procUnitConfObjDict[procKey]
idProcUnit = str(int(self.id)*10 + n)
procUnitConfObj.updateId(idProcUnit, parentId = self.id)
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Signal Chain GUI v2.1
r596 newProcUnitConfObjDict[idProcUnit] = procUnitConfObj
n += 1
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Signal Chain GUI v2.1
r596 self.procUnitConfObjDict = newProcUnitConfObjDict
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Controlador de Signal Chain finalizado....
r197 def setup(self, id, name, description):
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Signal Chain GUI v2.1
r596 self.id = str(id)
Miguel Valdez
Controlador de Signal Chain finalizado....
r197 self.name = name
self.description = description
Miguel Valdez
r577
def update(self, name, description):
ReceiverData Operation, test PlotData
r889
Miguel Valdez
r577 self.name = name
self.description = description
ReceiverData Operation, test PlotData
r889
Miguel Valdez
GUI: minor changes
r687 def addReadUnit(self, id=None, datatype=None, name=None, **kwargs):
ReceiverData Operation, test PlotData
r889
Miguel Valdez
GUI: minor changes
r687 if id is None:
idReadUnit = self.__getNewId()
else:
idReadUnit = str(id)
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Controlador de Signal Chain finalizado....
r197 readUnitConfObj = ReadUnitConf()
Miguel Valdez
-USRP Reader was added to Signal Chain GUI...
r589 readUnitConfObj.setup(idReadUnit, name, datatype, parentId=self.id, **kwargs)
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Controlador de Signal Chain finalizado....
r197 self.procUnitConfObjDict[readUnitConfObj.getId()] = readUnitConfObj
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Controlador de Signal Chain finalizado....
r197 return readUnitConfObj
ReceiverData Operation, test PlotData
r889
Miguel Valdez
-USRP Reader was added to Signal Chain GUI...
r589 def addProcUnit(self, inputId='0', datatype=None, name=None):
ReceiverData Operation, test PlotData
r889
Miguel Valdez
-USRP Reader was added to Signal Chain GUI...
r589 idProcUnit = self.__getNewId()
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Controlador de Signal Chain finalizado....
r197 procUnitConfObj = ProcUnitConf()
Miguel Valdez
-USRP Reader was added to Signal Chain GUI...
r589 procUnitConfObj.setup(idProcUnit, name, datatype, inputId, parentId=self.id)
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Controlador de Signal Chain finalizado....
r197 self.procUnitConfObjDict[procUnitConfObj.getId()] = procUnitConfObj
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Controlador de Signal Chain finalizado....
r197 return procUnitConfObj
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Signal Chain GUI updated:...
r587 def removeProcUnit(self, id):
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Signal Chain GUI updated:...
r587 if id in self.procUnitConfObjDict.keys():
self.procUnitConfObjDict.pop(id)
ReceiverData Operation, test PlotData
r889
Miguel Valdez
r577 def getReadUnitId(self):
ReceiverData Operation, test PlotData
r889
Miguel Valdez
r577 readUnitConfObj = self.getReadUnitObj()
ReceiverData Operation, test PlotData
r889
Miguel Valdez
r577 return readUnitConfObj.id
ReceiverData Operation, test PlotData
r889
Miguel Valdez
r577 def getReadUnitObj(self):
ReceiverData Operation, test PlotData
r889
Miguel Valdez
r577 for obj in self.procUnitConfObjDict.values():
if obj.getElementName() == "ReadUnit":
return obj
ReceiverData Operation, test PlotData
r889
Miguel Valdez
r577 return None
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Bugs fixed: Error selecting FTP parameters in Signal Chain GUI
r606 def getProcUnitObj(self, id=None, name=None):
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Bugs fixed: Error selecting FTP parameters in Signal Chain GUI
r606 if id != None:
return self.procUnitConfObjDict[id]
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Bugs fixed: Error selecting FTP parameters in Signal Chain GUI
r606 if name != None:
return self.getProcUnitObjByName(name)
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Bugs fixed: Error selecting FTP parameters in Signal Chain GUI
r606 return None
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Bug fixed in SignalChain GUI:...
r581 def getProcUnitObjByName(self, name):
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Bug fixed in SignalChain GUI:...
r581 for obj in self.procUnitConfObjDict.values():
if obj.name == name:
return obj
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Bug fixed in SignalChain GUI:...
r581 return None
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Bugs fixed: Error selecting FTP parameters in Signal Chain GUI
r606 def procUnitItems(self):
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Bugs fixed: Error selecting FTP parameters in Signal Chain GUI
r606 return self.procUnitConfObjDict.items()
ReceiverData Operation, test PlotData
r889
def makeXml(self):
Miguel Valdez
Busqueda de archivos dentro del directorio indicado (sin busqueda de subdirectorios) activando el flag de lectura 'walk'
r224 projectElement = Element('Project')
Miguel Valdez
Controlador de Signal Chain finalizado....
r197 projectElement.set('id', str(self.id))
projectElement.set('name', self.name)
projectElement.set('description', self.description)
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Controlador de Signal Chain finalizado....
r197 for procUnitConfObj in self.procUnitConfObjDict.values():
procUnitConfObj.makeXml(projectElement)
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Controlador de Signal Chain finalizado....
r197 self.projectElement = projectElement
ReceiverData Operation, test PlotData
r889
Miguel Valdez
controller.py: minor changes
r702 def writeXml(self, filename=None):
ReceiverData Operation, test PlotData
r889
Miguel Valdez
controller.py: minor changes
r702 if filename == None:
Miguel Valdez
v2.2.0: Controller updated
r708 if self.filename:
filename = self.filename
else:
filename = "schain.xml"
ReceiverData Operation, test PlotData
r889
Miguel Valdez
controller.py: minor changes
r702 if not filename:
print "filename has not been defined. Use setFilename(filename) for do it."
return 0
ReceiverData Operation, test PlotData
r889
Miguel Valdez
GUI: minor changes
r687 abs_file = os.path.abspath(filename)
ReceiverData Operation, test PlotData
r889
Miguel Valdez
GUI: minor changes
r687 if not os.access(os.path.dirname(abs_file), os.W_OK):
print "No write permission on %s" %os.path.dirname(abs_file)
Miguel Valdez
r681 return 0
ReceiverData Operation, test PlotData
r889
Miguel Valdez
GUI: minor changes
r687 if os.path.isfile(abs_file) and not(os.access(abs_file, os.W_OK)):
print "File %s already exists and it could not be overwriten" %abs_file
Miguel Valdez
r681 return 0
ReceiverData Operation, test PlotData
r889
Miguel Valdez
r681 self.makeXml()
ReceiverData Operation, test PlotData
r889
Miguel Valdez
GUI: minor changes
r687 ElementTree(self.projectElement).write(abs_file, method='xml')
ReceiverData Operation, test PlotData
r889
Miguel Valdez
v2.2.0: Controller updated
r708 self.filename = abs_file
ReceiverData Operation, test PlotData
r889
Miguel Valdez
r681 return 1
Miguel Valdez
Controlador de Signal Chain finalizado....
r197
Miguel Valdez
controller.py: minor changes
r702 def readXml(self, filename = None):
ReceiverData Operation, test PlotData
r889
Miguel Valdez
new script "schain".
r830 if not filename:
print "filename is not defined"
return 0
ReceiverData Operation, test PlotData
r889
Miguel Valdez
GUI: minor changes
r687 abs_file = os.path.abspath(filename)
ReceiverData Operation, test PlotData
r889
Miguel Valdez
GUI: minor changes
r687 if not os.path.isfile(abs_file):
Miguel Valdez
new script "schain".
r830 print "%s file does not exist" %abs_file
Miguel Valdez
r681 return 0
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Controlador de Signal Chain finalizado....
r197 self.projectElement = None
self.procUnitConfObjDict = {}
ReceiverData Operation, test PlotData
r889
Miguel Valdez
-Email alert is not sent when a Keyboard error occurred ...
r735 try:
self.projectElement = ElementTree().parse(abs_file)
except:
print "Error reading %s, verify file format" %filename
return 0
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Controlador de Signal Chain finalizado....
r197 self.project = self.projectElement.tag
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Controlador de Signal Chain finalizado....
r197 self.id = self.projectElement.get('id')
self.name = self.projectElement.get('name')
ReceiverData Operation, test PlotData
r889 self.description = self.projectElement.get('description')
Juan C. Valdez
Version 2.2.5 Fixed several bugs, add jro colormap for spectra/rti, add ParamWriter, TODO: Fix decimation currently disabled
r860 readUnitElementList = self.projectElement.iter(ReadUnitConf().getElementName())
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Controlador de Signal Chain finalizado....
r197 for readUnitElement in readUnitElementList:
readUnitConfObj = ReadUnitConf()
readUnitConfObj.readXml(readUnitElement)
ReceiverData Operation, test PlotData
r889
Miguel Valdez
-USRP Reader was added to Signal Chain GUI...
r589 if readUnitConfObj.parentId == None:
readUnitConfObj.parentId = self.id
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Controlador de Signal Chain finalizado....
r197 self.procUnitConfObjDict[readUnitConfObj.getId()] = readUnitConfObj
ReceiverData Operation, test PlotData
r889
Juan C. Valdez
Version 2.2.5 Fixed several bugs, add jro colormap for spectra/rti, add ParamWriter, TODO: Fix decimation currently disabled
r860 procUnitElementList = self.projectElement.iter(ProcUnitConf().getElementName())
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Controlador de Signal Chain finalizado....
r197 for procUnitElement in procUnitElementList:
procUnitConfObj = ProcUnitConf()
procUnitConfObj.readXml(procUnitElement)
ReceiverData Operation, test PlotData
r889
Miguel Valdez
-USRP Reader was added to Signal Chain GUI...
r589 if procUnitConfObj.parentId == None:
procUnitConfObj.parentId = self.id
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Controlador de Signal Chain finalizado....
r197 self.procUnitConfObjDict[procUnitConfObj.getId()] = procUnitConfObj
ReceiverData Operation, test PlotData
r889
Miguel Valdez
v2.2.0: Controller updated
r708 self.filename = abs_file
ReceiverData Operation, test PlotData
r889
Miguel Valdez
r681 return 1
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Controlador de Signal Chain finalizado....
r197 def printattr(self):
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Busqueda de archivos dentro del directorio indicado (sin busqueda de subdirectorios) activando el flag de lectura 'walk'
r224 print "Project[%s]: name = %s, description = %s" %(self.id,
Miguel Valdez
Controlador de Signal Chain finalizado....
r197 self.name,
self.description)
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Controlador de Signal Chain finalizado....
r197 for procUnitConfObj in self.procUnitConfObjDict.values():
procUnitConfObj.printattr()
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Controlador de Signal Chain finalizado....
r197 def createObjects(self):
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Controlador de Signal Chain finalizado....
r197 for procUnitConfObj in self.procUnitConfObjDict.values():
Miguel Valdez
External plotter simplified.
r716 procUnitConfObj.createObjects(self.plotterQueue)
ReceiverData Operation, test PlotData
r889
Daniel Valdez
This is the new organization by packages and scripts for Signal Chain, this version contains new features and bugs fixed until August 2014
r487 def __connect(self, objIN, thisObj):
ReceiverData Operation, test PlotData
r889
Daniel Valdez
This is the new organization by packages and scripts for Signal Chain, this version contains new features and bugs fixed until August 2014
r487 thisObj.setInput(objIN.getOutputObj())
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Controlador de Signal Chain finalizado....
r197 def connectObjects(self):
ReceiverData Operation, test PlotData
r889
Daniel Valdez
This is the new organization by packages and scripts for Signal Chain, this version contains new features and bugs fixed until August 2014
r487 for thisPUConfObj in self.procUnitConfObjDict.values():
ReceiverData Operation, test PlotData
r889
Daniel Valdez
This is the new organization by packages and scripts for Signal Chain, this version contains new features and bugs fixed until August 2014
r487 inputId = thisPUConfObj.getInputId()
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Controlador de Signal Chain finalizado....
r197 if int(inputId) == 0:
continue
ReceiverData Operation, test PlotData
r889
Daniel Valdez
This is the new organization by packages and scripts for Signal Chain, this version contains new features and bugs fixed until August 2014
r487 #Get input object
Miguel Valdez
Controlador de Signal Chain finalizado....
r197 puConfINObj = self.procUnitConfObjDict[inputId]
Daniel Valdez
This is the new organization by packages and scripts for Signal Chain, this version contains new features and bugs fixed until August 2014
r487 puObjIN = puConfINObj.getProcUnitObj()
ReceiverData Operation, test PlotData
r889
Daniel Valdez
This is the new organization by packages and scripts for Signal Chain, this version contains new features and bugs fixed until August 2014
r487 #Get current object
thisPUObj = thisPUConfObj.getProcUnitObj()
ReceiverData Operation, test PlotData
r889
Daniel Valdez
This is the new organization by packages and scripts for Signal Chain, this version contains new features and bugs fixed until August 2014
r487 self.__connect(puObjIN, thisPUObj)
ReceiverData Operation, test PlotData
r889
Ivan Valdez
r719 def __handleError(self, procUnitConfObj, send_email=True):
ReceiverData Operation, test PlotData
r889
Miguel Valdez
GUI: minor changes
r687 import socket
ReceiverData Operation, test PlotData
r889
Miguel Valdez
GUI: minor changes
r687 err = traceback.format_exception(sys.exc_info()[0],
sys.exc_info()[1],
sys.exc_info()[2])
ReceiverData Operation, test PlotData
r889
Miguel Valdez
-Email alert is not sent when a Keyboard error occurred ...
r735 print "***** Error occurred in %s *****" %(procUnitConfObj.name)
print "***** %s" %err[-1]
Ivan Valdez
r719 message = "".join(err)
ReceiverData Operation, test PlotData
r889
Ivan Valdez
r719 sys.stderr.write(message)
ReceiverData Operation, test PlotData
r889
Ivan Valdez
r719 if not send_email:
return
ReceiverData Operation, test PlotData
r889
Miguel Valdez
GUI: minor changes
r687 subject = "SChain v%s: Error running %s\n" %(schainpy.__version__, procUnitConfObj.name)
ReceiverData Operation, test PlotData
r889
Miguel Valdez
GUI: minor changes
r687 subtitle = "%s: %s\n" %(procUnitConfObj.getElementName() ,procUnitConfObj.name)
subtitle += "Hostname: %s\n" %socket.gethostbyname(socket.gethostname())
subtitle += "Working directory: %s\n" %os.path.abspath("./")
subtitle += "Configuration file: %s\n" %self.filename
subtitle += "Time: %s\n" %str(datetime.datetime.now())
ReceiverData Operation, test PlotData
r889
Miguel Valdez
GUI: minor changes
r687 readUnitConfObj = self.getReadUnitObj()
if readUnitConfObj:
subtitle += "\nInput parameters:\n"
subtitle += "[Data path = %s]\n" %readUnitConfObj.path
subtitle += "[Data type = %s]\n" %readUnitConfObj.datatype
subtitle += "[Start date = %s]\n" %readUnitConfObj.startDate
subtitle += "[End date = %s]\n" %readUnitConfObj.endDate
subtitle += "[Start time = %s]\n" %readUnitConfObj.startTime
subtitle += "[End time = %s]\n" %readUnitConfObj.endTime
ReceiverData Operation, test PlotData
r889
Miguel Valdez
GUI: minor changes
r687 adminObj = schainpy.admin.SchainNotify()
adminObj.sendAlert(message=message,
subject=subject,
subtitle=subtitle,
filename=self.filename)
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Version: 2.1.3.2...
r672 def isPaused(self):
return 0
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Version: 2.1.3.2...
r672 def isStopped(self):
return 0
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Version: 2.1.3.2...
r672 def runController(self):
"""
returns 0 when this process has been stopped, 1 otherwise
"""
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Version: 2.1.3.2...
r672 if self.isPaused():
print "Process suspended"
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Version: 2.1.3.2...
r672 while True:
sleep(0.1)
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Version: 2.1.3.2...
r672 if not self.isPaused():
break
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Version: 2.1.3.2...
r672 if self.isStopped():
break
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Version: 2.1.3.2...
r672 print "Process reinitialized"
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Version: 2.1.3.2...
r672 if self.isStopped():
print "Process stopped"
return 0
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Version: 2.1.3.2...
r672 return 1
Miguel Valdez
A new Plotter Class was added for plotting using queues
r691
def setFilename(self, filename):
ReceiverData Operation, test PlotData
r889
Miguel Valdez
A new Plotter Class was added for plotting using queues
r691 self.filename = filename
ReceiverData Operation, test PlotData
r889
Miguel Valdez
A new Plotter Class was added for plotting using queues
r691 def setPlotterQueue(self, plotter_queue):
ReceiverData Operation, test PlotData
r889
Miguel Valdez
External plotter simplified.
r716 raise NotImplementedError, "Use schainpy.controller_api.ControllerThread instead Project class"
Miguel Valdez
A new Plotter Class was added for plotting using queues
r691 def getPlotterQueue(self):
ReceiverData Operation, test PlotData
r889
Miguel Valdez
External plotter simplified.
r716 raise NotImplementedError, "Use schainpy.controller_api.ControllerThread instead Project class"
def useExternalPlotter(self):
ReceiverData Operation, test PlotData
r889
Miguel Valdez
External plotter simplified.
r716 raise NotImplementedError, "Use schainpy.controller_api.ControllerThread instead Project class"
ReceiverData Operation, test PlotData
r889
José Chávez
cambios xmax xmin
r1004
Miguel Valdez
Controlador de Signal Chain finalizado....
r197 def run(self):
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Merge with branch schain_julia_drifts from rev. 803 to 995....
r568 print
Miguel Valdez
Version: 2.1.3.2...
r672 print "*"*60
Miguel Valdez
r681 print " Starting SIGNAL CHAIN PROCESSING v%s " %schainpy.__version__
Miguel Valdez
Version: 2.1.3.2...
r672 print "*"*60
Miguel Valdez
Merge with branch schain_julia_drifts from rev. 803 to 995....
r568 print
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Merge with branch schain_julia_drifts from rev. 803 to 995....
r568 keyList = self.procUnitConfObjDict.keys()
keyList.sort()
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Controlador de Signal Chain finalizado....
r197 while(True):
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Version: 2.1.3.2...
r672 is_ok = False
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Merge with branch schain_julia_drifts from rev. 803 to 995....
r568 for procKey in keyList:
# print "Running the '%s' process with %s" %(procUnitConfObj.name, procUnitConfObj.id)
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Merge with branch schain_julia_drifts from rev. 803 to 995....
r568 procUnitConfObj = self.procUnitConfObjDict[procKey]
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Version: 2.1.3.2...
r672 try:
sts = procUnitConfObj.run()
is_ok = is_ok or sts
Miguel Valdez
-Email alert is not sent when a Keyboard error occurred ...
r735 except KeyboardInterrupt:
is_ok = False
break
Miguel Valdez
GUI: minor changes
r687 except ValueError, e:
sleep(0.5)
Miguel Valdez
Bug fixed in controller.py when floatList is used
r741 self.__handleError(procUnitConfObj, send_email=True)
Miguel Valdez
GUI: minor changes
r687 is_ok = False
break
Miguel Valdez
Version: 2.1.3.2...
r672 except:
Miguel Valdez
r681 sleep(0.5)
Miguel Valdez
GUI: minor changes
r687 self.__handleError(procUnitConfObj)
Miguel Valdez
Version: 2.1.3.2...
r672 is_ok = False
break
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Primera version del controlador probada y testeada incluyendo graficos
r199 #If every process unit finished so end process
Miguel Valdez
Version: 2.1.3.2...
r672 if not(is_ok):
Miguel Valdez
-Email alert is not sent when a Keyboard error occurred ...
r735 # print "Every process unit have finished"
Miguel Valdez
Primera version del controlador probada y testeada incluyendo graficos
r199 break
Miguel Valdez
A new SendToServer Unit has been created to upload files to a remote server....
r573
Miguel Valdez
Version: 2.1.3.2...
r672 if not self.runController():
Miguel Valdez
r577 break
ReceiverData Operation, test PlotData
r889
Miguel Valdez
A new SendToServer Unit has been created to upload files to a remote server....
r573 #Closing every process
for procKey in keyList:
procUnitConfObj = self.procUnitConfObjDict[procKey]
procUnitConfObj.close()
ReceiverData Operation, test PlotData
r889
Miguel Valdez
Signal Chain GUI updated:...
r587 print "Process finished"
ReceiverData Operation, test PlotData
r889
José Chávez
cli dentro del build de schain
r939 def start(self, filename=None):
ReceiverData Operation, test PlotData
r889
José Chávez
cli dentro del build de schain
r939 self.writeXml(filename)
Miguel Valdez
A new SendToServer Unit has been created to upload files to a remote server....
r573 self.createObjects()
self.connectObjects()
self.run()