From 8eccaa61e9a72215e4a92681e67bb346f569e0cb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9gis=20Behmo?= Date: Tue, 5 Sep 2023 16:00:01 +0200 Subject: [PATCH] fix: render list config items Close #867. --- changelog.d/20230905_155859_regis_fix_render_config_lists.md | 1 + tests/test_env.py | 1 + tutor/env.py | 2 ++ 3 files changed, 4 insertions(+) create mode 100644 changelog.d/20230905_155859_regis_fix_render_config_lists.md 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