From 8ffaf376bb53f6c4433e1fda4078f66dc5e69af5 Mon Sep 17 00:00:00 2001 From: Stefan Klug Date: Tue, 3 Sep 2024 18:10:54 +0200 Subject: utils: checkstyle: Add a python formatter Reporting style issues on python files is great, automatically fixing them is even better. Add a call to autopep8 for python files. This fixes the same issues as the ones reported by pycodestyle. Signed-off-by: Stefan Klug Reviewed-by: Laurent Pinchart Reviewed-by: Kieran Bingham --- utils/checkstyle.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'utils') diff --git a/utils/checkstyle.py b/utils/checkstyle.py index c9e41d41..1ee211c3 100755 --- a/utils/checkstyle.py +++ b/utils/checkstyle.py @@ -943,6 +943,21 @@ class IncludeOrderFormatter(Formatter): return '\n'.join(lines) +class Pep8Formatter(Formatter): + patterns = ('*.py',) + + @classmethod + def format(cls, filename, data): + try: + ret = subprocess.run(['autopep8', '--ignore=E501', '-'], + input=data.encode('utf-8'), stdout=subprocess.PIPE) + except FileNotFoundError: + issues.append(StyleIssue(0, None, None, 'Please install autopep8 to format python additions')) + return issues + + return ret.stdout.decode('utf-8') + + class StripTrailingSpaceFormatter(Formatter): patterns = ('*.c', '*.cpp', '*.h', '*.py', 'meson.build') -- cgit v1.2.1