aboutsummaryrefslogtreecommitdiff
path: root/lib/python
diff options
context:
space:
mode:
authorJoel Challis <git@zvecr.com>2021-11-23 00:23:23 +0000
committerGitHub <noreply@github.com>2021-11-23 00:23:23 +0000
commitdbc7b535178020063f80aaaabac3ca8ff9f6e8bb (patch)
tree56805386c888d9413e9d2b4ed41db5c16fdb7cd1 /lib/python
parent97a32eedf1cebc1fdd771d0c67ee8320c06e8d99 (diff)
downloadqmk_firmware-dbc7b535178020063f80aaaabac3ca8ff9f6e8bb.tar.gz
qmk_firmware-dbc7b535178020063f80aaaabac3ca8ff9f6e8bb.zip
qmk format-python - filter for Python files (#15271)
* qmk format-python filter all files * filter changed files too
Diffstat (limited to 'lib/python')
-rwxr-xr-xlib/python/qmk/cli/format/python.py9
1 files changed, 5 insertions, 4 deletions
diff --git a/lib/python/qmk/cli/format/python.py b/lib/python/qmk/cli/format/python.py
index 95868d18a..47b5c45fd 100755
--- a/lib/python/qmk/cli/format/python.py
+++ b/lib/python/qmk/cli/format/python.py
@@ -25,9 +25,8 @@ def yapf_run(files):
25def filter_files(files): 25def filter_files(files):
26 """Yield only files to be formatted and skip the rest 26 """Yield only files to be formatted and skip the rest
27 """ 27 """
28
29 for file in files: 28 for file in files:
30 if file and file.name.split('.')[-1] in py_file_suffixes: 29 if file and normpath(file).name.split('.')[-1] in py_file_suffixes:
31 yield file 30 yield file
32 else: 31 else:
33 cli.log.debug('Skipping file %s', file) 32 cli.log.debug('Skipping file %s', file)
@@ -53,12 +52,14 @@ def format_python(cli):
53 cli.log.warning('Filenames passed with -a, only formatting: %s', ','.join(map(str, files))) 52 cli.log.warning('Filenames passed with -a, only formatting: %s', ','.join(map(str, files)))
54 53
55 elif cli.args.all_files: 54 elif cli.args.all_files:
56 files = py_dirs 55 git_ls_cmd = ['git', 'ls-files', *py_dirs]
56 git_ls = cli.run(git_ls_cmd, stdin=DEVNULL)
57 files = list(filter_files(git_ls.stdout.split('\n')))
57 58
58 else: 59 else:
59 git_diff_cmd = ['git', 'diff', '--name-only', cli.args.base_branch, *py_dirs] 60 git_diff_cmd = ['git', 'diff', '--name-only', cli.args.base_branch, *py_dirs]
60 git_diff = cli.run(git_diff_cmd, stdin=DEVNULL) 61 git_diff = cli.run(git_diff_cmd, stdin=DEVNULL)
61 files = list(filter(None, git_diff.stdout.split('\n'))) 62 files = list(filter_files(git_diff.stdout.split('\n')))
62 63
63 # Sanity check 64 # Sanity check
64 if not files: 65 if not files: