Source code for avalanche.renderer
import json
[docs]class JinjaRenderer:
"""render jinja2 templates"""
[docs] def __init__(self, jinja_env):
"""
:param jinja_env:
instance of jinja2.Environment
"""
self.jinja_env = jinja_env
[docs] def render(self, handler, **context):
"""Renders handler.template and writes the result to its response"""
if handler.template:
self.jinja_env.globals['uri_for'] = handler.uri_for
template = self.jinja_env.get_template(handler.template)
handler.response.write(template.render(
handler=handler,
**context))
[docs]class JsonRenderer:
"""render json data"""
@staticmethod
[docs] def render(handler, **context):
"""write response to handler's reponse """
handler.response.write(json.dumps(context).replace("</", "<\\/"))
[docs]class NoOpRenderer:
"""No operation renderer, to be used when handler writes no response"""
@staticmethod
def render(handler, **context):
pass