From af16abbe3ab1f09221e5b754624e1db35c1b0711 Mon Sep 17 00:00:00 2001 From: Anthony Sottile Date: Fri, 10 Apr 2020 18:53:10 -0700 Subject: [PATCH] Support pyflakes 2.2.x --- docs/source/user/error-codes.rst | 35 +++++++++++++++++++++++++++++++- setup.cfg | 2 +- src/flake8/plugins/pyflakes.py | 16 +++++++++++++++ 3 files changed, 51 insertions(+), 2 deletions(-) diff --git a/docs/source/user/error-codes.rst b/docs/source/user/error-codes.rst index 1bc3d7f..41341b1 100644 --- a/docs/source/user/error-codes.rst +++ b/docs/source/user/error-codes.rst @@ -29,6 +29,37 @@ generates its own :term:`error code`\ s for ``pyflakes``: | F407 | an undefined ``__future__`` feature name was imported | +------+---------------------------------------------------------------------+ +------+---------------------------------------------------------------------+ +| F501 | invalid ``%`` format literal | ++------+---------------------------------------------------------------------+ +| F502 | ``%`` format expected mapping but got sequence | ++------+---------------------------------------------------------------------+ +| F503 | ``%`` format expected sequence but got mapping | ++------+---------------------------------------------------------------------+ +| F504 | ``%`` format unused named arguments | ++------+---------------------------------------------------------------------+ +| F505 | ``%`` format missing named arguments | ++------+---------------------------------------------------------------------+ +| F506 | ``%`` format mixed positional and named arguments | ++------+---------------------------------------------------------------------+ +| F507 | ``%`` format mismatch of placeholder and argument count | ++------+---------------------------------------------------------------------+ +| F508 | ``%`` format with ``*`` specifier requires a sequence | ++------+---------------------------------------------------------------------+ +| F509 | ``%`` format with unsupported format character | ++------+---------------------------------------------------------------------+ +| F520 | ``.format(...)`` invalid format string | ++------+---------------------------------------------------------------------+ +| F521 | ``.format(...)`` unused named arguments | ++------+---------------------------------------------------------------------+ +| F522 | ``.format(...)`` unused positional arguments | ++------+---------------------------------------------------------------------+ +| F523 | ``.format(...)`` missing argument | ++------+---------------------------------------------------------------------+ +| F524 | ``.format(...)`` mixing automatic and manual numbering | ++------+---------------------------------------------------------------------+ +| F540 | f-string without any placeholders | ++------+---------------------------------------------------------------------+ ++------+---------------------------------------------------------------------+ | F601 | dictionary key ``name`` repeated with different values | +------+---------------------------------------------------------------------+ | F602 | dictionary key variable ``name`` repeated with different values | @@ -37,12 +68,14 @@ generates its own :term:`error code`\ s for ``pyflakes``: +------+---------------------------------------------------------------------+ | F622 | two or more starred expressions in an assignment ``(a, *b, *c = d)``| +------+---------------------------------------------------------------------+ -| F631 | assertion test is a tuple, which are always ``True`` | +| F631 | assertion test is a tuple, which is always ``True`` | +------+---------------------------------------------------------------------+ | F632 | use ``==/!=`` to compare ``str``, ``bytes``, and ``int`` literals | +------+---------------------------------------------------------------------+ | F633 | use of ``>>`` is invalid with ``print`` function | +------+---------------------------------------------------------------------+ +| F634 | if test is a tuple, which is always ``True`` | ++------+---------------------------------------------------------------------+ +------+---------------------------------------------------------------------+ | F701 | a ``break`` statement outside of a ``while`` or ``for`` loop | +------+---------------------------------------------------------------------+ diff --git a/setup.cfg b/setup.cfg index f482ec0..58b4dc0 100644 --- a/setup.cfg +++ b/setup.cfg @@ -41,7 +41,7 @@ install_requires= # http://flake8.pycqa.org/en/latest/faq.html#why-does-flake8-use-ranges-for-its-dependencies # And in which releases we will update those ranges here: # http://flake8.pycqa.org/en/latest/internal/releases.html#releasing-flake8 - pyflakes >= 2.1.0, < 2.2.0 + pyflakes >= 2.2.0, < 2.3.0 pycodestyle >= 2.5.0, < 2.6.0 mccabe >= 0.6.0, < 0.7.0 enum34; python_version<"3.4" diff --git a/src/flake8/plugins/pyflakes.py b/src/flake8/plugins/pyflakes.py index b216b62..54a8419 100644 --- a/src/flake8/plugins/pyflakes.py +++ b/src/flake8/plugins/pyflakes.py @@ -26,6 +26,21 @@ FLAKE8_PYFLAKES_CODES = { "ImportStarUsage": "F405", "ImportStarNotPermitted": "F406", "FutureFeatureNotDefined": "F407", + "PercentFormatInvalidFormat": "F501", + "PercentFormatExpectedMapping": "F502", + "PercentFormatExpectedSequence": "F503", + "PercentFormatExtraNamedArguments": "F504", + "PercentFormatMissingArgument": "F505", + "PercentFormatMixedPositionalAndNamed": "F506", + "PercentFormatPositionalCountMismatch": "F507", + "PercentFormatStarRequiresSequence": "F508", + "PercentFormatUnsupportedFormatCharacter": "F509", + "StringDotFormatInvalidFormat": "F520", + "StringDotFormatExtraNamedArguments": "F521", + "StringDotFormatExtraPositionalArguments": "F522", + "StringDotFormatMissingArgument": "F523", + "StringDotFormatMixingAutomatic": "F524", + "FStringMissingPlaceholders": "F540", "MultiValueRepeatedKeyLiteral": "F601", "MultiValueRepeatedKeyVariable": "F602", "TooManyExpressionsInStarredAssignment": "F621", @@ -33,6 +48,7 @@ FLAKE8_PYFLAKES_CODES = { "AssertTuple": "F631", "IsLiteral": "F632", "InvalidPrintSyntax": "F633", + "IfTuple": "F634", "BreakOutsideLoop": "F701", "ContinueOutsideLoop": "F702", "ContinueInFinally": "F703", -- 2.17.2