From 95ae2bf7f04fe97ec9baf540ed48b9ab5c268819 Mon Sep 17 00:00:00 2001 From: Sebastian Lobinger <sebastian.lobinger@zib.de> Date: Fri, 18 Aug 2017 16:15:52 +0200 Subject: [PATCH] implement ability for multiple configs in ConfigProvider fix issue #8 --- config_provider.py | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/config_provider.py b/config_provider.py index 10df542..698fa3b 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): -- GitLab