https://dev.kronoz.win/r/marzneshin.git
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 {})