Source code for ewoksmx.template

import sys

if sys.version_info < (3, 9):
    import importlib_resources
else:
    import importlib.resources as importlib_resources

import jinja2


[docs] def get_rendered_template(template_name: str, variables: dict) -> str: """The resource is specified relative to `blissoda.resources`. .. code-block:: python file_content = get_rendered_template("edna_script.py", {...}) """ source = importlib_resources.files(__name__) / f"{template_name}.j2" with importlib_resources.as_file(source) as path: if not path.is_file(): raise FileNotFoundError(f"No template with the name '{template_name}'") env = jinja2.Environment(autoescape=False, undefined=jinja2.StrictUndefined) with open(path) as f: template = env.from_string(f.read()) return template.render(**variables)