summaryrefslogtreecommitdiff
path: root/python/pluginmanager.py
diff options
context:
space:
mode:
authorPeter LaFosse <peter@vector35.com>2017-08-10 15:30:42 -0400
committerPeter LaFosse <peter@vector35.com>2017-08-11 13:35:47 -0400
commit326253abc74f7d6b601e03463df6abe8b8929428 (patch)
tree61abc2d887ab63d17fe168d240d6a584c6769e19 /python/pluginmanager.py
parentca2aaa21523b210157fb71c066acfbebf9dadc78 (diff)
Fixes to allow plugins to be installed and loaded from headless
Diffstat (limited to 'python/pluginmanager.py')
-rw-r--r--python/pluginmanager.py17
1 files changed, 17 insertions, 0 deletions
diff --git a/python/pluginmanager.py b/python/pluginmanager.py
index c0f70260..6896d699 100644
--- a/python/pluginmanager.py
+++ b/python/pluginmanager.py
@@ -144,6 +144,12 @@ class Repository(object):
def __repr__(self):
return "<{} - {}/{}>".format(self.path, self.remote_reference, self.local_reference)
+ def __getitem__(self, plugin_path):
+ for plugin in self.plugins:
+ if plugin_path == plugin.path:
+ return plugin
+ raise KeyError()
+
@property
def url(self):
"""String url of the git repository where the plugin repository's are stored"""
@@ -155,6 +161,11 @@ class Repository(object):
return core.BNRepositoryGetRepoPath(self.handle)
@property
+ def full_path(self):
+ """String full path the repository"""
+ return core.BNRepositoryGetPluginsPath(self.handle)
+
+ @property
def local_reference(self):
"""String for the local git reference (ie 'master')"""
return core.BNRepositoryGetLocalReference(self.handle)
@@ -190,6 +201,12 @@ class RepositoryManager(object):
def __init__(self, handle=None):
self.handle = core.BNGetRepositoryManager()
+ def __getitem__(self, repo_path):
+ for repo in self.repositories:
+ if repo_path == repo.path:
+ return repo
+ raise KeyError()
+
def check_for_updates(self):
"""Check for updates for all managed Repository objects"""
return core.BNRepositoryManagerCheckForUpdates(self.handle)