Plugins/CheckerPlugins/SyntaxChecker/SyntaxCheck.py

changeset 5672
495b53f37f6c
parent 5616
adcffadf4962
child 5683
66b11f5171e8
equal deleted inserted replaced
5671:47cc72334684 5672:495b53f37f6c
11 import ast 11 import ast
12 import re 12 import re
13 import sys 13 import sys
14 import traceback 14 import traceback
15 import multiprocessing 15 import multiprocessing
16 import queue
16 17
17 try: 18 try:
18 from pyflakes.checker import Checker 19 from pyflakes.checker import Checker
19 from pyflakes.messages import ImportStarUsed, ImportStarUsage 20 from pyflakes.messages import ImportStarUsed, ImportStarUsage
20 except ImportError: 21 except ImportError:
145 .start() 146 .start()
146 147
147 # Get and send results 148 # Get and send results
148 endIndex = len(argumentsList) - initialTasks 149 endIndex = len(argumentsList) - initialTasks
149 for i in range(len(argumentsList)): 150 for i in range(len(argumentsList)):
150 filename, result = doneQueue.get() 151 resultSent = False
151 send(fx, filename, result) 152 wasCancelled = False
152 if cancelled(): 153
154 while not resultSent:
155 try:
156 # get result (waiting max. 3 seconds and send it to frontend
157 filename, result = doneQueue.get()
158 send(fx, filename, result)
159 resultSent = True
160 except queue.Empty:
161 # ignore empty queue, just carry on
162 if cancelled():
163 wasCancelled = True
164 break
165
166 if wasCancelled or cancelled():
153 # just exit the loop ignoring the results of queued tasks 167 # just exit the loop ignoring the results of queued tasks
154 break 168 break
169
155 if i < endIndex: 170 if i < endIndex:
156 taskQueue.put(argumentsList[i + initialTasks]) 171 taskQueue.put(argumentsList[i + initialTasks])
157 172
158 # Tell child processes to stop 173 # Tell child processes to stop
159 for i in range(NumberOfProcesses): 174 for i in range(NumberOfProcesses):

eric ide

mercurial