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)