aboutsummaryrefslogtreecommitdiff
path: root/lib/python/qmk/commands.py
diff options
context:
space:
mode:
Diffstat (limited to 'lib/python/qmk/commands.py')
-rw-r--r--lib/python/qmk/commands.py23
1 files changed, 2 insertions, 21 deletions
diff --git a/lib/python/qmk/commands.py b/lib/python/qmk/commands.py
index 8c3f95ea2..ee049e8af 100644
--- a/lib/python/qmk/commands.py
+++ b/lib/python/qmk/commands.py
@@ -2,11 +2,9 @@
2""" 2"""
3import json 3import json
4import os 4import os
5import platform
6import subprocess
7import shlex
8import shutil 5import shutil
9from pathlib import Path 6from pathlib import Path
7from subprocess import DEVNULL
10from time import strftime 8from time import strftime
11 9
12from milc import cli 10from milc import cli
@@ -94,7 +92,7 @@ def get_git_version(repo_dir='.', check_dir='.'):
94 git_describe_cmd = ['git', 'describe', '--abbrev=6', '--dirty', '--always', '--tags'] 92 git_describe_cmd = ['git', 'describe', '--abbrev=6', '--dirty', '--always', '--tags']
95 93
96 if Path(check_dir).exists(): 94 if Path(check_dir).exists():
97 git_describe = cli.run(git_describe_cmd, cwd=repo_dir) 95 git_describe = cli.run(git_describe_cmd, stdin=DEVNULL, cwd=repo_dir)
98 96
99 if git_describe.returncode == 0: 97 if git_describe.returncode == 0:
100 return git_describe.stdout.strip() 98 return git_describe.stdout.strip()
@@ -224,20 +222,3 @@ def parse_configurator_json(configurator_file):
224 user_keymap['layout'] = aliases[orig_keyboard]['layouts'][user_keymap['layout']] 222 user_keymap['layout'] = aliases[orig_keyboard]['layouts'][user_keymap['layout']]
225 223
226 return user_keymap 224 return user_keymap
227
228
229def run(command, *args, **kwargs):
230 """Run a command with subprocess.run
231 """
232 platform_id = platform.platform().lower()
233
234 if isinstance(command, str):
235 raise TypeError('`command` must be a non-text sequence such as list or tuple.')
236
237 if 'windows' in platform_id:
238 safecmd = map(str, command)
239 safecmd = map(shlex.quote, safecmd)
240 safecmd = ' '.join(safecmd)
241 command = [os.environ.get('SHELL', '/usr/bin/bash'), '-c', safecmd]
242
243 return subprocess.run(command, *args, **kwargs)