VultureChecker/VultureCheckerService.py

changeset 62
4a69da851bd2
parent 61
9d01e990bb27
child 68
d7a6b7ea640d
equal deleted inserted replaced
61:9d01e990bb27 62:4a69da851bd2
5 5
6 """ 6 """
7 Module implementing the cyclomatic complexity service. 7 Module implementing the cyclomatic complexity service.
8 """ 8 """
9 9
10 from __future__ import unicode_literals 10 import queue
11
12 try:
13 str = unicode # __IGNORE_EXCEPTION__ __IGNORE_WARNING__
14 except NameError:
15 pass
16
17 try:
18 import Queue as queue # Py2
19 except ImportError:
20 import queue
21
22 import sys
23 import multiprocessing 11 import multiprocessing
24 12
25 from vulture import Vulture 13 from vulture import Vulture
26 14
27 15
92 for task in argumentsList[:initialTasks]: 80 for task in argumentsList[:initialTasks]:
93 taskQueue.put(task) 81 taskQueue.put(task)
94 82
95 # Start worker processes 83 # Start worker processes
96 for _ in range(NumberOfProcesses): 84 for _ in range(NumberOfProcesses):
97 multiprocessing.Process(target=worker, args=(taskQueue, doneQueue))\ 85 multiprocessing.Process(target=worker,
98 .start() 86 args=(taskQueue, doneQueue)).start()
99 87
100 # Get and send results 88 # Get and send results
101 endIndex = len(argumentsList) - initialTasks 89 endIndex = len(argumentsList) - initialTasks
102 for i in range(len(argumentsList)): 90 for i in range(len(argumentsList)):
103 resultSent = False 91 resultSent = False
151 @param text source text 139 @param text source text
152 @type str 140 @type str
153 @return tuple containing the result dictionary 141 @return tuple containing the result dictionary
154 @rtype (tuple of dict) 142 @rtype (tuple of dict)
155 """ 143 """
156 # Check type for py2: if not str it's unicode
157 if sys.version_info[0] == 2:
158 try:
159 text = text.encode('utf-8')
160 except UnicodeError:
161 pass
162
163 try: 144 try:
164 v = EricVulture() 145 v = EricVulture()
165 v.scan(text, filename=filename) 146 v.scan(text, filename=filename)
166 res = v.getResults() 147 res = v.getResults()
167 except Exception as err: 148 except Exception as err:
180 @param item vulture item 161 @param item vulture item
181 @type vulture.Item 162 @type vulture.Item
182 @return item dictionary 163 @return item dictionary
183 @rtype dict 164 @rtype dict
184 """ 165 """
185 d = { 166 return {
186 "name": item.name, 167 "name": item.name,
187 "type": item.typ, 168 "type": item.typ,
188 "file": item.filename, 169 "file": item.filename,
189 "first_line": item.first_lineno, 170 "first_line": item.first_lineno,
190 "last_line": item.last_lineno, 171 "last_line": item.last_lineno,
191 "confidence": item.confidence, 172 "confidence": item.confidence,
192 } 173 }
193 return d
194 174
195 def getResults(self): 175 def getResults(self):
196 """ 176 """
197 Public method to get the scan results. 177 Public method to get the scan results.
198 178

eric ide

mercurial