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 |