|
Uranium
Application Framework
|
A central object to dynamically load modules as plugins. More...
Inherits QObject.
Public Member Functions | |
| def | __init__ (self, parent=None) |
| def | addSupportedPluginExtension (self, extension, description) |
| def | supportedPluginExtensions (self) |
| def | isPluginFile (self, str plugin_path) |
| def | installPlugin (self, str plugin_path) |
| bool | checkRequiredPlugins (self, List[str] required_plugins) |
| Check if all required plugins are loaded. More... | |
| List[str] | getActivePlugins (self) |
| Get the list of active plugins. More... | |
| bool | isActivePlugin (self, str plugin_id) |
| Ask whether plugin_name is an active plugin. More... | |
| def | removeActivePlugin (self, str plugin_id) |
| Remove plugin from the list of active plugins. More... | |
| def | addActivePlugin (self, str plugin_id) |
| Add a plugin to the list of active plugins. More... | |
| def | loadPlugin (self, str plugin_id) |
| Load a single plugin by id. More... | |
| def | loadPlugins (self, Optional[dict] meta_data=None) |
| Load all plugins matching a certain set of metadata. More... | |
| PluginObject | getPluginObject (self, str plugin_id) |
| Get a plugin object. More... | |
| Dict | getMetaData (self, str plugin_id) |
| Get the metadata for a certain plugin. More... | |
| Optional[str] | getPluginPath (self, str plugin_id) |
| Get the path to a plugin. More... | |
| List | getAllMetaData (self, **kwargs) |
| Get a list of all metadata matching a certain subset of metadata. More... | |
| List | getPluginLocations (self) |
| Get the list of plugin locations. More... | |
| def | addPluginLocation (self, str location) |
| Add a plugin location to the list of locations to search. More... | |
| def | setApplication (self, app) |
| Set the central application object This is used by plugins as a central access point for other objects. More... | |
| def | addType (cls, str plugin_type, Callable[[Any], None] register_function) |
| Add a new plugin type. More... | |
| def | removeType (cls, str plugin_type) |
| Remove a plugin type. More... | |
| "PluginRegistry" | getInstance (cls) |
| Get the singleton instance of this class. More... | |
Static Public Attributes | |
| int | APIVersion = 4 |
| supportedPluginExtensionsChanged = pyqtSignal() | |
| notify | |
| str | |
| result | |
A central object to dynamically load modules as plugins.
The PluginRegistry class can load modules dynamically and use them as plugins. Each plugin module is expected to be a directory with and __init__ file defining a getMetaData and a register function.
For more details, see the plugins file.
| def UM.PluginRegistry.PluginRegistry.addActivePlugin | ( | self, | |
| str | plugin_id | ||
| ) |
Add a plugin to the list of active plugins.
| plugin_id | string The id of the plugin to add. |
| def UM.PluginRegistry.PluginRegistry.addPluginLocation | ( | self, | |
| str | location | ||
| ) |
Add a plugin location to the list of locations to search.
| location | string The location to add to the list |
| def UM.PluginRegistry.PluginRegistry.addType | ( | cls, | |
| str | plugin_type, | ||
| Callable[[Any], None] | register_function | ||
| ) |
Add a new plugin type.
This function is used to add new plugin types. Plugin types are simple string identifiers that match a certain plugin to a registration function.
The callable register_function is responsible for handling the object. Usually it will add the object to a list of objects in the relevant class. For example, the plugin type 'tool' has Controller::addTool as register function.
register_function will be called every time a plugin of type is loaded.
| type | string The name of the plugin type to add. |
| register_function | callable A callable that takes an object as parameter. |
| bool UM.PluginRegistry.PluginRegistry.checkRequiredPlugins | ( | self, | |
| List[str] | required_plugins | ||
| ) |
Check if all required plugins are loaded.
| required_plugins | list List of ids of plugins that ''must'' be activated. |
| List[str] UM.PluginRegistry.PluginRegistry.getActivePlugins | ( | self | ) |
Get the list of active plugins.
| List UM.PluginRegistry.PluginRegistry.getAllMetaData | ( | self, | |
| ** | kwargs | ||
| ) |
Get a list of all metadata matching a certain subset of metadata.
| kwargs | Keyword arguments. Possible keywords:
|
| "PluginRegistry" UM.PluginRegistry.PluginRegistry.getInstance | ( | cls | ) |
Get the singleton instance of this class.
| Dict UM.PluginRegistry.PluginRegistry.getMetaData | ( | self, | |
| str | plugin_id | ||
| ) |
Get the metadata for a certain plugin.
| plugin_id | string The ID of the plugin |
| InvalidMetaDataError | Raised when no metadata can be found or the metadata misses the right keys. |
| List UM.PluginRegistry.PluginRegistry.getPluginLocations | ( | self | ) |
Get the list of plugin locations.
| PluginObject UM.PluginRegistry.PluginRegistry.getPluginObject | ( | self, | |
| str | plugin_id | ||
| ) |
Get a plugin object.
| plugin_id | string The ID of the plugin object to get. |
| Optional[str] UM.PluginRegistry.PluginRegistry.getPluginPath | ( | self, | |
| str | plugin_id | ||
| ) |
Get the path to a plugin.
| plugin_id | string The ID of the plugin. |
| bool UM.PluginRegistry.PluginRegistry.isActivePlugin | ( | self, | |
| str | plugin_id | ||
| ) |
Ask whether plugin_name is an active plugin.
| plugin_id | string The id of the plugin which might be active or not. |
| def UM.PluginRegistry.PluginRegistry.loadPlugin | ( | self, | |
| str | plugin_id | ||
| ) |
Load a single plugin by id.
| plugin_id | string The ID of the plugin, i.e. its directory name. |
| PluginNotFoundError | Raised when the plugin could not be found. |
| def UM.PluginRegistry.PluginRegistry.loadPlugins | ( | self, | |
| Optional[dict] | meta_data = None |
||
| ) |
Load all plugins matching a certain set of metadata.
| meta_data | dict The meta data that needs to be matched. |
| def UM.PluginRegistry.PluginRegistry.removeActivePlugin | ( | self, | |
| str | plugin_id | ||
| ) |
Remove plugin from the list of active plugins.
| plugin_id | string The id of the plugin to remove. |
| def UM.PluginRegistry.PluginRegistry.removeType | ( | cls, | |
| str | plugin_type | ||
| ) |
Remove a plugin type.
| type | string The plugin type to remove. |
| def UM.PluginRegistry.PluginRegistry.setApplication | ( | self, | |
| app | |||
| ) |
Set the central application object This is used by plugins as a central access point for other objects.
| app | Application The application object to use |