Mercurial > hgrepos > Python > libs > ConfigMix
diff configmix/__init__.py @ 217:b869e792310e
FIX: Extra merged and unsafe merges in configmix.safe_load
| author | Franz Glasner <fzglas.hg@dom66.de> |
|---|---|
| date | Wed, 08 May 2019 09:39:51 +0200 |
| parents | c03c9162f7e6 |
| children | 2034da70f8fd |
line wrap: on
line diff
--- a/configmix/__init__.py Wed May 08 09:34:00 2019 +0200 +++ b/configmix/__init__.py Wed May 08 09:39:51 2019 +0200 @@ -63,16 +63,15 @@ return Configuration() else: return Configuration(defaults) + if defaults is None: + start = 1 + ex = merge(None, _load_cfg_from_file(files[0])) else: - if defaults is None: - start = 1 - ex = merge(None, _load_cfg_from_file(files[0])) - else: - start = 0 - ex = merge(None, defaults) - for f in files[start:]: - ex = merge(_load_cfg_from_file(f), ex) - return Configuration(ex) + start = 0 + ex = merge(None, defaults) + for f in files[start:]: + ex = merge(_load_cfg_from_file(f), ex) + return Configuration(ex) def safe_load(*files, **kwargs): @@ -85,18 +84,16 @@ if defaults is None: return Configuration() else: - return Configuration(defaults) + return Configuration(copy.deepcopy(defaults)) + if defaults is None: + start = 1 + ex = safe_merge(None, _load_cfg_from_file(files[0])) else: - if defaults is None: - start = 1 - ex = merge(None, _load_cfg_from_file(files[0])) - else: - start = 0 - ex = merge(None, defaults) - ex = safe_merge(None, _load_cfg_from_file(files[0])) - for f in files[start:]: - ex = safe_merge(_load_cfg_from_file(f), ex) - return Configuration(ex) + start = 0 + ex = safe_merge(None, defaults) + for f in files[start:]: + ex = safe_merge(_load_cfg_from_file(f), ex) + return Configuration(ex) def _load_yaml(filename):
