summaryrefslogtreecommitdiff
path: root/pycodestyle.py
diff options
context:
space:
mode:
authorIan Stapleton Cordasco <graffatcolmingov@gmail.com>2019-01-23 08:01:17 -0600
committerGitHub <noreply@github.com>2019-01-23 08:01:17 -0600
commitdb80d0750951e4a9d1ac82338285496534d6c061 (patch)
treeebc8e326e59158972451fff4d316127bd5d9e73d /pycodestyle.py
parent8940d64045d908d5be84ba60e6eb7846e21adb7a (diff)
parent0138bb106403241564a0c5af67886c05a2f4f690 (diff)
downloadpep8-db80d0750951e4a9d1ac82338285496534d6c061.tar.gz
Merge pull request #823 from anntzer/allow-no-blanks-around-one-liners
Allow omitting blank lines around one-liner definitions.
Diffstat (limited to 'pycodestyle.py')
-rwxr-xr-xpycodestyle.py10
1 files changed, 10 insertions, 0 deletions
diff --git a/pycodestyle.py b/pycodestyle.py
index 9fc1874..094e24f 100755
--- a/pycodestyle.py
+++ b/pycodestyle.py
@@ -357,6 +357,16 @@ def blank_lines(logical_line, blank_lines, indent_level, line_number,
):
yield 0, "E303 too many blank lines (%d)" % blank_lines
elif STARTSWITH_TOP_LEVEL_REGEX.match(logical_line):
+ # If this is a one-liner (i.e. the next line is not more
+ # indented), and the previous line is also not deeper
+ # (it would be better to check if the previous line is part
+ # of another def/class at the same level), don't require blank
+ # lines around this.
+ prev_line = lines[line_number - 2] if line_number >= 2 else ''
+ next_line = lines[line_number] if line_number < len(lines) else ''
+ if (expand_indent(prev_line) <= indent_level and
+ expand_indent(next_line) <= indent_level):
+ return
if indent_level:
if not (blank_before == method_lines or
previous_indent_level < indent_level or