Commit 8e953e10 authored by Joel Collins's avatar Joel Collins
Browse files

Added documentation for attaching plugins

parent 034a45e4
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -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."""
+6 −0
Original line number Diff line number Diff line
@@ -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))