pre-commit-python: Allow line breaks between binary operators
authorAlicia Boya García <ntrrgc@gmail.com>
Mon, 14 Jan 2019 21:55:35 +0000 (22:55 +0100)
committerAlicia Boya García <ntrrgc@gmail.com>
Tue, 15 Jan 2019 17:57:02 +0000 (18:57 +0100)
pre-commit-python overrides the list of ignored Python style errors.
Unfortunately, before this patch the list did not exclude W503 and
W504 (which are otherwise ignored by default).

The consequence of having those two warnings enabled at the same time is
that it's not possible to break lines on binary operators, which is an
unreasonable unintentional restriction:

  'validateflow': "validateflow, expectations-dir=\"" +
                  expectations_dir + "\", actual-results-dir=\"" +
                  actual_results_dir + "\"",

W504 line break after binary operator

  'validateflow': "validateflow, expectations-dir=\""
                  + expectations_dir + "\", actual-results-dir=\""
                  + actual_results_dir + "\"",

W503 line break before binary operator

This patch excludes W503 so that there is a valid style for breaking
lines on binary operators.

hooks/pre-commit-python.hook

index ba33113..818baea 100755 (executable)
@@ -56,7 +56,7 @@ def main():
         try:
             if not modified_file.endswith(".py"):
                 continue
-            pycodestyle_errors = system('pycodestyle', '--repeat', '--ignore', 'E501,E128,W605', modified_file)
+            pycodestyle_errors = system('pycodestyle', '--repeat', '--ignore', 'E501,E128,W605,W503', modified_file)
             if pycodestyle_errors:
                 if output_message is None:
                     output_message = NOT_PYCODESTYLE_COMPLIANT_MESSAGE_PRE