Skip to content

Commit

Permalink
allow overriding jinja environment (#528)
Browse files Browse the repository at this point in the history
  • Loading branch information
indy-independence committed May 3, 2020
1 parent cbbcf83 commit 62fdd37
Showing 1 changed file with 16 additions and 5 deletions.
21 changes: 16 additions & 5 deletions nornir/core/helpers/jinja_helper.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,22 +7,33 @@ def render_from_file(
path: str,
template: str,
jinja_filters: Optional[Dict[str, Any]] = None,
jinja_env: Optional[Environment] = None,
**kwargs: Any
) -> str:
jinja_filters = jinja_filters or {}
env = Environment(
loader=FileSystemLoader(path), undefined=StrictUndefined, trim_blocks=True
)
if jinja_env:
env = jinja_env
env.loader = FileSystemLoader(path)
else:
env = Environment(
loader=FileSystemLoader(path), undefined=StrictUndefined, trim_blocks=True,
)
env.filters.update(jinja_filters)
t = env.get_template(template)
return t.render(**kwargs)


def render_from_string(
template: str, jinja_filters: Optional[Dict[str, Any]] = None, **kwargs: Any
template: str,
jinja_filters: Optional[Dict[str, Any]] = None,
jinja_env: Optional[Environment] = None,
**kwargs: Any
) -> str:
jinja_filters = jinja_filters or {}
env = Environment(undefined=StrictUndefined, trim_blocks=True)
if jinja_env:
env = jinja_env
else:
env = Environment(undefined=StrictUndefined, trim_blocks=True,)
env.filters.update(jinja_filters)
t = env.from_string(template)
return t.render(**kwargs)

0 comments on commit 62fdd37

Please sign in to comment.