mirror of
https://github.com/truenas/scale-build.git
synced 2025-12-20 02:49:28 +00:00
16 lines
518 B
Python
16 lines
518 B
Python
import subprocess
|
|
|
|
|
|
def run(*args, **kwargs):
|
|
if isinstance(args[0], list):
|
|
args = tuple(args[0])
|
|
kwargs.setdefault('stdout', subprocess.PIPE)
|
|
kwargs.setdefault('stderr', subprocess.PIPE)
|
|
check = kwargs.pop('check', True)
|
|
proc = subprocess.Popen(args, stdout=kwargs['stdout'], stderr=kwargs['stderr'])
|
|
stdout, stderr = proc.communicate()
|
|
cp = subprocess.CompletedProcess(args, proc.returncode, stdout=stdout, stderr=stderr)
|
|
if check:
|
|
cp.check_returncode()
|
|
return cp
|