mirror of
https://github.com/PyCQA/flake8.git
synced 2026-04-02 11:56:52 +00:00
Merge branch 'bug/195' into 'master'
Allow plugins that are on by default to be ignored *Description of changes* Previously, users were unable to ignore the error code of a plugin that was on by default. This adds a tiny bit of extra logic to re-enable that behaviour. *Related to:* #195 See merge request !104
This commit is contained in:
commit
530767d36d
4 changed files with 15 additions and 4 deletions
|
|
@ -4,7 +4,11 @@
|
|||
- Fix ``# noqa`` comments followed by a ``:`` and explanation broken by
|
||||
3.0.0 (See also `GitLab#178`_)
|
||||
|
||||
- Fix issue where users were unable to ignore plugin errors that were on
|
||||
by default. (See also `GitLab#195`_)
|
||||
|
||||
.. links
|
||||
.. _GitLab#178:
|
||||
https://gitlab.com/pycqa/flake8/issues/178
|
||||
.. _GitLab#195:
|
||||
https://gitlab.com/pycqa/flake8/issues/195
|
||||
|
|
|
|||
|
|
@ -53,14 +53,12 @@ def aggregate_options(manager, arglist=None, values=None):
|
|||
list(extended_default_ignore))
|
||||
extended_default_ignore.update(default_values.ignore)
|
||||
default_values.ignore = list(extended_default_ignore)
|
||||
LOG.debug('Merged default ignore list: %s', default_values.ignore)
|
||||
|
||||
extended_default_select = manager.extended_default_select.copy()
|
||||
LOG.debug('Extended default select list: %s',
|
||||
list(extended_default_select))
|
||||
extended_default_select.update(default_values.select)
|
||||
default_values.select = list(extended_default_select)
|
||||
LOG.debug('Merged default ignore list: %s', default_values.ignore)
|
||||
LOG.debug('Merged default select list: %s', default_values.select)
|
||||
default_values.extended_default_select = extended_default_select
|
||||
|
||||
# Merge values parsed from config onto the default values returned
|
||||
for config_name, value in parsed_config.items():
|
||||
|
|
|
|||
|
|
@ -63,6 +63,7 @@ class StyleGuide(object):
|
|||
self.formatter = formatter
|
||||
self.stats = statistics.Statistics()
|
||||
self._selected = tuple(options.select)
|
||||
self._extended_selected = tuple(options.extended_default_select)
|
||||
self._ignored = tuple(options.ignore)
|
||||
self._decision_cache = {}
|
||||
self._parsed_diff = {}
|
||||
|
|
@ -86,6 +87,13 @@ class StyleGuide(object):
|
|||
if code.startswith(self._selected):
|
||||
return Selected.Explicitly
|
||||
|
||||
# If it was not explicitly selected, it may have been implicitly
|
||||
# selected because the check comes from a plugin that is enabled by
|
||||
# default
|
||||
if (self._extended_selected and
|
||||
code.startswith(self._extended_selected)):
|
||||
return Selected.Implicitly
|
||||
|
||||
return Ignored.Implicitly
|
||||
|
||||
def is_user_ignored(self, code):
|
||||
|
|
|
|||
|
|
@ -12,6 +12,7 @@ from flake8.plugins import notifier
|
|||
def create_options(**kwargs):
|
||||
"""Create and return an instance of optparse.Values."""
|
||||
kwargs.setdefault('select', [])
|
||||
kwargs.setdefault('extended_default_select', [])
|
||||
kwargs.setdefault('ignore', [])
|
||||
kwargs.setdefault('disable_noqa', False)
|
||||
return optparse.Values(kwargs)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue