Package Products :: Package DataCollector :: Module Plugins :: Class PluginManager |
[hide private]
[frames] | no frames]

# Class PluginManager

source code

    object --+
             |
            PluginManager

Manages plugin modules. Finds plugins and returns PluginLoader instances. Keeps a cache of previously loaded plugins.

Instance Methods | [hide private]
__init__(self, lastModName, packPath, productsPaths) Adds PluginLoaders for plugins in productsPaths to the pluginLoaders dictionary. | source code
getPluginLoader(self, packs, modPath) Get the PluginLoader for a specific plugin. | source code
getPluginLoaders(self, packs) Add the PluginLoaders for the packs to the pluginLoaders dictionary. | source code
_addPluginLoaders(self, loaderFactory, package) | source code

Method Details | [hide private]

### __init__(self, lastModName, packPath, productsPaths) (Constructor) | source code
    Adds PluginLoaders for plugins in productsPaths to the pluginLoaders
    dictionary.

    lastModName - the directory name where the plugins are found.  this name
              is appended to the following paths
    packPath - path to the directory that holds the plugin modules inside
               a zenpack. this path is relative to the zenpack root
    productsPaths - list of paths to directories that hold plugin
               modules. these paths are relative to $ZENHOME/Products

    a 'path', as used here, is a tuple of directory names
Overrides: object.__init__

### getPluginLoader(self, packs, modPath) | source code
Get the PluginLoader for a specific plugin. packs - list of installed zenpacks (ZenPack instances) modPath - the module path of the plugin

### getPluginLoaders(self, packs) | source code
Add the PluginLoaders for the packs to the pluginLoaders dictionary. Return the values of that dictionary. packs - list of installed zenpacks (ZenPack instances)