mirror of
https://github.com/PyCQA/flake8.git
synced 2026-03-31 19:26:52 +00:00
Merge branch 'feature/251' into 'master'
Enable users who want to track all files processed This adds two new methods to the BaseFormatter class: - beginning - finished These will indicate when Flake8 begins and finishes processing a file. Closes #251 See merge request !152
This commit is contained in:
commit
85c495b012
5 changed files with 35 additions and 2 deletions
|
|
@ -3,6 +3,9 @@
|
|||
|
||||
You can view the `3.3.0 milestone`_ on GitLab for more details.
|
||||
|
||||
- Add methods to Report class that will be called when Flake8 starts and
|
||||
finishes processing a file. (`GitLab#251`_)
|
||||
|
||||
- Dramatically improve the performance of Flake8 (`GitLab!156`_)
|
||||
|
||||
- Fix problem where hooks should only check \*.py files. (See also
|
||||
|
|
@ -14,6 +17,8 @@ You can view the `3.3.0 milestone`_ on GitLab for more details.
|
|||
.. links
|
||||
.. _3.3.0 milestone:
|
||||
https://gitlab.com/pycqa/flake8/milestones/16
|
||||
.. _GitLab#251:
|
||||
https://gitlab.com/pycqa/flake8/issues/251
|
||||
.. _GitLab#268:
|
||||
https://gitlab.com/pycqa/flake8/issues/268
|
||||
.. _GitLab!156:
|
||||
|
|
|
|||
|
|
@ -260,8 +260,9 @@ class Manager(object):
|
|||
results_reported = results_found = 0
|
||||
for checker in self.checkers:
|
||||
results = sorted(checker.results, key=lambda tup: (tup[1], tup[2]))
|
||||
results_reported += self._handle_results(checker.display_name,
|
||||
results)
|
||||
filename = checker.display_name
|
||||
with self.style_guide.processing_file(filename):
|
||||
results_reported += self._handle_results(filename, results)
|
||||
results_found += len(results)
|
||||
return (results_found, results_reported)
|
||||
|
||||
|
|
|
|||
|
|
@ -44,6 +44,24 @@ class BaseFormatter(object):
|
|||
"""Initialize the formatter further."""
|
||||
pass
|
||||
|
||||
def beginning(self, filename):
|
||||
"""Notify the formatter that we're starting to process a file.
|
||||
|
||||
:param str filename:
|
||||
The name of the file that Flake8 is beginning to report results
|
||||
from.
|
||||
"""
|
||||
pass
|
||||
|
||||
def finished(self, filename):
|
||||
"""Notify the formatter that we've finished processing a file.
|
||||
|
||||
:param str filename:
|
||||
The name of the file that Flake8 has finished reporting results
|
||||
from.
|
||||
"""
|
||||
pass
|
||||
|
||||
def start(self):
|
||||
"""Prepare the formatter to receive input.
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
"""Implementation of the StyleGuide used by Flake8."""
|
||||
import collections
|
||||
import contextlib
|
||||
import enum
|
||||
import linecache
|
||||
import logging
|
||||
|
|
@ -120,6 +121,13 @@ class StyleGuide(object):
|
|||
|
||||
return Selected.Implicitly
|
||||
|
||||
@contextlib.contextmanager
|
||||
def processing_file(self, filename):
|
||||
"""Record the fact that we're processing the file's results."""
|
||||
self.formatter.beginning(filename)
|
||||
yield self
|
||||
self.formatter.finished(filename)
|
||||
|
||||
def _decision_for(self, code):
|
||||
# type: (Error) -> Decision
|
||||
select = find_first_match(code, self._all_selected)
|
||||
|
|
|
|||
|
|
@ -134,6 +134,7 @@ def test_report_order(results, expected_order):
|
|||
file_checker.display_name = 'placeholder'
|
||||
|
||||
style_guide = mock.Mock(spec=['options'])
|
||||
style_guide.processing_file = mock.MagicMock()
|
||||
|
||||
# Create a placeholder manager without arguments or plugins
|
||||
# Just add one custom file checker which just provides the results
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue