From 55fb42b13321359537316b02f015dc29aa142b71 Mon Sep 17 00:00:00 2001 From: Daniil Baturin Date: Mon, 6 May 2024 18:25:28 +0000 Subject: vyos.template: T3664: add a module-level variable for template directory to enable calling scripts outside of live VyOS systems --- python/vyos/template.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'python/vyos/template.py') diff --git a/python/vyos/template.py b/python/vyos/template.py index ffccae9a1..cdcbdc6c3 100644 --- a/python/vyos/template.py +++ b/python/vyos/template.py @@ -25,6 +25,14 @@ from vyos.utils.file import makedir from vyos.utils.permission import chmod from vyos.utils.permission import chown +# We use a mutable global variable for the default template directory +# to make it possible to call scripts from this repository +# outside of live VyOS systems. +# If something (like the image build scripts) +# want to call a script, they can modify the default location +# to the repository path. +DEFAULT_TEMPLATE_DIR = directories["templates"] + # Holds template filters registered via register_filter() _FILTERS = {} _TESTS = {} @@ -33,7 +41,7 @@ _TESTS = {} @functools.lru_cache(maxsize=2) def _get_environment(location=None): if location is None: - loc_loader=FileSystemLoader(directories["templates"]) + loc_loader=FileSystemLoader(DEFAULT_TEMPLATE_DIR) else: loc_loader=FileSystemLoader(location) env = Environment( -- cgit v1.2.3