From 5defd6cafc07c6445c5f8fdcebfba82f6270a07c Mon Sep 17 00:00:00 2001 From: Jordan Wiens Date: Fri, 13 Aug 2021 13:34:47 -0400 Subject: adding pth uninstallation to install api script and linux setup script --- scripts/install_api.py | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) (limited to 'scripts/install_api.py') diff --git a/scripts/install_api.py b/scripts/install_api.py index 4504ea71..290300a2 100755 --- a/scripts/install_api.py +++ b/scripts/install_api.py @@ -31,16 +31,34 @@ if '-v' in sys.argv[1:]: try: import binaryninja import binaryninjaui #To better detect if migrating from a version without UI plugin support + if '-u' in sys.argv[1:]: + #Uninstall mode + userpth = os.path.join(getusersitepackages(), 'binaryninja.pth') + if os.path.exists(userpth): + print(f"Removing {userpth}") + os.unlink(userpth) + sitepth = os.path.join(getsitepackages()[0], 'binaryninja.pth') + if os.path.exists(sitepth): + print(f"Removing {sitepth}") + try: + os.unlink(sitepth) + except: + print("Unable to unlink, please re-run with appropriate permissions.") + sys.exit(0) print("Binary Ninja API already in the path") sys.exit(1) except ImportError: pass +if '-u' in sys.argv[1:]: + print("Uninstall specified, but binaryninja not in the current path") + sys.exit(1) + dir_name = os.path.dirname(os.path.abspath(__file__)) api_path = os.path.abspath(os.path.join(dir_name, "..", "python")) if (os.path.isdir(api_path)): - print("Found install folder of {}".format(api_path)) + print(f"Found install folder of {api_path}") else: print("Failed to find installed python expected at {}".format(api_path)) sys.exit(1) -- cgit v1.3.1