diff --git a/changelog.d/20230905_155859_regis_fix_render_config_lists.md b/changelog.d/20230905_155859_regis_fix_render_config_lists.md new file mode 100644 index 0000000..a3aced1 --- /dev/null +++ b/changelog.d/20230905_155859_regis_fix_render_config_lists.md @@ -0,0 +1 @@ +- [Bugfix] Render config settings that are inside lists. (by @regisb) diff --git a/tests/test_env.py b/tests/test_env.py index 9dd299c..a790609 100644 --- a/tests/test_env.py +++ b/tests/test_env.py @@ -64,6 +64,7 @@ class EnvTests(PluginsTestCase): } self.assertEqual("ab", env.render_unknown(config, "{{ var1 }}b")) self.assertEqual({"x": "ac"}, env.render_unknown(config, {"x": "{{ var1 }}c"})) + self.assertEqual(["x", "ac"], env.render_unknown(config, ["x", "{{ var1 }}c"])) def test_common_domain(self) -> None: self.assertEqual( diff --git a/tutor/env.py b/tutor/env.py index 980bb77..9ced7d5 100644 --- a/tutor/env.py +++ b/tutor/env.py @@ -376,6 +376,8 @@ def render_unknown(config: Config, value: t.Any) -> t.Any: return render_str(config, value) if isinstance(value, dict): return {k: render_unknown(config, v) for k, v in value.items()} + if isinstance(value, list): + return [render_unknown(config, v) for v in value] return value