Skip to content

Commit

Permalink
Add misc. custom OmegaConfg resolvers (#173)
Browse files Browse the repository at this point in the history
New resolvers:
- Modulo math operator
- List indexing (using the C++ inspired name `at`)
  • Loading branch information
nathanpainchaud authored Oct 3, 2023
1 parent eadb56d commit 2553430
Showing 1 changed file with 2 additions and 0 deletions.
2 changes: 2 additions & 0 deletions vital/utils/config.py
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@ def _cast_op(op, x, y, type_of: str = None) -> Any:
OmegaConf.register_new_resolver("op.add", lambda x, y, type_of=None: _cast_op(operator.add, x, y, type_of=type_of))
OmegaConf.register_new_resolver("op.sub", lambda x, y, type_of=None: _cast_op(operator.sub, x, y, type_of=type_of))
OmegaConf.register_new_resolver("op.mul", lambda x, y, type_of=None: _cast_op(operator.mul, x, y, type_of=type_of))
OmegaConf.register_new_resolver("op.mod", lambda x, y, type_of=None: _cast_op(operator.mod, x, y, type_of=type_of))

OmegaConf.register_new_resolver("builtin.len", lambda cfg: len(cfg))
OmegaConf.register_new_resolver("builtin.range", lambda start, stop, step=1: list(range(start, stop, step)))
Expand All @@ -47,6 +48,7 @@ def _cast_op(op, x, y, type_of: str = None) -> Any:
]
),
)
OmegaConf.register_new_resolver("list.at", lambda cfg, idx: cfg[idx])


def read_ini_config(ini_config: Path) -> ConfigParser:
Expand Down

0 comments on commit 2553430

Please sign in to comment.