summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorIan Cordasco <graffatcolmingov@gmail.com>2016-07-29 00:43:07 +0000
committerIan Cordasco <graffatcolmingov@gmail.com>2016-07-29 00:43:07 +0000
commit530767d36d1a23b986d62567b8364c263f7270ae (patch)
treefd4bee5179fd3c5cddbea2781e18d5d8ed4ed73e /src
parentc0e506657790babc7e5d3c560afb6e44e160b2f5 (diff)
parentc670217c24db25ad3cab699f6394372a94777379 (diff)
downloadflake8-530767d36d1a23b986d62567b8364c263f7270ae.tar.gz
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
Diffstat (limited to 'src')
-rw-r--r--src/flake8/options/aggregator.py6
-rw-r--r--src/flake8/style_guide.py8
2 files changed, 10 insertions, 4 deletions
diff --git a/src/flake8/options/aggregator.py b/src/flake8/options/aggregator.py
index a0ad535..4075dc9 100644
--- a/src/flake8/options/aggregator.py
+++ b/src/flake8/options/aggregator.py
@@ -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():
diff --git a/src/flake8/style_guide.py b/src/flake8/style_guide.py
index 0cbab8f..a1ab473 100644
--- a/src/flake8/style_guide.py
+++ b/src/flake8/style_guide.py
@@ -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):