in assets/scripts/SilentInstaller.py [0:0]
def run_command(binary_path, arguments, environment={}, show_args=False, return_result=False):
''' Run an external command in a subprocess and wait for it to finish '''
result = None
if not os.path.isfile(binary_path):
raise OptionsError('The executable file %s does not exist' %binary_path)
print("Running: " + str(binary_path) + str(arguments if show_args else ''))
if return_result:
if environment:
proc = subprocess.Popen([binary_path] + arguments, env=environment, universal_newlines=True, stdout=subprocess.PIPE)
else:
proc = subprocess.Popen([binary_path] + arguments, universal_newlines=True, stdout=subprocess.PIPE)
else:
if environment:
proc = subprocess.Popen([binary_path] + arguments, env=environment)
else:
proc = subprocess.Popen([binary_path] + arguments)
result = proc.communicate()[0]
exit_code = proc.returncode
if exit_code != 0:
raise ExitCodeError(binary_path, exit_code)
return result