From 72acd6f9471f8a1c3a79b0e3785f77e84ac6244d Mon Sep 17 00:00:00 2001 From: Mark Peek Date: Fri, 1 Jul 2016 09:03:18 -0700 Subject: [PATCH] Report E302 for blank lines before an "async def" --- pycodestyle.py | 4 +++- testsuite/E30.py | 6 ++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/pycodestyle.py b/pycodestyle.py index a5f55346..3ee688bd 100755 --- a/pycodestyle.py +++ b/pycodestyle.py @@ -250,10 +250,12 @@ def blank_lines(logical_line, blank_lines, indent_level, line_number, Use blank lines in functions, sparingly, to indicate logical sections. Okay: def a():\n pass\n\n\ndef b():\n pass + Okay: def a():\n pass\n\n\nasync def b():\n pass Okay: def a():\n pass\n\n\n# Foo\n# Bar\n\ndef b():\n pass E301: class Foo:\n b = 0\n def bar():\n pass E302: def a():\n pass\n\ndef b(n):\n pass + E302: def a():\n pass\n\nasync def b(n):\n pass E303: def a():\n pass\n\n\n\ndef b(n):\n pass E303: def a():\n\n\n\n pass E304: @decorator\n\ndef a():\n pass @@ -266,7 +268,7 @@ def blank_lines(logical_line, blank_lines, indent_level, line_number, yield 0, "E304 blank lines found after function decorator" elif blank_lines > 2 or (indent_level and blank_lines == 2): yield 0, "E303 too many blank lines (%d)" % blank_lines - elif logical_line.startswith(('def ', 'class ', '@')): + elif logical_line.startswith(('def ', 'async def', 'class ', '@')): if indent_level: if not (blank_before or previous_indent_level < indent_level or DOCSTRING_REGEX.match(previous_logical)): diff --git a/testsuite/E30.py b/testsuite/E30.py index 1471079e..9397541b 100644 --- a/testsuite/E30.py +++ b/testsuite/E30.py @@ -44,7 +44,13 @@ def a(): def b(): pass #: +#: E302:4:1 +def a(): + pass +async def b(): + pass +#: #: E303:5:1 print