Skip to content

Commit 9b46645

Browse files
authored
Merge pull request cosmosis-developers#214 from cosmosis-developers/py-update-config-interpolation
Fix config object items method when there are defaults and defaults=False
2 parents 40bad30 + a361eb2 commit 9b46645

2 files changed

Lines changed: 16 additions & 1 deletion

File tree

cosmosis/runtime/config.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -206,6 +206,7 @@ def _interpolate_compatibility(self, section, option, value, d):
206206
elif hasattr(self, "_interpolate"):
207207
return self._interpolate(section, option, value, d)
208208
else:
209+
d = self._unify_values(section, {})
209210
return self._interpolation.before_get(self, section, option, value, d)
210211

211212

cosmosis/test/test_parameters.py

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import numpy as np
55
import tempfile
66
import os
7+
import io
78

89
def test_override_new():
910
with tempfile.NamedTemporaryFile('w') as values:
@@ -97,4 +98,17 @@ def test_items():
9798
ini.set("parameters", "p1", "-3.0 0.0 3.0")
9899
ini.set("parameters", "p2", "-3.0 0.0 3.0")
99100
ini.items("parameters", defaults=True)
100-
ini.items("parameters", defaults=False)
101+
ini.items("parameters", defaults=False)
102+
103+
def test_items_with_defaults():
104+
sio = io.StringIO("""
105+
[DEFAULT]
106+
x = 1
107+
[parameters]
108+
y = 2
109+
""")
110+
ini = Inifile(sio)
111+
assert ini.getint("parameters", "y") == 2
112+
assert ini.getint("parameters", "x") == 1
113+
assert dict(ini.items("parameters", defaults=True)) == {"x": "1", "y": "2"}
114+
assert dict(ini.items("parameters", defaults=False)) == {"y": "2"}

0 commit comments

Comments
 (0)