39 lines
1,000 B
Python
39 lines
1,000 B
Python
|
|
||
|
from spaceapi_server.template import env_init
|
||
|
|
||
|
|
||
|
def template_function(fn):
|
||
|
'''
|
||
|
Register the decorated function as a callable template function.
|
||
|
@param fn The function to register.
|
||
|
'''
|
||
|
# Make sure the Jinja2 environment is initialized
|
||
|
env = env_init()
|
||
|
# Add the function to the environment's globals
|
||
|
env.globals[fn.__name__] = fn
|
||
|
return fn
|
||
|
|
||
|
|
||
|
def template_filter(fn):
|
||
|
'''
|
||
|
Register the decorated function as a template filter.
|
||
|
@param fn The function to register.
|
||
|
'''
|
||
|
# Make sure the Jinja2 environment is initialized
|
||
|
env = env_init()
|
||
|
# Add the function to the environment's filters
|
||
|
env.filters[fn.__name__] = fn
|
||
|
return fn
|
||
|
|
||
|
|
||
|
def template_test(fn):
|
||
|
'''
|
||
|
Register the decorated function as a template test.
|
||
|
@param fn The function to register.
|
||
|
'''
|
||
|
# Make sure the Jinja2 environment is initialized
|
||
|
env = env_init()
|
||
|
# Add the function to the environment's tests
|
||
|
env.tests[fn.__name__] = fn
|
||
|
return fn
|