Implement --extend-ignore

Refs #365
This commit is contained in:
Ville Skyttä 2018-05-13 22:54:47 +02:00 committed by Ville Skyttä
parent 5221014947
commit e520c2d936
6 changed files with 52 additions and 1 deletions

View file

@ -18,6 +18,7 @@ def register_default_options(option_manager):
- ``--format``
- ``--hang-closing``
- ``--ignore``
- ``--extend-ignore``
- ``--max-line-length``
- ``--select``
- ``--disable-noqa``
@ -108,6 +109,13 @@ def register_default_options(option_manager):
' For example, ``--ignore=E4,E51,W234``. (Default: %default)',
)
add_option(
'--extend-ignore', metavar='errors', default='',
parse_from_config=True, comma_separated_list=True,
help='Comma-separated list of errors and warnings to add to the list'
' of ignored ones. For example, ``--extend-ignore=E4,E51,W234``.',
)
add_option(
'--max-line-length', type='int', metavar='n',
default=defaults.MAX_LINE_LENGTH, parse_from_config=True,

View file

@ -3,6 +3,7 @@ import collections
import contextlib
import enum
import functools
import itertools
import linecache
import logging
@ -166,7 +167,10 @@ class DecisionEngine(object):
self.selected + self.enabled_extensions,
reverse=True,
))
self.ignored = tuple(sorted(options.ignore, reverse=True))
self.ignored = tuple(sorted(
itertools.chain(options.ignore, options.extend_ignore),
reverse=True,
))
self.using_default_ignore = set(self.ignored) == set(defaults.IGNORE)
self.using_default_select = (
set(self.selected) == set(defaults.SELECT)