diff options
author | Scott Moser <smoser@ubuntu.com> | 2014-11-18 09:40:57 -0600 |
---|---|---|
committer | Scott Moser <smoser@ubuntu.com> | 2014-11-18 09:40:57 -0600 |
commit | 3efc7142a6ca72bfb40e63c49ed64e2e04837c51 (patch) | |
tree | e102e25b4ac7e8c3551b5113214b12c44cd9ded6 | |
parent | 9eed0fef5030e2e66f4bc1e549783638087786f4 (diff) | |
download | vyos-cloud-init-3efc7142a6ca72bfb40e63c49ed64e2e04837c51.tar.gz vyos-cloud-init-3efc7142a6ca72bfb40e63c49ed64e2e04837c51.zip |
retain trailing newline from template files when using jinja2
sources.list was where this showed itself, but all rendered files
would have their newline stripped.
LP: #1355343
-rw-r--r-- | ChangeLog | 2 | ||||
-rw-r--r-- | cloudinit/templater.py | 4 |
2 files changed, 5 insertions, 1 deletions
@@ -4,6 +4,8 @@ - expose uses_systemd as a distro function (fix rhel7) - fix broken 'output' config (LP: #1387340) - begin adding cloud config module docs to config modules (LP: #1383510) + - retain trailing eol from template files (sources.list) when + rendered with jinja (LP: #1355343) 0.7.6: - open 0.7.6 - Enable vendordata on CloudSigma datasource (LP: #1303986) diff --git a/cloudinit/templater.py b/cloudinit/templater.py index 02f6261d..4cd3f13d 100644 --- a/cloudinit/templater.py +++ b/cloudinit/templater.py @@ -89,9 +89,11 @@ def detect_template(text): return CTemplate(content, searchList=[params]).respond() def jinja_render(content, params): + # keep_trailing_newline is in jinja2 2.7+, not 2.6 + add = "\n" if content.endswith("\n") else "" return JTemplate(content, undefined=jinja2.StrictUndefined, - trim_blocks=True).render(**params) + trim_blocks=True).render(**params) + add if text.find("\n") != -1: ident, rest = text.split("\n", 1) |