summaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
authorJordan Wiens <jordan@psifertex.com>2024-10-14 10:47:16 -0400
committerJordan Wiens <jordan@psifertex.com>2024-10-14 10:47:16 -0400
commit022eae177062865af6106a7f23f2769433c61535 (patch)
treeb8270b588b522c018047f6cd07d241151d2f61d3 /scripts
parent6be2383e4e7352e2cd97da4d58582167ce29eea5 (diff)
add force option to install_api script
Diffstat (limited to 'scripts')
-rwxr-xr-xscripts/install_api.py10
1 files changed, 6 insertions, 4 deletions
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.")