blob: db0bd7818f9847b263248c4fad1cc27a5c25359a [file] [log] [blame]
"""
Module for defining additional Jinja global functions.
"""
import flask
import lnt.server.ui.util
def db_url_for(*args, **kwargs):
"""
Like url_for, but handles automatically providing the db_name argument.
"""
return flask.url_for(*args, db_name=flask.g.db_name, **kwargs)
def v4_url_for(*args, **kwargs):
"""
Like url_for, but handles automatically providing the db_name and
testsuite_name arguments.
"""
return flask.url_for(*args, db_name=flask.g.db_name,
testsuite_name=flask.g.testsuite_name, **kwargs)
def v4_url_available(*args, **kwargs):
"""
Return True if v4_url_for can be used; if there is a testsuite_name
in the global context.
"""
try:
flask.g.testsuite_name
return True
except Exception:
return False
def register(env):
# Add some normal Python builtins which can be useful in templates.
env.globals.update(zip=zip)
# Add our custom global functions.
env.globals.update(
db_url_for=db_url_for,
v4_url_for=v4_url_for,
v4_url_available=v4_url_available)