Merge branch 'flake8_noqa_line_by_self' into 'master'

Only skip a file if `# flake8: noqa` is on a line by itself

See merge request pycqa/flake8!219
This commit is contained in:
Ian Stapleton Cordasco 2018-07-01 19:22:30 +00:00
commit 9631dac52a
2 changed files with 13 additions and 4 deletions

View file

@ -106,7 +106,7 @@ class FileProcessor(object):
@property
def file_tokens(self):
"""The complete set of tokens for a file.
"""Return the complete set of tokens for a file.
Accessing this attribute *may* raise an InvalidSyntax exception.
@ -334,7 +334,7 @@ class FileProcessor(object):
def should_ignore_file(self):
# type: () -> bool
"""Check if ``# flake8: noqa`` is in the file to be ignored.
"""Check if ``flake8: noqa`` is in the file to be ignored.
:returns:
True if a line matches :attr:`defaults.NOQA_FILE`,
@ -342,8 +342,16 @@ class FileProcessor(object):
:rtype:
bool
"""
ignore_file = defaults.NOQA_FILE.search
return any(ignore_file(line) for line in self.lines)
if any(defaults.NOQA_FILE.match(line) for line in self.lines):
return True
elif any(defaults.NOQA_FILE.search(line) for line in self.lines):
LOG.warning(
'Detected `flake8: noqa` on line with code. To ignore an '
'error on a line use `noqa` instead.',
)
return False
else:
return False
def strip_utf_bom(self):
# type: () -> NoneType

View file

@ -46,6 +46,7 @@ def test_strip_utf_bom(first_line):
(['#!/usr/bin/python', '# flake8: noqa', 'a = 1'], True),
(['# flake8: noqa', '#!/usr/bin/python', 'a = 1'], True),
(['#!/usr/bin/python', 'a = 1', '# flake8: noqa'], True),
(['#!/usr/bin/python', 'a = 1 # flake8: noqa'], False),
])
def test_should_ignore_file(lines, expected):
"""Verify that we ignore a file if told to."""