Skip to content

reports

Utility class for generating a config file from a jinja template.

https://github.com/oesteban/endofday/blob/f2e79c625d648ef45b08cc1f11fd0bd84342d604/endofday/core/template.py.

Along with other report-related functions.

Classes:

  • Template

    Simplified jinja2 template class from oesteban.

Template

Template(template_str: str)

Simplified jinja2 template class from oesteban.

Methods:

  • compile

    Generate a string with the replacements.

  • generate_conf

    Save the outcome after replacement on the template to file.

Source code in src/pyfsviz/reports.py
30
31
32
33
34
35
36
37
def __init__(self, template_str: str) -> None:
    self._template_str = template_str
    self._env = jinja2.Environment(
        loader=jinja2.FileSystemLoader(searchpath="/"),
        trim_blocks=True,
        lstrip_blocks=True,
        autoescape=True,
    )

compile

compile(configs: dict) -> str

Generate a string with the replacements.

Source code in src/pyfsviz/reports.py
39
40
41
42
def compile(self, configs: dict) -> str:
    """Generate a string with the replacements."""
    template = self._env.get_template(self._template_str)
    return template.render(configs)

generate_conf

generate_conf(configs: dict, path: str) -> None

Save the outcome after replacement on the template to file.

Source code in src/pyfsviz/reports.py
44
45
46
47
48
def generate_conf(self, configs: dict, path: str) -> None:
    """Save the outcome after replacement on the template to file."""
    output = self.compile(configs)
    with open(path, "w+", encoding="utf-8") as output_file:
        output_file.write(output)