refactored subshell execution code for greater readability and moved it to utils
This commit is contained in:
parent
54efd874a8
commit
3fd06fb620
|
@ -19,8 +19,6 @@ evaluation:
|
|||
"""
|
||||
|
||||
import ctypes
|
||||
import shlex
|
||||
import subprocess
|
||||
from os import environ as env
|
||||
from pathlib import Path
|
||||
from typing import Set, Union
|
||||
|
@ -28,15 +26,6 @@ from typing import Set, Union
|
|||
from .utils import print_err, warn_of_missing_prerequisite
|
||||
|
||||
|
||||
def execute_and_return(strCMD):
|
||||
proc = subprocess.Popen(
|
||||
shlex.split(strCMD), stdout=subprocess.PIPE, stderr=subprocess.PIPE
|
||||
)
|
||||
out, err = proc.communicate()
|
||||
out, err = out.decode("UTF-8").strip(), err.decode("UTF-8").strip()
|
||||
return out, err
|
||||
|
||||
|
||||
def check_cuda_result(cuda, result_val):
|
||||
if result_val != 0:
|
||||
cuda.cuGetErrorString(result_val, ctypes.byref(error_str))
|
||||
|
|
|
@ -1,6 +1,28 @@
|
|||
import shlex
|
||||
import subprocess
|
||||
import sys
|
||||
|
||||
|
||||
def execute_and_return(command_string: str) -> Tuple[str, str]:
|
||||
def _decode(subprocess_err_out_tuple):
|
||||
return tuple(
|
||||
to_decode.decode("UTF-8").strip()
|
||||
for to_decode in subprocess_err_out_tuple
|
||||
)
|
||||
|
||||
def execute_and_return_decoded_std_streams(command_string):
|
||||
return _decode(
|
||||
subprocess.Popen(
|
||||
shlex.split(command_string),
|
||||
stdout=subprocess.PIPE,
|
||||
stderr=subprocess.PIPE,
|
||||
).communicate()
|
||||
)
|
||||
|
||||
std_out, std_err = execute_and_return_decoded_std_streams()
|
||||
return std_out, std_err
|
||||
|
||||
|
||||
def print_err(s: str) -> None:
|
||||
print(s, file=sys.stderr)
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user