From 022eae177062865af6106a7f23f2769433c61535 Mon Sep 17 00:00:00 2001 From: Jordan Wiens Date: Mon, 14 Oct 2024 10:47:16 -0400 Subject: add force option to install_api script --- scripts/install_api.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'scripts') diff --git a/scripts/install_api.py b/scripts/install_api.py index 97584000..20f6db35 100755 --- a/scripts/install_api.py +++ b/scripts/install_api.py @@ -99,10 +99,10 @@ def validate_path(path: str) -> bool: return True -def install(interactive=False, on_root=False, on_pyenv=False) -> bool: +def install(interactive=False, on_root=False, on_pyenv=False, force=False) -> bool: - if binaryninja_installed(): - print_error("Binary Ninja API already in the path.") + if binaryninja_installed() and not force: + print_error("Binary Ninja API already in the path. Use --force to overwrite.") return False api_path = get_expected_binaryninja_installed_directory() @@ -204,6 +204,7 @@ if __name__ == '__main__': parser = argparse.ArgumentParser() parser.add_argument("-s", "--silent", action='store_true') parser.add_argument("-u", "--uninstall", action='store_true') + parser.add_argument("-f", "--force", action='store_true') parser.add_argument("--install-on-root", action='store_true') parser.add_argument("--install-on-pyenv", action='store_true') args = parser.parse_args() @@ -219,7 +220,8 @@ if __name__ == '__main__': install_result = install( interactive=(not args.silent), on_root=args.install_on_root, - on_pyenv=args.install_on_pyenv + on_pyenv=args.install_on_pyenv, + force=args.force ) if not install_result: print(f"Binary Ninja API installation failed.") -- cgit v1.3.1