summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIan Cordasco <graffatcolmingov@gmail.com>2016-08-06 12:59:52 +0000
committerIan Cordasco <graffatcolmingov@gmail.com>2016-08-06 12:59:52 +0000
commita8029ba2d5ed1bc921ee76b545d5ce9044c7f19b (patch)
tree93decd0362e6dc0e129776cd86af81087668dcc0
parent7730a790f47e1cbff9a334891dcbe7efd327010d (diff)
parent78100de8c6f868313e0b6b06c13a26d3ac2f5b7e (diff)
downloadflake8-a8029ba2d5ed1bc921ee76b545d5ce9044c7f19b.tar.gz
Merge branch 'bug/205' into 'master'
Handle SyntaxErrors when tokenizing a file *Description of changes* This handles the SyntaxErrors raised by tokenize.generate_tokens. *Related to:* #205 See merge request !114
-rw-r--r--src/flake8/exceptions.py5
-rw-r--r--src/flake8/processor.py8
2 files changed, 5 insertions, 8 deletions
diff --git a/src/flake8/exceptions.py b/src/flake8/exceptions.py
index 349d471..cf8aae3 100644
--- a/src/flake8/exceptions.py
+++ b/src/flake8/exceptions.py
@@ -38,7 +38,10 @@ class InvalidSyntax(Flake8Exception):
"""Initialize our InvalidSyntax exception."""
exception = kwargs.pop('exception', None)
self.original_exception = exception
- self.error_message = str(exception)
+ self.error_message = '{0}: {1}'.format(
+ exception.__class__.__name__,
+ exception.args[0],
+ )
self.error_code = 'E902'
self.line_number = 1
self.column_number = 0
diff --git a/src/flake8/processor.py b/src/flake8/processor.py
index e9d1b8a..44024e5 100644
--- a/src/flake8/processor.py
+++ b/src/flake8/processor.py
@@ -240,13 +240,7 @@ class FileProcessor(object):
break
self.tokens.append(token)
yield token
- # NOTE(sigmavirus24): pycodestyle was catching both a SyntaxError
- # and a tokenize.TokenError. In looking a the source on Python 2 and
- # Python 3, the SyntaxError should never arise from generate_tokens.
- # If we were using tokenize.tokenize, we would have to catch that. Of
- # course, I'm going to be unsurprised to be proven wrong at a later
- # date.
- except tokenize.TokenError as exc:
+ except (tokenize.TokenError, SyntaxError) as exc:
raise exceptions.InvalidSyntax(exception=exc)
def line_for(self, line_number):