Commit 64bdcfe2 by Sébastien Eustace

Fix toml module not updating content

parent e8c3d110
...@@ -32,6 +32,10 @@ class CascadeDict: ...@@ -32,6 +32,10 @@ class CascadeDict:
raise KeyError raise KeyError
def __setitem__(self, key, value): def __setitem__(self, key, value):
for d in self._internal_dicts[1:]:
if key in d:
d[key] = value
self._internal_dicts[0][key] = value self._internal_dicts[0][key] = value
def get(self, item, default=None): def get(self, item, default=None):
......
from poetry.toml import dumps
from poetry.toml import loads from poetry.toml import loads
from poetry.toml.prettify.errors import TOMLError from poetry.toml.prettify.errors import TOMLError
...@@ -262,3 +263,27 @@ last_name = "Springsteen" ...@@ -262,3 +263,27 @@ last_name = "Springsteen"
def non_empty(iterable): def non_empty(iterable):
return tuple(filter(bool, iterable)) return tuple(filter(bool, iterable))
def test_set_elements():
t = """\
[tool.poetry]
name = "poetry"
version = "0.1.0"
[tool.poetry.dependencies]
python = "^3.6"
"""
parsed = loads(t)
content = parsed['tool']['poetry']
assert content['name'] == 'poetry'
assert content['version'] == '0.1.0'
content['version'] = '0.2.0'
t = dumps(parsed)
parsed = loads(t)
content = parsed['tool']['poetry']
assert content['name'] == 'poetry'
assert content['version'] == '0.2.0'
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment