diff --git a/python/meson.build b/python/meson.build index f5ba78d..ecaf2d6 100644 --- a/python/meson.build +++ b/python/meson.build @@ -5,7 +5,7 @@ project( ).stdout().strip('\n'), # 'online.fxreader.uv', # ['c', 'cpp'], - version: '0.1.5.17+27.13', + version: '0.1.5.17+27.14', # default_options: [ # 'cpp_std=c++23', # # 'prefer_static=true', diff --git a/python/online/fxreader/pr34/commands_typed/cli.py b/python/online/fxreader/pr34/commands_typed/cli.py index 6c76c4d..82073d1 100644 --- a/python/online/fxreader/pr34/commands_typed/cli.py +++ b/python/online/fxreader/pr34/commands_typed/cli.py @@ -796,6 +796,7 @@ class CLI(abc.ABC): from . import cli_bootstrap from . import argparse as pr34_argparse + from .toml import toml_add_overlay project = self.projects[project_name] @@ -859,9 +860,14 @@ class CLI(abc.ABC): # assert isinstance(pyproject_tool, tomlkit.items.Array) assert isinstance(pyproject_tool, MutableMapping) - for k, v in module.tool.items(): - assert not k in pyproject_tool - pyproject_tool[k] = v + toml_add_overlay( + pyproject_tool, + module.tool, + ) + + # for k, v in module.tool.items(): + # assert not k in pyproject_tool + # pyproject_tool[k] = v del p del pyproject_tool diff --git a/python/online/fxreader/pr34/commands_typed/toml.py b/python/online/fxreader/pr34/commands_typed/toml.py new file mode 100644 index 0000000..1f12901 --- /dev/null +++ b/python/online/fxreader/pr34/commands_typed/toml.py @@ -0,0 +1,30 @@ +from .cli_bootstrap import check_dict + +from typing import ( + Any, + Mapping, + MutableMapping, + Iterable, +) + + +def toml_add_overlay( + toml: Any, + overlay: Any, +) -> Any: + if isinstance(toml, MutableMapping): + overlay2 = check_dict( + overlay, + str, + ) + + for k, v in overlay2.items(): + if not k in toml: + toml[k] = v + else: + toml_add_overlay( + toml[k], + v, + ) + else: + raise NotImplementedError diff --git a/releases/whl/online_fxreader_pr34-0.1.5.17+27.14-py3-none-any.whl b/releases/whl/online_fxreader_pr34-0.1.5.17+27.14-py3-none-any.whl new file mode 100644 index 0000000..ca0c402 --- /dev/null +++ b/releases/whl/online_fxreader_pr34-0.1.5.17+27.14-py3-none-any.whl @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c428575bce655c0cd14675767564b31c6b16c7d92fbc44103345bdbe9045babc +size 70897