diff options
| author | Ian Cordasco <graffatcolmingov@gmail.com> | 2016-04-05 18:52:35 -0500 |
|---|---|---|
| committer | Ian Cordasco <graffatcolmingov@gmail.com> | 2016-04-05 18:52:35 -0500 |
| commit | 78b986d5066e229c490c764ce5511f73fe97cc01 (patch) | |
| tree | 7e6f413e68aef966845b818854d64e748d3b7e14 /flake8 | |
| parent | eb3d8f57912527d1229b6960509e8e1e7b8d02da (diff) | |
| download | flake8-78b986d5066e229c490c764ce5511f73fe97cc01.tar.gz | |
Refactor checker manager and add tests
Diffstat (limited to 'flake8')
| -rw-r--r-- | flake8/checker.py | 50 |
1 files changed, 22 insertions, 28 deletions
diff --git a/flake8/checker.py b/flake8/checker.py index 17c01cb..58b2eff 100644 --- a/flake8/checker.py +++ b/flake8/checker.py @@ -76,13 +76,14 @@ class Manager(object): self.processes = [] self.checkers = [] - try: - self.process_queue = multiprocessing.Queue() - self.results_queue = multiprocessing.Queue() - except OSError as oserr: - if oserr.errno not in SERIAL_RETRY_ERRNOS: - raise - self.using_multiprocessing = False + if self.using_multiprocessing: + try: + self.process_queue = multiprocessing.Queue() + self.results_queue = multiprocessing.Queue() + except OSError as oserr: + if oserr.errno not in SERIAL_RETRY_ERRNOS: + raise + self.using_multiprocessing = False @staticmethod def _cleanup_queue(q): @@ -160,8 +161,19 @@ class Manager(object): yield result - def _report_after_parallel(self): + def _handle_results(self, filename, results): style_guide = self.style_guide + for (error_code, line_number, column, text, physical_line) in results: + style_guide.handle_error( + code=error_code, + filename=filename, + line_number=line_number, + column_number=column, + text=text, + physical_line=physical_line, + ) + + def _report_after_parallel(self): final_results = {} for (filename, results) in self._results(): final_results[filename] = results @@ -170,30 +182,12 @@ class Manager(object): filename = checker.filename results = sorted(final_results.get(filename, []), key=lambda tup: (tup[1], tup[2])) - for (error_code, line_number, column, text, line) in results: - style_guide.handle_error( - code=error_code, - filename=filename, - line_number=line_number, - column_number=column, - text=text, - physical_line=line, - ) + self._handle_results(filename, results) def _report_after_serial(self): - style_guide = self.style_guide for checker in self.checkers: results = sorted(checker.results, key=lambda tup: (tup[2], tup[3])) - filename = checker.filename - for (error_code, line_number, column, text, line) in results: - style_guide.handle_error( - code=error_code, - filename=filename, - line_number=line_number, - column_number=column, - text=text, - physical_line=line, - ) + self._handle_results(checker.filename, results) def _run_checks_from_queue(self): LOG.info('Running checks in parallel') |
