Commit dbf5a57a by Michael DeHaan

Merge pull request #1683 from bcoca/template_override

Template override
parents a74cae20 d7f38d07
......@@ -31,7 +31,7 @@ import pwd
# TODO: refactor this file
_LISTRE = re.compile(r"(\w+)\[(\d+)\]")
JINJA2_OVERRIDE='#jinja2:'
def _varFindLimitSpace(basedir, vars, space, part, depth):
''' limits the search space of space to part
......@@ -275,6 +275,16 @@ def template_from_file(basedir, path, vars):
raise errors.AnsibleError("unable to process as utf-8: %s" % realpath)
except:
raise errors.AnsibleError("unable to read %s" % realpath)
# Get jinja env overrides from template
if data.startswith(JINJA2_OVERRIDE):
eol = data.find('\n')
line = data[len(JINJA2_OVERRIDE):eol]
data = data[eol+1:]
for pair in line.split(','):
(key,val) = pair.split(':')
setattr(environment,key.strip(),val.strip())
t = environment.from_string(data)
vars = vars.copy()
try:
......
#jinja2: variable_end_string: @@, variable_start_string: @@
{% raw %}
if this succeeds you should see '{{ ansible_hostname }}' with the hostname on the line above
if this fails you should see '@@ ansible_hostname @@' with the hostname on the line beneath
{% endraw %}
@@ ansible_hostname @@
{{ ansible_hostname }}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment