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 milla.controllers
|
||||||
import os
|
import os
|
||||||
|
|
||||||
|
@ -13,19 +12,6 @@ DEFAULT_EXTENSIONS = [
|
||||||
'.tif',
|
'.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):
|
def get_images(path, extensions=None):
|
||||||
if extensions is None:
|
if extensions is None:
|
||||||
|
@ -44,7 +30,7 @@ class GalleryController(milla.controllers.HTTPVerbController):
|
||||||
def GET(self, request):
|
def GET(self, request):
|
||||||
response = request.ResponseClass()
|
response = request.ResponseClass()
|
||||||
images = get_images(request.config['gallery.screenshot_dir'])
|
images = get_images(request.config['gallery.screenshot_dir'])
|
||||||
response.text = render(request, 'gallery.html.j2', {
|
response.set_payload('gallery.html.j2', {
|
||||||
'images': (i for m, i in sorted(images)),
|
'images': [i for m, i in sorted(images)],
|
||||||
})
|
})
|
||||||
return response
|
return response
|
||||||
|
|
Loading…
Reference in New Issue