diff options
author | Narayan Desai <desai@mcs.anl.gov> | 2008-07-28 18:48:11 +0000 |
---|---|---|
committer | Narayan Desai <desai@mcs.anl.gov> | 2008-07-28 18:48:11 +0000 |
commit | 83b60a48456c8d3efe90b5593d80323e435f2426 (patch) | |
tree | 7d4847a47223580ea3c0c9d05e7b0609ed57aa1a /src/lib/Server/Core.py | |
parent | 011d38cd29880942c7049edd95078c41761c49cb (diff) | |
download | bcfg2-83b60a48456c8d3efe90b5593d80323e435f2426.tar.gz bcfg2-83b60a48456c8d3efe90b5593d80323e435f2426.tar.bz2 bcfg2-83b60a48456c8d3efe90b5593d80323e435f2426.zip |
Implement support for non-configuration plugins
- add new configuration option
- switch all callers over to new Core api
- fork RecvStats when DBStats is in use
git-svn-id: https://svn.mcs.anl.gov/repos/bcfg/trunk/bcfg2@4831 ce84e21b-d406-0410-9b95-82705330c041
Diffstat (limited to 'src/lib/Server/Core.py')
-rw-r--r-- | src/lib/Server/Core.py | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/src/lib/Server/Core.py b/src/lib/Server/Core.py index d7086aa96..57655cbb4 100644 --- a/src/lib/Server/Core.py +++ b/src/lib/Server/Core.py @@ -199,7 +199,7 @@ except ImportError: class Core(object): '''The Core object is the container for all Bcfg2 Server logic, and modules''' - def __init__(self, repo, structures, generators, password, svn, encoding): + def __init__(self, repo, plugins, structures, generators, password, svn, encoding): object.__init__(self) self.datastore = repo try: @@ -224,28 +224,28 @@ class Core(object): [data.remove('') for data in [structures, generators] if '' in data] - for plugin in structures + generators: + for plugin in structures + generators + plugins: if not self.plugins.has_key(plugin): self.init_plugins(plugin) - plugins = self.plugins.values() + chk_plugins = self.plugins.values() while True: - plugin = plugins.pop() + plugin = chk_plugins.pop() if isinstance(plugin, Bcfg2.Server.Plugin.MetadataPlugin): self.metadata = plugin break - if not plugins: + if not chk_plugins: self.init_plugins("Metadata") self.metadata = self.plugins["Metadata"] break - plugins = self.plugins.values() + chk_plugins = self.plugins.values() while True: - plugin = plugins.pop() + plugin = chk_plugins.pop() if isinstance(plugin, Bcfg2.Server.Plugin.StatisticsPlugin): self.stats = plugin break - if not plugins: + if not chk_plugins: self.init_plugins("Statistics") self.stats = self.plugins["Statistics"] break |