From 2cdc613f3abf8fedbfc8fef2e85a6aa0d713fcd9 Mon Sep 17 00:00:00 2001 From: "Dustin C. Hatch" Date: Sun, 2 Jul 2017 11:35:11 -0500 Subject: [PATCH] gallery: Use new response.set_payload method The `set_payload` method of the `VariedResponse` class takes care of rendering the Jinja template or serializing the context object as JSON, so that no longer needs to be handled by controllers. --- src/dcow/gallery.py | 18 ++---------------- 1 file changed, 2 insertions(+), 16 deletions(-) diff --git a/src/dcow/gallery.py b/src/dcow/gallery.py index bdce3df..fb63648 100644 --- a/src/dcow/gallery.py +++ b/src/dcow/gallery.py @@ -1,4 +1,3 @@ -import jinja2 import milla.controllers import os @@ -13,19 +12,6 @@ DEFAULT_EXTENSIONS = [ '.tif', ] -TMPL_LOADER = jinja2.PackageLoader(__name__.rsplit('.', 1)[0]) - - -def render(request, template, context=None): - if context is None: - context = {} - env = jinja2.Environment(loader=TMPL_LOADER) - env.globals.update( - url=request.create_href, - static=request.static_resource, - ) - return env.get_template(template).render(**context) - def get_images(path, extensions=None): if extensions is None: @@ -44,7 +30,7 @@ class GalleryController(milla.controllers.HTTPVerbController): def GET(self, request): response = request.ResponseClass() images = get_images(request.config['gallery.screenshot_dir']) - response.text = render(request, 'gallery.html.j2', { - 'images': (i for m, i in sorted(images)), + response.set_payload('gallery.html.j2', { + 'images': [i for m, i in sorted(images)], }) return response