summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorThomas Grainger <tagrain@gmail.com>2019-07-08 20:12:47 +0000
committerAnthony Sottile <asottile@umich.edu>2019-07-08 20:12:47 +0000
commit9ba6677c4ae4248b0f31d861a608db2efcc2679a (patch)
treedb73dbc99c0341846aad71fc47a5a59a633ca34b /src
parent0d7247082efbe6e8189abd4eeb49a4ee3a128253 (diff)
downloadflake8-9ba6677c4ae4248b0f31d861a608db2efcc2679a.tar.gz
support extend-exclude Fixes #535
Diffstat (limited to 'src')
-rw-r--r--src/flake8/checker.py6
-rw-r--r--src/flake8/main/options.py11
2 files changed, 16 insertions, 1 deletions
diff --git a/src/flake8/checker.py b/src/flake8/checker.py
index 52a6a70..405820c 100644
--- a/src/flake8/checker.py
+++ b/src/flake8/checker.py
@@ -1,6 +1,7 @@
"""Checker Manager and Checker classes."""
import collections
import errno
+import itertools
import logging
import signal
import tokenize
@@ -79,6 +80,9 @@ class Manager(object):
"physical lines": 0,
"tokens": 0,
}
+ self.exclude = tuple(
+ itertools.chain(self.options.exclude, self.options.extend_exclude),
+ )
def _process_statistics(self):
for checker in self.checkers:
@@ -187,7 +191,7 @@ class Manager(object):
return utils.matches_filename(
path,
- patterns=self.options.exclude,
+ patterns=self.exclude,
log_message='"%(path)s" has %(whether)sbeen excluded',
logger=LOG,
)
diff --git a/src/flake8/main/options.py b/src/flake8/main/options.py
index d2a7159..e1f1767 100644
--- a/src/flake8/main/options.py
+++ b/src/flake8/main/options.py
@@ -14,6 +14,7 @@ def register_default_options(option_manager):
- ``--count``
- ``--diff``
- ``--exclude``
+ - ``--extend-exclude``
- ``--filename``
- ``--format``
- ``--hang-closing``
@@ -86,6 +87,16 @@ def register_default_options(option_manager):
)
add_option(
+ "--extend-exclude",
+ metavar="patterns",
+ default="",
+ parse_from_config=True,
+ comma_separated_list=True,
+ help="Comma-separated list of files or directories to add to the list"
+ " of excluded ones."
+ )
+
+ add_option(
"--filename",
metavar="patterns",
default="*.py",