VersionedPluginManager¶
Role¶
Defines the basic interface for a plugin manager that also keeps track of versions of plugins
API¶
- class yapsy.VersionedPluginManager.VersionedPluginInfo(plugin_name, plugin_path)¶
Gather some info about a plugin such as its name, author, description…
- setVersion(vstring)¶
Set the version of the plugin.
Used by subclasses to provide different handling of the version number.
- class yapsy.VersionedPluginManager.VersionedPluginManager(decorated_manager=None, categories_filter={'Default': <class 'yapsy.IPlugin.IPlugin'>}, directories_list=None, plugin_info_ext='yapsy-plugin')¶
Handle plugin versioning by making sure that when several versions are present for a same plugin, only the latest version is manipulated via the standard methods (eg for activation and deactivation)
More precisely, for operations that must be applied on a single named plugin at a time (
getPluginByName
,activatePluginByName
,deactivatePluginByName
etc) the targetted plugin will always be the one with the latest version.Note
The older versions of a given plugin are still reachable via the
getPluginsOfCategoryFromAttic
method.- getLatestPluginsOfCategory(category_name)¶
DEPRECATED(>1.8): Please consider using getPluginsOfCategory instead.
Return the list of all plugins belonging to a category.
- getPluginsOfCategoryFromAttic(categ)¶
Access the older version of plugins for which only the latest version is available through standard methods.
- loadPlugins(callback=None)¶
Load the candidate plugins that have been identified through a previous call to locatePlugins.
In addition to the baseclass functionality, this subclass also needs to find the latest version of each plugin.
- setCategoriesFilter(categories_filter)¶
Set the categories of plugins to be looked for as well as the way to recognise them.
Note: will also reset the attic toa void inconsistencies.