gitscope
← marzneshin / v0.1.4 / app/templates/__init__.py
https://dev.kronoz.win/r/marzneshin.git
app/templates/__init__.py · Python
Blame Raw
 1from datetime import datetime
 2from typing import Union
 3
 4import jinja2
 5
 6from config import CUSTOM_TEMPLATES_DIRECTORY
 7from .filters import CUSTOM_FILTERS
 8
 9template_directories = ["app/templates"]
10if CUSTOM_TEMPLATES_DIRECTORY:
11    # User's templates have priority over default templates
12    template_directories.insert(0, CUSTOM_TEMPLATES_DIRECTORY)
13
14env = jinja2.Environment(loader=jinja2.FileSystemLoader(template_directories))
15env.filters.update(CUSTOM_FILTERS)
16env.globals['now'] = datetime.utcnow
17
18
19def render_template(template: str, context: Union[dict, None] = None) -> str:
20    return env.get_template(template).render(context or {})