Source code for zemfrog.loaders.jinja_filter
from flask import Flask
from ..helper import get_import_name, import_attr
[docs]def loader(app: Flask):
"""
A function to load all jinja filters into a flask.
"""
filters = app.config.get("JINJA_FILTERS", [])
import_name = get_import_name(app)
prefix = "filters."
for name in filters:
if not name.startswith(prefix):
name = prefix + name
name += ".init_filter"
try:
func = import_attr(import_name + name)
except (ImportError, AttributeError):
func = import_attr(name.lstrip(prefix))
jinja_filters = func().items()
for key, func in jinja_filters:
app.jinja_env.filters[key] = func