Package libxyz :: Package core :: Package plugins :: Module manager :: Class PluginManager |
[hide private]
[frames] | no frames]

# Class PluginManager

source code

    object --+
             |
            PluginManager

Plugin manager class It is supposed to provide easy access to plugin data

Instance Methods | [hide private]
__init__(self, xyz, dirs) x.__init__(...) initializes x; see x.__class__.__doc__ for signature | source code
load(self, plugin, *initargs, **initkwargs) Load and initiate required plugin | source code
reload(self, plugin, *initargs, **initkwargs) Force load plugin if it's already in cache. | source code
from_load(self, plugin, method) Load method from plugin. | source code
from_load_data(self, plugin, obj) Load data object from plugin. | source code
is_loaded(self, plugin) Check if plugin already loaded | source code
get_loaded(self, plugin=None) Return loaded and initiated inistance of plugin | source code
get_all_loaded(self) Return all currenty loaded plugins as dictionary with plugins ns path as keys and instances as values | source code
set_loaded(self, plugin, inst) Set loaded and initiated inistance of plugin | source code
del_loaded(self, plugin) Delete loaded instance from cache | source code
wait_for(self, plugin, callback, *args) Some virtual plugins are not available at the parsing time. | source code
shutdown(self, plugin=None) Run destructors on specified or all loaded plugins | source code
register(self, obj) Register new plugin. | source code
is_virtual(self, plugin) | source code
_enabled_list(self) Make list of enabled plugins | source code
Inherited from `object`: `__delattr__`, `__getattribute__`, `__hash__`, `__new__`, `__reduce__`, `__reduce_ex__`, `__repr__`, `__setattr__`, `__str__`

Class Variables | [hide private]
| PLUGIN_CLASS = `u"XYZPlugin"`
| PLUGIN_FILE = `u"main"`
| VIRTUAL_NAMESPACE = `u"sys"`
| EVENT_INIT = `u"event:plugin_init"`
| EVENT_FROM_LOAD = `u"event:plugin_from_load"`
| EVENT_FROM_LOAD_DATA = `u"event:plugin_from_load_data"`
| EVENT_PREPARE = `u"event:plugin_prepare"`
| EVENT_FIN = `u"event:plugin_fin"`

Properties | [hide private]
Inherited from `object`: `__class__`

Method Details | [hide private]

### __init__(self, xyz, dirs) (Constructor) | source code
x.__init__(...) initializes x; see x.__class__.__doc__ for signature Parameters: `xyz` - XYZ data `dirs` (list) - Plugin directories list Overrides: object.__init__

### load(self, plugin, *initargs, **initkwargs) | source code
Load and initiate required plugin Parameters: `plugin` - Plugin namespace path `initargs` - Necessary arguments to initiate plugin `initkwargs` - Necessary kw arguments to initiate plugin Decorators: `@ns_transform`

### reload(self, plugin, *initargs, **initkwargs) | source code
Force load plugin if it's already in cache. Decorators: `@ns_transform`

### from_load(self, plugin, method) | source code
Load method from plugin. If plugin was not loaded before, load and initiate it first. Parameters: `plugin` - Plugin namespace path `method` - Public method name Decorators: `@ns_transform`

### from_load_data(self, plugin, obj) | source code
Load data object from plugin. If plugin was not loaded before, load and initiate it first. Parameters: `plugin` - Plugin namespace path `obj` - Public data object name Decorators: `@ns_transform`

### is_loaded(self, plugin) | source code
Check if plugin already loaded Parameters: `plugin` - Plugin namespace path Decorators: `@ns_transform`

### get_loaded(self, plugin=None) | source code
Return loaded and initiated inistance of plugin Parameters: `plugin` - Plugin namespace path Decorators: `@ns_transform`

### set_loaded(self, plugin, inst) | source code
Set loaded and initiated inistance of plugin Parameters: `plugin` - Plugin namespace path `inst` - Plugin instance Decorators: `@ns_transform`

### del_loaded(self, plugin) | source code
Delete loaded instance from cache Parameters: `plugin` - Plugin namespace path Decorators: `@ns_transform`

### wait_for(self, plugin, callback, *args) | source code
Some virtual plugins are not available at the parsing time. This method is used to wait while plugin is loaded and then run callback. Arguments to callback: loaded plugin obj, and all optional *args passed Decorators: `@ns_transform`

### register(self, obj) | source code
Register new plugin. Parameters: `obj` - libxyz.core.BasePlugin inherited instance