def run_command()

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