Added documentation for attaching plugins

This commit is contained in:
Joel Collins 2018-11-23 17:40:36 +00:00
parent 034a45e400
commit 8e953e1064
2 changed files with 7 additions and 1 deletions

View file

@ -25,7 +25,7 @@ class Microscope(object):
self.attach(camera, stage)
# Create plugin mountpoint
self.plugin = PluginMount(self)
self.plugin = PluginMount(self) #: :py:class:`openflexure_microscope.plugins.PluginMount`: Mounting point for all microscope plugins
def __enter__(self):
"""Create microscope on context enter."""

View file

@ -85,6 +85,12 @@ class PluginMount(object):
print("Creating plugin mount")
def attach(self, plugin_module):
"""
Attach a MicroscopePlugin instance to the plugin mount.
Args:
plugin_module: A loaded module to be attached. Module can be loaded using :py:meth:`openflexure_microscope.plugins.load_plugin`
"""
if not hasattr(plugin_module, 'PLUGINS') or not isinstance(plugin_module.PLUGINS, dict):
raise Exception("No falid PLUGINS dictionary found in {}".format(plugin_module))