Mini Shell
"""
Mako Renderer for Salt
This renderer requires the Mako library.
To install Mako, do the following:
.. code-block: bash
salt-pip install mako
"""
import io
import salt.utils.templates
from salt.exceptions import SaltRenderError
def render(template_file, saltenv="base", sls="", context=None, tmplpath=None, **kws):
"""
Render the template_file, passing the functions and grains into the
Mako rendering system.
:rtype: string
"""
tmp_data = salt.utils.templates.MAKO(
template_file,
to_str=True,
salt=__salt__,
grains=__grains__,
opts=__opts__,
pillar=__pillar__,
saltenv=saltenv,
sls=sls,
context=context,
tmplpath=tmplpath,
**kws
)
if not tmp_data.get("result", False):
raise SaltRenderError(
tmp_data.get("data", "Unknown render error in mako renderer")
)
return io.StringIO(tmp_data["data"])
Zerion Mini Shell 1.0