Example #1
0
    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
Example #2
0
    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
Example #3
0
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)