summaryrefslogtreecommitdiff
path: root/src/flake8/plugins
diff options
context:
space:
mode:
authorLukasz Langa <ambv@fb.com>2016-11-27 17:42:00 -0800
committerLukasz Langa <ambv@fb.com>2016-11-28 10:34:38 -0800
commit2f1338c34277a39bd0f49145c372c804cd79552e (patch)
treed39043687f42fb676118060b7d45efb794afad7a /src/flake8/plugins
parentb8ce1334d099aee9c7d2ea72f75bf01ccbe2b040 (diff)
downloadflake8-2f1338c34277a39bd0f49145c372c804cd79552e.tar.gz
Assign missing codes to PyFlakes messages
Some PyFlakes messages weren't covered by unique messages, making them impossible to select/ignore. This is now fixed. To ensure we don't regress in the future, a test has been added that fails if there's any uncovered messages.
Diffstat (limited to 'src/flake8/plugins')
-rw-r--r--src/flake8/plugins/pyflakes.py51
1 files changed, 34 insertions, 17 deletions
diff --git a/src/flake8/plugins/pyflakes.py b/src/flake8/plugins/pyflakes.py
index ca22302..65a31d0 100644
--- a/src/flake8/plugins/pyflakes.py
+++ b/src/flake8/plugins/pyflakes.py
@@ -17,27 +17,44 @@ import pyflakes.checker
from flake8 import utils
+FLAKE8_PYFLAKES_CODES = dict([line.split()[::-1] for line in (
+ 'F401 UnusedImport',
+ 'F402 ImportShadowedByLoopVar',
+ 'F403 ImportStarUsed',
+ 'F404 LateFutureImport',
+ 'F405 ImportStarUsage',
+ 'F406 ImportStarNotPermitted',
+ 'F407 FutureFeatureNotDefined',
+ 'F601 MultiValueRepeatedKeyLiteral',
+ 'F602 MultiValueRepeatedKeyVariable',
+ 'F621 TooManyExpressionsInStarredAssignment',
+ 'F622 TwoStarredExpressions',
+ 'F631 AssertTuple',
+ 'F701 BreakOutsideLoop',
+ 'F702 ContinueOutsideLoop',
+ 'F703 ContinueInFinally',
+ 'F704 YieldOutsideFunction',
+ 'F705 ReturnWithArgsInsideGenerator',
+ 'F706 ReturnOutsideFunction',
+ 'F707 DefaultExceptNotLast',
+ 'F721 DoctestSyntaxError',
+ 'F811 RedefinedWhileUnused',
+ 'F812 RedefinedInListComp',
+ 'F821 UndefinedName',
+ 'F822 UndefinedExport',
+ 'F823 UndefinedLocal',
+ 'F831 DuplicateArgument',
+ 'F841 UnusedVariable',
+)])
+
+
def patch_pyflakes():
"""Add error codes to Pyflakes messages."""
- codes = dict([line.split()[::-1] for line in (
- 'F401 UnusedImport',
- 'F402 ImportShadowedByLoopVar',
- 'F403 ImportStarUsed',
- 'F404 LateFutureImport',
- 'F405 ImportStarUsage',
- 'F810 Redefined',
- 'F811 RedefinedWhileUnused',
- 'F812 RedefinedInListComp',
- 'F821 UndefinedName',
- 'F822 UndefinedExport',
- 'F823 UndefinedLocal',
- 'F831 DuplicateArgument',
- 'F841 UnusedVariable',
- )])
-
for name, obj in vars(pyflakes.messages).items():
if name[0].isupper() and obj.message:
- obj.flake8_msg = '%s %s' % (codes.get(name, 'F999'), obj.message)
+ obj.flake8_msg = '%s %s' % (
+ FLAKE8_PYFLAKES_CODES.get(name, 'F999'), obj.message
+ )
patch_pyflakes()