diff options
author | Ivan Remizov <iremizov@gmail.com> | 2019-03-12 17:08:22 +0100 |
---|---|---|
committer | Ivan Remizov <iremizov@gmail.com> | 2019-03-12 17:14:25 +0100 |
commit | 87af31a313b679e47f115d7265254177a05b8b02 (patch) | |
tree | c4f0dade3801db1fd3b1b2033781feea040de783 | |
parent | b67c0bc754bfa2dd79921f4eb7a47ec1ded6690e (diff) | |
download | python-jenkins-job-builder-87af31a313b679e47f115d7265254177a05b8b02.tar.gz python-jenkins-job-builder-87af31a313b679e47f115d7265254177a05b8b02.tar.xz python-jenkins-job-builder-87af31a313b679e47f115d7265254177a05b8b02.zip |
Fix loader overwriting
In cases when there are many j2 templates and some of them use
include tags, correct jinja loader is overriden with one of loaders
related to other templates.
This patch fixes it with workaround. Which is overwrite incorrect
loader with initial.
Change-Id: Iec21c24fe6e4bfedf281d7215e520298381f07a7
-rw-r--r-- | jenkins_jobs/local_yaml.py | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/jenkins_jobs/local_yaml.py b/jenkins_jobs/local_yaml.py index 3af772f2..213d8a7a 100644 --- a/jenkins_jobs/local_yaml.py +++ b/jenkins_jobs/local_yaml.py @@ -527,8 +527,13 @@ class Jinja2Loader(CustomLoader): self._template.environment.undefined = jinja2.StrictUndefined self._template.environment.loader = jinja2.FileSystemLoader( search_path) + self._loader = self._template.environment.loader def format(self, **kwargs): + # For some reasons loader is overwritten with incorrect one during + # instance lifecycle. It's not very clear how to fix this properly, + # so we just overwrite with correct one + self._template.environment.loader = self._loader return self._template.render(kwargs) |