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