diff --git a/config_provider.py b/config_provider.py index 10df542e7645ef858ef9e44ef640876390fbd4f0..698fa3b6492b64d2c5fdcb280e97fddc5e6705e2 100644 --- a/config_provider.py +++ b/config_provider.py @@ -1,16 +1,23 @@ class ConfigProvider: _instance = None + _configs = {} @classmethod - def getInstance(cls): - return ConfigProvider._instance + def getInstance(cls, name = None): + if name is None: + return ConfigProvider._instance + else: + return ConfigProvider._configs.get(name) - def __init__(self, load_function): + def __init__(self, load_function, name = None): self._conf_dict = load_function['function']( - *load_function.get('args'), **load_function.get('kwargs')) + *load_function.get('args', []), **load_function.get('kwargs',{})) self._load_function = load_function - ConfigProvider._instance = self + if name is None: + ConfigProvider._instance = self + else: + ConfigProvider._configs[name] = self @property def dict(self):