From c93cbb7d1b179a58622356276afcc34f1579e15f Mon Sep 17 00:00:00 2001 From: Brad Hall Date: Sun, 5 Jun 2011 21:52:09 -0700 Subject: [PATCH] Make the manager a little smarter about finding its config file --- quantum/manager.py | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/quantum/manager.py b/quantum/manager.py index dc882bbb0..9932f17af 100644 --- a/quantum/manager.py +++ b/quantum/manager.py @@ -26,17 +26,26 @@ The caller should make sure that QuantumManager is a singleton. import gettext gettext.install('quantum', unicode=1) +import os + from common import utils from quantum_plugin_base import QuantumPluginBase CONFIG_FILE = "plugins.ini" +def find_config(basepath): + for root, dirs, files in os.walk(basepath): + if CONFIG_FILE in files: + return os.path.join(root, CONFIG_FILE) + return None class QuantumManager(object): - - def __init__(self,config=CONFIG_FILE): - self.configuration_file = CONFIG_FILE - plugin_location = utils.getPluginFromConfig(CONFIG_FILE) + def __init__(self, config=None): + if config == None: + self.configuration_file = find_config(os.path.abspath(os.path.dirname(__file__))) + else: + self.configuration_file = config + plugin_location = utils.getPluginFromConfig(self.configuration_file) print "PLUGIN LOCATION:%s" % plugin_location plugin_klass = utils.import_class(plugin_location) if not issubclass(plugin_klass, QuantumPluginBase): -- 2.45.2