diff configmix/__init__.py @ 220:2034da70f8fd

Simplify the implementation of configmix.load() and .safe_load(): this also prepare for the coming implementation of a "last" user configuration (analogout to "defaults" as the first configuration).
author Franz Glasner <fzglas.hg@dom66.de>
date Thu, 09 May 2019 09:27:23 +0200
parents b869e792310e
children 6f0f39a9a46f
line wrap: on
line diff
--- a/configmix/__init__.py	Wed May 08 10:18:23 2019 +0200
+++ b/configmix/__init__.py	Thu May 09 09:27:23 2019 +0200
@@ -58,18 +58,11 @@
 
     """
     defaults = kwargs.get("defaults")
-    if not files:
-        if defaults is None:
-            return Configuration()
-        else:
-            return Configuration(defaults)
     if defaults is None:
-        start = 1
-        ex = merge(None, _load_cfg_from_file(files[0]))
+        ex = Configuration()
     else:
-        start = 0
-        ex = merge(None, defaults)
-    for f in files[start:]:
+        ex = merge(None, Configuration(defaults))
+    for f in files:
         ex = merge(_load_cfg_from_file(f), ex)
     return Configuration(ex)
 
@@ -80,18 +73,11 @@
 
     """
     defaults = kwargs.get("defaults")
-    if not files:
-        if defaults is None:
-            return Configuration()
-        else:
-            return Configuration(copy.deepcopy(defaults))
     if defaults is None:
-        start = 1
-        ex = safe_merge(None, _load_cfg_from_file(files[0]))
+        ex = Configuration()
     else:
-        start = 0
-        ex = safe_merge(None, defaults)
-    for f in files[start:]:
+        ex = safe_merge(None, Configuration(defaults))
+    for f in files:
         ex = safe_merge(_load_cfg_from_file(f), ex)
     return Configuration(ex)