##// END OF EJS Templates
test 3.0
test 3.0

File last commit:

r1167:1f521b07c958
r1222:8e3e1ad5000f v3.0-devel
Show More
controller_api.py
178 lines | 3.7 KiB | text/x-python | PythonLexer
Miguel Valdez
ControllerThread was eliminated from controller.py and it was added to controller_api.py
r636 import threading
George Yong
Python 2to3, Spectra (all operations) working
r1167 from queue import Queue
Miguel Valdez
ControllerThread was eliminated from controller.py and it was added to controller_api.py
r636
from schainpy.controller import Project
Miguel Valdez
External plotter simplified.
r716 from schainpy.model.graphics.jroplotter import PlotManager
Miguel Valdez
ControllerThread was eliminated from controller.py and it was added to controller_api.py
r636
class ControllerThread(threading.Thread, Project):
José Chávez
1.0
r944
Miguel Valdez
v2.2.0: Controller updated
r708 def __init__(self, plotter_queue=None):
José Chávez
1.0
r944
Miguel Valdez
ControllerThread was eliminated from controller.py and it was added to controller_api.py
r636 threading.Thread.__init__(self)
Miguel Valdez
v2.2.0: Controller updated
r708 Project.__init__(self, plotter_queue)
José Chávez
1.0
r944
Miguel Valdez
ControllerThread was eliminated from controller.py and it was added to controller_api.py
r636 self.setDaemon(True)
José Chávez
1.0
r944
Miguel Valdez
Version: 2.1.3.2...
r672 self.lock = threading.Lock()
José Chávez
this fixes bug #1074 and bug #1101
r1011 self.control = { 'stop':False, 'pause':False }
Miguel Valdez
ControllerThread was eliminated from controller.py and it was added to controller_api.py
r636
def __del__(self):
José Chávez
1.0
r944
Miguel Valdez
ControllerThread was eliminated from controller.py and it was added to controller_api.py
r636 self.control['stop'] = True
José Chávez
1.0
r944
Miguel Valdez
ControllerThread was eliminated from controller.py and it was added to controller_api.py
r636 def stop(self):
José Chávez
1.0
r944
Miguel Valdez
Version: 2.1.3.2...
r672 self.lock.acquire()
José Chávez
1.0
r944
Miguel Valdez
ControllerThread was eliminated from controller.py and it was added to controller_api.py
r636 self.control['stop'] = True
José Chávez
1.0
r944
Miguel Valdez
Version: 2.1.3.2...
r672 self.lock.release()
José Chávez
1.0
r944
Miguel Valdez
ControllerThread was eliminated from controller.py and it was added to controller_api.py
r636 def pause(self):
José Chávez
1.0
r944
Miguel Valdez
Version: 2.1.3.2...
r672 self.lock.acquire()
José Chávez
1.0
r944
Miguel Valdez
ControllerThread was eliminated from controller.py and it was added to controller_api.py
r636 self.control['pause'] = not(self.control['pause'])
Miguel Valdez
Version: 2.1.3.2...
r672 paused = self.control['pause']
José Chávez
1.0
r944
Miguel Valdez
Version: 2.1.3.2...
r672 self.lock.release()
José Chávez
1.0
r944
Miguel Valdez
Version: 2.1.3.2...
r672 return paused
José Chávez
1.0
r944
Miguel Valdez
Version: 2.1.3.2...
r672 def isPaused(self):
José Chávez
1.0
r944
Miguel Valdez
Version: 2.1.3.2...
r672 self.lock.acquire()
paused = self.control['pause']
self.lock.release()
José Chávez
1.0
r944
Miguel Valdez
Version: 2.1.3.2...
r672 return paused
José Chávez
1.0
r944
Miguel Valdez
Version: 2.1.3.2...
r672 def isStopped(self):
José Chávez
1.0
r944
Miguel Valdez
Version: 2.1.3.2...
r672 self.lock.acquire()
stopped = self.control['stop']
self.lock.release()
José Chávez
1.0
r944
Miguel Valdez
Version: 2.1.3.2...
r672 return stopped
José Chávez
1.0
r944
Miguel Valdez
ControllerThread was eliminated from controller.py and it was added to controller_api.py
r636 def run(self):
self.control['stop'] = False
self.control['pause'] = False
José Chávez
1.0
r944
Miguel Valdez
v2.2.0: Controller updated
r708 self.writeXml()
José Chávez
1.0
r944
Miguel Valdez
ControllerThread was eliminated from controller.py and it was added to controller_api.py
r636 self.createObjects()
self.connectObjects()
Project.run(self)
José Chávez
1.0
r944
Miguel Valdez
ControllerThread was eliminated from controller.py and it was added to controller_api.py
r636 def isRunning(self):
José Chávez
1.0
r944
Miguel Valdez
ControllerThread was eliminated from controller.py and it was added to controller_api.py
r636 return self.is_alive()
José Chávez
1.0
r944
Miguel Valdez
ControllerThread was eliminated from controller.py and it was added to controller_api.py
r636 def isFinished(self):
José Chávez
1.0
r944
Miguel Valdez
ControllerThread was eliminated from controller.py and it was added to controller_api.py
r636 return not self.is_alive()
Miguel Valdez
r681
Miguel Valdez
External plotter simplified.
r716 def setPlotters(self):
José Chávez
1.0
r944
Miguel Valdez
minor changes
r736 plotterList = PlotManager.plotterList
José Chávez
1.0
r944
George Yong
Python 2to3, Spectra (all operations) working
r1167 for thisPUConfObj in list(self.procUnitConfObjDict.values()):
José Chávez
1.0
r944
Miguel Valdez
External plotter simplified.
r716 inputId = thisPUConfObj.getInputId()
José Chávez
1.0
r944
Miguel Valdez
External plotter simplified.
r716 if int(inputId) == 0:
continue
José Chávez
1.0
r944
Miguel Valdez
External plotter simplified.
r716 for thisOpObj in thisPUConfObj.getOperationObjList():
José Chávez
1.0
r944
Miguel Valdez
External plotter simplified.
r716 if thisOpObj.type == "self":
continue
José Chávez
1.0
r944
Miguel Valdez
External plotter simplified.
r716 if thisOpObj.name in plotterList:
José Chávez
this fixes bug #1074 and bug #1101
r1011 thisOpObj.type = "other"
Miguel Valdez
External plotter simplified.
r716
def setPlotterQueue(self, plotter_queue):
José Chávez
1.0
r944
Miguel Valdez
External plotter simplified.
r716 self.plotterQueue = plotter_queue
José Chávez
1.0
r944
Miguel Valdez
External plotter simplified.
r716 def getPlotterQueue(self):
José Chávez
1.0
r944
Miguel Valdez
External plotter simplified.
r716 return self.plotterQueue
def useExternalPlotter(self):
José Chávez
1.0
r944
Miguel Valdez
Version 2.2.5
r827 self.plotterQueue = Queue(10)
Miguel Valdez
External plotter simplified.
r716 self.setPlotters()
José Chávez
1.0
r944
Miguel Valdez
External plotter simplified.
r716 plotManagerObj = PlotManager(self.plotterQueue)
plotManagerObj.setController(self)
José Chávez
1.0
r944
Miguel Valdez
External plotter simplified.
r716 return plotManagerObj
José Chávez
1.0
r944
Miguel Valdez
r681 # from PyQt4 import QtCore
# from PyQt4.QtCore import SIGNAL
José Chávez
1.0
r944 #
Miguel Valdez
r681 # class ControllerQThread(QtCore.QThread, Project):
José Chávez
1.0
r944 #
Miguel Valdez
r681 # def __init__(self, filename):
José Chávez
1.0
r944 #
Miguel Valdez
r681 # QtCore.QThread.__init__(self)
# Project.__init__(self)
José Chávez
1.0
r944 #
Miguel Valdez
r681 # self.filename = filename
José Chávez
1.0
r944 #
Miguel Valdez
r681 # self.lock = threading.Lock()
# self.control = {'stop':False, 'pause':False}
José Chávez
1.0
r944 #
Miguel Valdez
r681 # def __del__(self):
José Chávez
1.0
r944 #
Miguel Valdez
r681 # self.control['stop'] = True
# self.wait()
José Chávez
1.0
r944 #
Miguel Valdez
r681 # def stop(self):
José Chávez
1.0
r944 #
Miguel Valdez
r681 # self.lock.acquire()
José Chávez
1.0
r944 #
Miguel Valdez
r681 # self.control['stop'] = True
José Chávez
1.0
r944 #
Miguel Valdez
r681 # self.lock.release()
José Chávez
1.0
r944 #
Miguel Valdez
r681 # def pause(self):
José Chávez
1.0
r944 #
Miguel Valdez
r681 # self.lock.acquire()
José Chávez
1.0
r944 #
Miguel Valdez
r681 # self.control['pause'] = not(self.control['pause'])
# paused = self.control['pause']
José Chávez
1.0
r944 #
Miguel Valdez
r681 # self.lock.release()
José Chávez
1.0
r944 #
Miguel Valdez
r681 # return paused
José Chávez
1.0
r944 #
Miguel Valdez
r681 # def isPaused(self):
José Chávez
1.0
r944 #
Miguel Valdez
r681 # self.lock.acquire()
# paused = self.control['pause']
# self.lock.release()
José Chávez
1.0
r944 #
Miguel Valdez
r681 # return paused
José Chávez
1.0
r944 #
Miguel Valdez
r681 # def isStopped(self):
José Chávez
1.0
r944 #
Miguel Valdez
r681 # self.lock.acquire()
# stopped = self.control['stop']
# self.lock.release()
José Chávez
1.0
r944 #
Miguel Valdez
r681 # return stopped
José Chávez
1.0
r944 #
Miguel Valdez
r681 # def run(self):
José Chávez
1.0
r944 #
Miguel Valdez
r681 # self.control['stop'] = False
# self.control['pause'] = False
José Chávez
1.0
r944 #
Miguel Valdez
r681 # self.readXml(self.filename)
# self.createObjects()
# self.connectObjects()
# self.emit( SIGNAL( "jobStarted( PyQt_PyObject )" ), 1)
# Project.run(self)
# self.emit( SIGNAL( "jobFinished( PyQt_PyObject )" ), 1)
George Yong
Python 2to3, Spectra (all operations) working
r1167 #