Restructured plugin validity check
This commit is contained in:
parent
9a2c585046
commit
14a4e3d909
1 changed files with 13 additions and 12 deletions
|
|
@ -91,22 +91,23 @@ class PluginMount(object):
|
||||||
Args:
|
Args:
|
||||||
plugin_module: A loaded module to be attached. Module can be loaded using :py:meth:`openflexure_microscope.plugins.load_plugin`
|
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):
|
if hasattr(plugin_module, 'PLUGINS') and isinstance(plugin_module.PLUGINS, dict):
|
||||||
raise Exception("No falid PLUGINS dictionary found in {}".format(plugin_module))
|
|
||||||
|
|
||||||
for plugin_name, plugin_class in plugin_module.PLUGINS.items():
|
for plugin_name, plugin_class in plugin_module.PLUGINS.items():
|
||||||
|
|
||||||
plugin_object = plugin_class()
|
plugin_object = plugin_class()
|
||||||
if hasattr(self, plugin_name):
|
if hasattr(self, plugin_name):
|
||||||
warnings.warn("A plugin named {} has already been loaded. Skipping {}.".format(plugin_name, plugin_class))
|
warnings.warn("A plugin named {} has already been loaded. Skipping {}.".format(plugin_name, plugin_class))
|
||||||
else:
|
else:
|
||||||
setattr(self, plugin_name, plugin_object)
|
setattr(self, plugin_name, plugin_object)
|
||||||
|
|
||||||
# Grant plugin access to the hardware
|
# Grant plugin access to the hardware
|
||||||
assert(isinstance(plugin_object, MicroscopePlugin))
|
assert(isinstance(plugin_object, MicroscopePlugin))
|
||||||
plugin_object.microscope = self.parent
|
plugin_object.microscope = self.parent
|
||||||
|
|
||||||
print("Adding plugin: {}".format(plugin_name))
|
print("Adding plugin: {}".format(plugin_name))
|
||||||
|
else:
|
||||||
|
warnings.warn("No valid PLUGINS dictionary found in {}".format(plugin_module))
|
||||||
|
|
||||||
|
|
||||||
class MicroscopePlugin():
|
class MicroscopePlugin():
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue