-
-
Notifications
You must be signed in to change notification settings - Fork 111
Open
Description
When there are sections defined out of order, it seems tomlkit does not like it. Original issue was reported at python-poetry/poetry#4718.
The following code runs without issues, however does not modify the toml. Using content.value_insert_after() causes AttributeError: 'dict' object has no attribute '_insert_after'.
If we remove build-system from the toml, the code below raises AttributeError: 'Table' object has no attribute '_insert_after'. However using content.value succeeds with the right results.
reproducer.py
import tomlkit
TOML = tomlkit.parse("""\
[tool.poetry]
name = "foobar"
version = "0.1.0"
description = ""
readme = "README.md"
[tool.poetry.dependencies]
python = "^3.10"
[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"
[tool.poetry.plugins]
""")
if __name__ == '__main__':
content = TOML["tool"]["poetry"]
content._insert_after("dependencies", "group", tomlkit.table(is_super_table=True))
content["group"]["one"] = tomlkit.table(is_super_table=True)
content["group"]["one"]["dependencies"] = tomlkit.table()
print(TOML.as_string())Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels