Commit a02555ad by Brian Coca

Merge pull request #11483 from pilou-/jinja2_header_overrides

implement jinja2 header overrides
parents 2962047b 720e184f
...@@ -19,6 +19,7 @@ ...@@ -19,6 +19,7 @@
from __future__ import (absolute_import, division, print_function) from __future__ import (absolute_import, division, print_function)
__metaclass__ = type __metaclass__ = type
import ast
import re import re
from jinja2 import Environment from jinja2 import Environment
...@@ -256,6 +257,17 @@ class Templar: ...@@ -256,6 +257,17 @@ class Templar:
overrides = JINJA2_ALLOWED_OVERRIDES.intersection(set(overrides)) overrides = JINJA2_ALLOWED_OVERRIDES.intersection(set(overrides))
myenv = self.environment.overlay(overrides) myenv = self.environment.overlay(overrides)
# 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(':')
key = key.strip()
if key in JINJA2_ALLOWED_OVERRIDES:
setattr(myenv, key, ast.literal_eval(val.strip()))
#FIXME: add tests #FIXME: add tests
myenv.filters.update(self._get_filters()) myenv.filters.update(self._get_filters())
......
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