##// END OF EJS Templates
Bug fixed in controller_api.py: reading xml file but not writing
Miguel Valdez -
r695:33996c3ce4a6
parent child
Show More

The requested changes are too big and content was truncated. Show full diff

@@ -1,139 +1,141
1 import threading
1 import threading
2
2
3 from schainpy.controller import Project
3 from schainpy.controller import Project
4
4
5 class ControllerThread(threading.Thread, Project):
5 class ControllerThread(threading.Thread, Project):
6
6
7 def __init__(self, filename=None, plotter_queue=None):
7 def __init__(self, filename=None, plotter_queue=None):
8
8
9 threading.Thread.__init__(self)
9 threading.Thread.__init__(self)
10 Project.__init__(self, filename, plotter_queue)
10 Project.__init__(self, filename, plotter_queue)
11
11
12 self.setDaemon(True)
12 self.setDaemon(True)
13
13
14 self.lock = threading.Lock()
14 self.lock = threading.Lock()
15 self.control = {'stop':False, 'pause':False}
15 self.control = {'stop':False, 'pause':False}
16
16
17 def __del__(self):
17 def __del__(self):
18
18
19 self.control['stop'] = True
19 self.control['stop'] = True
20
20
21 def stop(self):
21 def stop(self):
22
22
23 self.lock.acquire()
23 self.lock.acquire()
24
24
25 self.control['stop'] = True
25 self.control['stop'] = True
26
26
27 self.lock.release()
27 self.lock.release()
28
28
29 def pause(self):
29 def pause(self):
30
30
31 self.lock.acquire()
31 self.lock.acquire()
32
32
33 self.control['pause'] = not(self.control['pause'])
33 self.control['pause'] = not(self.control['pause'])
34 paused = self.control['pause']
34 paused = self.control['pause']
35
35
36 self.lock.release()
36 self.lock.release()
37
37
38 return paused
38 return paused
39
39
40 def isPaused(self):
40 def isPaused(self):
41
41
42 self.lock.acquire()
42 self.lock.acquire()
43 paused = self.control['pause']
43 paused = self.control['pause']
44 self.lock.release()
44 self.lock.release()
45
45
46 return paused
46 return paused
47
47
48 def isStopped(self):
48 def isStopped(self):
49
49
50 self.lock.acquire()
50 self.lock.acquire()
51 stopped = self.control['stop']
51 stopped = self.control['stop']
52 self.lock.release()
52 self.lock.release()
53
53
54 return stopped
54 return stopped
55
55
56 def run(self):
56 def run(self):
57 self.control['stop'] = False
57 self.control['stop'] = False
58 self.control['pause'] = False
58 self.control['pause'] = False
59
59
60 self.readXml(self.filename)
60 if not self.writeXml(self.filename):
61 return
62
61 self.createObjects()
63 self.createObjects()
62 self.connectObjects()
64 self.connectObjects()
63 Project.run(self)
65 Project.run(self)
64
66
65 def isRunning(self):
67 def isRunning(self):
66
68
67 return self.is_alive()
69 return self.is_alive()
68
70
69 def isFinished(self):
71 def isFinished(self):
70
72
71 return not self.is_alive()
73 return not self.is_alive()
72
74
73 # from PyQt4 import QtCore
75 # from PyQt4 import QtCore
74 # from PyQt4.QtCore import SIGNAL
76 # from PyQt4.QtCore import SIGNAL
75 #
77 #
76 # class ControllerQThread(QtCore.QThread, Project):
78 # class ControllerQThread(QtCore.QThread, Project):
77 #
79 #
78 # def __init__(self, filename):
80 # def __init__(self, filename):
79 #
81 #
80 # QtCore.QThread.__init__(self)
82 # QtCore.QThread.__init__(self)
81 # Project.__init__(self)
83 # Project.__init__(self)
82 #
84 #
83 # self.filename = filename
85 # self.filename = filename
84 #
86 #
85 # self.lock = threading.Lock()
87 # self.lock = threading.Lock()
86 # self.control = {'stop':False, 'pause':False}
88 # self.control = {'stop':False, 'pause':False}
87 #
89 #
88 # def __del__(self):
90 # def __del__(self):
89 #
91 #
90 # self.control['stop'] = True
92 # self.control['stop'] = True
91 # self.wait()
93 # self.wait()
92 #
94 #
93 # def stop(self):
95 # def stop(self):
94 #
96 #
95 # self.lock.acquire()
97 # self.lock.acquire()
96 #
98 #
97 # self.control['stop'] = True
99 # self.control['stop'] = True
98 #
100 #
99 # self.lock.release()
101 # self.lock.release()
100 #
102 #
101 # def pause(self):
103 # def pause(self):
102 #
104 #
103 # self.lock.acquire()
105 # self.lock.acquire()
104 #
106 #
105 # self.control['pause'] = not(self.control['pause'])
107 # self.control['pause'] = not(self.control['pause'])
106 # paused = self.control['pause']
108 # paused = self.control['pause']
107 #
109 #
108 # self.lock.release()
110 # self.lock.release()
109 #
111 #
110 # return paused
112 # return paused
111 #
113 #
112 # def isPaused(self):
114 # def isPaused(self):
113 #
115 #
114 # self.lock.acquire()
116 # self.lock.acquire()
115 # paused = self.control['pause']
117 # paused = self.control['pause']
116 # self.lock.release()
118 # self.lock.release()
117 #
119 #
118 # return paused
120 # return paused
119 #
121 #
120 # def isStopped(self):
122 # def isStopped(self):
121 #
123 #
122 # self.lock.acquire()
124 # self.lock.acquire()
123 # stopped = self.control['stop']
125 # stopped = self.control['stop']
124 # self.lock.release()
126 # self.lock.release()
125 #
127 #
126 # return stopped
128 # return stopped
127 #
129 #
128 # def run(self):
130 # def run(self):
129 #
131 #
130 # self.control['stop'] = False
132 # self.control['stop'] = False
131 # self.control['pause'] = False
133 # self.control['pause'] = False
132 #
134 #
133 # self.readXml(self.filename)
135 # self.readXml(self.filename)
134 # self.createObjects()
136 # self.createObjects()
135 # self.connectObjects()
137 # self.connectObjects()
136 # self.emit( SIGNAL( "jobStarted( PyQt_PyObject )" ), 1)
138 # self.emit( SIGNAL( "jobStarted( PyQt_PyObject )" ), 1)
137 # Project.run(self)
139 # Project.run(self)
138 # self.emit( SIGNAL( "jobFinished( PyQt_PyObject )" ), 1)
140 # self.emit( SIGNAL( "jobFinished( PyQt_PyObject )" ), 1)
139 # No newline at end of file
141 #
1 NO CONTENT: modified file
NO CONTENT: modified file
The requested commit or file is too big and content was truncated. Show full diff
General Comments 0
You need to be logged in to leave comments. Login now