lib/handler.py
author Tero Marttila <terom@fixme.fi>
Sat, 07 Feb 2009 05:12:57 +0200
changeset 28 b68145b5ce24
parent 10 d83b10c210e3
child 30 a86a25a9f75b
permissions -rw-r--r--
breadcrumb, but it's hidden
"""
    The actual application behaviour, i.e. generating a Response from a Request :)
"""

import http, page, menu, template

def handle_request (request) :
    """
        Take the Request, and return a Response
    """

    # determine the page name
    page_name = request.get_page_name()

    # get the page handler
    p = page.lookup(page_name)

    # bind to request
    p.bind_request(request)

    # render the template
    response_data = template.render("layout",
        site_root_url   = request.get_script_dir(),
        site_page_url   = request.get_page_prefix(),
        page            = p,
        menu            = menu.Menu(p),
    )
    
    # return the response
    return http.Response(response_data)