summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIan Cordasco <graffatcolmingov@gmail.com>2016-06-07 15:18:59 -0500
committerIan Cordasco <graffatcolmingov@gmail.com>2016-06-07 15:18:59 -0500
commit7fa71afceea5cb045bb1d8508c2341d19396c09d (patch)
tree39bfec5715f9a8f1dc9d4fddd53456c7c8723f69
parent6cb59d685e635a72db2230d75b61aed99ac86b29 (diff)
downloadpep8-7fa71afceea5cb045bb1d8508c2341d19396c09d.tar.gz
Update maximum_line_length to use Checker.noqa
This also updates the Checker to update it's state for physical lines as well as logical lines. This allows maximum_line_length to rely on Checker state for its noqa check. Closes #538
-rwxr-xr-xpycodestyle.py6
1 files changed, 4 insertions, 2 deletions
diff --git a/pycodestyle.py b/pycodestyle.py
index a5141f2..1ef837c 100755
--- a/pycodestyle.py
+++ b/pycodestyle.py
@@ -199,7 +199,7 @@ def trailing_blank_lines(physical_line, lines, line_number, total_lines):
return len(physical_line), "W292 no newline at end of file"
-def maximum_line_length(physical_line, max_line_length, multiline):
+def maximum_line_length(physical_line, max_line_length, multiline, noqa):
r"""Limit all lines to a maximum of 79 characters.
There are still many devices around that are limited to 80 character
@@ -213,7 +213,7 @@ def maximum_line_length(physical_line, max_line_length, multiline):
"""
line = physical_line.rstrip()
length = len(line)
- if length > max_line_length and not noqa(line):
+ if length > max_line_length and not noqa:
# Special case for long URLs in multi-line docstrings or comments,
# but still report the error when the 72 first chars are whitespaces.
chunks = line.split()
@@ -1500,6 +1500,7 @@ class Checker(object):
self.lines[0] = self.lines[0][3:]
self.report = report or options.report
self.report_error = self.report.error
+ self.noqa = False
def report_invalid_syntax(self):
"""Check if the syntax is valid."""
@@ -1634,6 +1635,7 @@ class Checker(object):
for token in tokengen:
if token[2][0] > self.total_lines:
return
+ self.noqa = token[4] and noqa(token[4])
self.maybe_check_physical(token)
yield token
except (SyntaxError, tokenize.TokenError):