Coverage for /Users/davegaeddert/Development/dropseed/plain/plain/plain/templates/core.py: 44%
16 statements
« prev ^ index » next coverage.py v7.6.1, created at 2024-10-16 22:03 -0500
« prev ^ index » next coverage.py v7.6.1, created at 2024-10-16 22:03 -0500
1import jinja2
3from .jinja import environment
6class TemplateFileMissing(Exception):
7 def __str__(self) -> str:
8 if self.args:
9 return f"Template file {self.args[0]} not found"
10 else:
11 return "Template file not found"
14class Template:
15 def __init__(self, filename: str) -> None:
16 self.filename = filename
18 try:
19 self._jinja_template = environment.get_template(filename)
20 except jinja2.TemplateNotFound:
21 raise TemplateFileMissing(filename)
23 def render(self, context: dict) -> str:
24 return self._jinja_template.render(context)