summaryrefslogtreecommitdiff
path: root/python
diff options
context:
space:
mode:
authorPeter LaFosse <peter@vector35.com>2021-04-15 10:02:59 -0400
committerPeter LaFosse <peter@vector35.com>2021-04-26 11:42:38 -0400
commit864d00b8ec723c48ab148bf97ef4fbc93ef9942c (patch)
treedf5111b0f79ac68cdf10eed82b5ec7fd9a422fbf /python
parente80242c14066c8734ad00b4b015b3a54a4689463 (diff)
Add plugin status when dependencies are being installed
Diffstat (limited to 'python')
-rw-r--r--python/pluginmanager.py5
-rw-r--r--python/scriptingprovider.py2
2 files changed, 7 insertions, 0 deletions
diff --git a/python/pluginmanager.py b/python/pluginmanager.py
index 1a3187af..15b98b55 100644
--- a/python/pluginmanager.py
+++ b/python/pluginmanager.py
@@ -235,6 +235,11 @@ class RepoPlugin(object):
return core.BNPluginIsUpdateAvailable(self.handle)
@property
+ def dependencies_being_installed(self):
+ """Boolean status indicating that the plugin's dependencies are currently being installed"""
+ return core.BNPluginAreDependenciesBeingInstalled(self.handle)
+
+ @property
def project_data(self):
"""Gets a json object of the project data field"""
return json.loads(core.BNPluginGetProjectData(self.handle))
diff --git a/python/scriptingprovider.py b/python/scriptingprovider.py
index 3b088d4a..bdf8e620 100644
--- a/python/scriptingprovider.py
+++ b/python/scriptingprovider.py
@@ -914,6 +914,8 @@ class PythonScriptingProvider(ScriptingProvider):
def _install_modules(self, ctx, modules):
# This callback should not be called directly it is indirectly
# executed binary ninja is executed with --pip option
+ if len(modules.strip()) == 0:
+ return True
python_lib = settings.Settings().get_string("python.interpreter")
python_bin_override = settings.Settings().get_string("python.binaryOverride")
python_bin, status = self._get_executable_for_libpython(python_lib, python_bin_override)