From db1eacdaacb9c8f6889f46bc1c6af155b81ad72a Mon Sep 17 00:00:00 2001 From: Zach White Date: Wed, 19 May 2021 15:24:46 -0700 Subject: Align our subprocess usage with current best practices. (#12940) * Align our subprocess usage with current best practices. * remove unused import * Apply suggestions from code review Co-authored-by: Ryan * fix the cpp invocation for older python * allow for unprompted installation * make sure qmk new-keyboard works on windows Co-authored-by: Ryan --- lib/python/qmk/os_helpers/__init__.py | 5 ++--- lib/python/qmk/os_helpers/linux/__init__.py | 3 +-- 2 files changed, 3 insertions(+), 5 deletions(-) (limited to 'lib/python/qmk/os_helpers') diff --git a/lib/python/qmk/os_helpers/__init__.py b/lib/python/qmk/os_helpers/__init__.py index 3f64a63a3a..3e98db3c32 100644 --- a/lib/python/qmk/os_helpers/__init__.py +++ b/lib/python/qmk/os_helpers/__init__.py @@ -3,10 +3,9 @@ from enum import Enum import re import shutil -import subprocess +from subprocess import DEVNULL from milc import cli -from qmk.commands import run from qmk import submodules from qmk.constants import QMK_FIRMWARE @@ -142,7 +141,7 @@ def is_executable(command): # Make sure the command can be executed version_arg = ESSENTIAL_BINARIES[command].get('version_arg', '--version') - check = run([command, version_arg], stdout=subprocess.PIPE, stderr=subprocess.STDOUT, timeout=5, universal_newlines=True) + check = cli.run([command, version_arg], combined_output=True, stdin=DEVNULL, timeout=5) ESSENTIAL_BINARIES[command]['output'] = check.stdout diff --git a/lib/python/qmk/os_helpers/linux/__init__.py b/lib/python/qmk/os_helpers/linux/__init__.py index 9e73964e47..008654ab0f 100644 --- a/lib/python/qmk/os_helpers/linux/__init__.py +++ b/lib/python/qmk/os_helpers/linux/__init__.py @@ -5,7 +5,6 @@ import shutil from milc import cli from qmk.constants import QMK_FIRMWARE -from qmk.commands import run from qmk.os_helpers import CheckStatus @@ -132,7 +131,7 @@ def check_modem_manager(): """ if check_systemd(): - mm_check = run(["systemctl", "--quiet", "is-active", "ModemManager.service"], timeout=10) + mm_check = cli.run(["systemctl", "--quiet", "is-active", "ModemManager.service"], timeout=10) if mm_check.returncode == 0: return True else: -- cgit v1.2.3