Skip to content

Dot-based keys don't interpolate #36

@chinghwayu

Description

@chinghwayu
values_1 = {"a.b": "value"}
values_2 = {"var": "{a.b}"}

cfg = config(
    values_2,
    values_1,
    lowercase_keys=True,
    interpolate=True,
)
print(cfg.var)

Results in:

  File "/group/siv_roast_bkup/staff/chinghwa/python-configuration/config/configuration_set.py", line 113, in __getattr__
    return self._from_configs("__getattr__", item)
  File "/group/siv_roast_bkup/staff/chinghwa/python-configuration/config/configuration_set.py", line 83, in _from_configs
    return interpolate_object(args[0], values[0], d, self._interpolate_type)
  File "/group/siv_roast_bkup/staff/chinghwa/python-configuration/config/helpers.py", line 192, in interpolate_object
    return interpolate_standard(obj, flatten(d), set())
  File "/group/siv_roast_bkup/staff/chinghwa/python-configuration/config/helpers.py", line 112, in interpolate_standard
    return text.format(**interpolated)
KeyError: 'a'

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions