forked from mirrors/qmk_userspace
CLI: More MSYS2 fixes (#8577)
* CLI: More MSYS2 fixes Now I can fully setup and work with qmk_firmware on an MSYS2 installation without any errors or exceptions. * Apply suggestions from code review Co-Authored-By: skullydazed <skullydazed@users.noreply.github.com> * Some improvements * Remove unnecessary import * Remove slow, unused code Getting the version from GIT was slow on both Windows and Docker. Until we find a better, faster way, this is removed. * remove unused imports * Implement @vomindoraan's suggestions * refine how we pick the shell to use * Apply @fauxpark's suggestions fauxpark investigated the topic of shells in MSYS2 a bit and we come to the conclusion that the safest bet was to just use the user's shell. Anything more just opens up more edge-cases than it solves. Co-Authored-By: Ryan <fauxpark@gmail.com> * Use `platform_id` in doctor This will bring it in line with the new code. Co-authored-by: skullydazed <skullydazed@users.noreply.github.com> Co-authored-by: skullY <skullydazed@gmail.com> Co-authored-by: Ryan <fauxpark@gmail.com>
This commit is contained in:
parent
13fff52f6b
commit
c89c084146
4 changed files with 31 additions and 21 deletions
|
@ -1,6 +1,10 @@
|
|||
"""Helper functions for commands.
|
||||
"""
|
||||
import json
|
||||
import os
|
||||
import platform
|
||||
import subprocess
|
||||
import shlex
|
||||
|
||||
import qmk.keymap
|
||||
|
||||
|
@ -61,3 +65,19 @@ def parse_configurator_json(configurator_file):
|
|||
user_keymap = json.load(configurator_file)
|
||||
|
||||
return user_keymap
|
||||
|
||||
|
||||
def run(command, *args, **kwargs):
|
||||
"""Run a command with subprocess.run
|
||||
"""
|
||||
platform_id = platform.platform().lower()
|
||||
|
||||
if isinstance(command, str):
|
||||
raise TypeError('`command` must be a non-text sequence such as list or tuple.')
|
||||
|
||||
if 'windows' in platform_id:
|
||||
safecmd = map(shlex.quote, command)
|
||||
safecmd = ' '.join(safecmd)
|
||||
command = [os.environ['SHELL'], '-c', safecmd]
|
||||
|
||||
return subprocess.run(command, *args, **kwargs)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue