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.master
parent
860c36b0f2
commit
2cdc613f3a
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue