def write_page(self, page, dest, menus): self.log.info("[PAGE] {}".format(page.url)) try: menu = menus[page.language] except KeyError: menus[page.language] = [m.serialize() for m in Menu.get(self.app.mdb, page.language)] menu = menus[page.language] page_d = page.serialize() page_d['widgets'] = page.run_widgets(self.app.request) with open(dest, "wb") as f: response = render_to_response(page.template, dict(page=page_d, menus=menu), request=self.app.request) f.write(response.body) return menus
def write_page(self, page, dest, menus): self.log.info("[PAGE] {}".format(page.url)) try: menu = menus[page.language] except KeyError: menus[page.language] = [ m.serialize() for m in Menu.get(self.app.mdb, page.language) ] menu = menus[page.language] page_d = page.serialize() page_d['widgets'] = page.run_widgets(self.app.request) with open(dest, "wb") as f: response = render_to_response(page.template, dict(page=page_d, menus=menu), request=self.app.request) f.write(response.body) return menus
def serve_page(request): path = "/" + "/".join(request.matchdict['path']) try: page = Page.get(request.mdb, path) except: return HTTPNotFound() log.debug("Found page: {}".format(page)) try: return HTTPRedirection(code=page.redirect['code'], location=page.redirect['url']) except AttributeError: menus = Menu.get(request.mdb, page.language) page_d = page.asdict() page_d['widgets'] = page.run_widgets(request) log.debug("Rendering template %s", page.template) return render_to_response(page.template, {'page': page_d, 'menus': [menu.asdict() for menu in menus]}, request=request)