Fix #51: Handle subprocess.CalledProcessError
This commit is contained in:
parent
886396e7c6
commit
09c43b9300
@ -63,16 +63,30 @@ def _convert_subprocess_cmd(cmd):
|
||||
else:
|
||||
return [cmd]
|
||||
|
||||
def _perror(e):
|
||||
print("subprocess.CalledProcessError: Command '%s' returned non-zero exit status %s"%(' '.join(e.cmd), str(e.returncode)))
|
||||
cleanup()
|
||||
# Communicate return code to the calling program if any
|
||||
sys.exit(e.returncode)
|
||||
|
||||
def exec_subprocess_call(cmd, cwd):
|
||||
cmd = _convert_subprocess_cmd(cmd)
|
||||
subprocess.check_call(cmd, cwd=cwd, shell=True,
|
||||
stdin=subprocess.PIPE, stdout=None, stderr=subprocess.STDOUT)
|
||||
try:
|
||||
subprocess.check_call(cmd, cwd=cwd, shell=True,
|
||||
stdin=subprocess.PIPE, stdout=None, stderr=subprocess.STDOUT)
|
||||
except subprocess.CalledProcessError as e:
|
||||
_perror(e)
|
||||
|
||||
def exec_subprocess_check_output(cmd, cwd):
|
||||
cmd = _convert_subprocess_cmd(cmd)
|
||||
return subprocess.check_output(cmd, cwd=cwd, shell=True,
|
||||
stdin=subprocess.PIPE, stderr=subprocess.STDOUT).decode('utf-8')
|
||||
try:
|
||||
out = subprocess.check_output(cmd, cwd=cwd, shell=True,
|
||||
stdin=subprocess.PIPE, stderr=subprocess.STDOUT).decode('utf-8')
|
||||
except subprocess.CalledProcessError as e:
|
||||
_perror(e)
|
||||
|
||||
finally:
|
||||
return out
|
||||
|
||||
def box_draw_header():
|
||||
msg='cling (' + platform.machine() + ')' + formatdate(time.time(),tzinfo())
|
||||
|
Loading…
x
Reference in New Issue
Block a user