summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIvan Remizov <iremizov@gmail.com>2019-03-12 17:08:22 +0100
committerIvan Remizov <iremizov@gmail.com>2019-03-12 17:14:25 +0100
commit87af31a313b679e47f115d7265254177a05b8b02 (patch)
treec4f0dade3801db1fd3b1b2033781feea040de783
parentb67c0bc754bfa2dd79921f4eb7a47ec1ded6690e (diff)
downloadpython-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.py5
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)