author | Tero Marttila <terom@fixme.fi> |
Fri, 06 Feb 2009 23:55:23 +0200 | |
changeset 10 | d83b10c210e3 |
parent 9 | 2a47b00f60b0 |
child 30 | a86a25a9f75b |
permissions | -rw-r--r-- |
7 | 1 |
""" |
2 |
The actual application behaviour, i.e. generating a Response from a Request :) |
|
3 |
""" |
|
4 |
||
9 | 5 |
import http, page, menu, template |
7 | 6 |
|
7 |
def handle_request (request) : |
|
8 |
""" |
|
9 |
Take the Request, and return a Response |
|
10 |
""" |
|
11 |
||
8
0ce1f471e9d7
and it works, a lot better than before
Tero Marttila <terom@fixme.fi>
parents:
7
diff
changeset
|
12 |
# determine the page name |
0ce1f471e9d7
and it works, a lot better than before
Tero Marttila <terom@fixme.fi>
parents:
7
diff
changeset
|
13 |
page_name = request.get_page_name() |
7 | 14 |
|
8
0ce1f471e9d7
and it works, a lot better than before
Tero Marttila <terom@fixme.fi>
parents:
7
diff
changeset
|
15 |
# get the page handler |
0ce1f471e9d7
and it works, a lot better than before
Tero Marttila <terom@fixme.fi>
parents:
7
diff
changeset
|
16 |
p = page.lookup(page_name) |
0ce1f471e9d7
and it works, a lot better than before
Tero Marttila <terom@fixme.fi>
parents:
7
diff
changeset
|
17 |
|
10
d83b10c210e3
some vodoo for generating correct URLs
Tero Marttila <terom@fixme.fi>
parents:
9
diff
changeset
|
18 |
# bind to request |
d83b10c210e3
some vodoo for generating correct URLs
Tero Marttila <terom@fixme.fi>
parents:
9
diff
changeset
|
19 |
p.bind_request(request) |
d83b10c210e3
some vodoo for generating correct URLs
Tero Marttila <terom@fixme.fi>
parents:
9
diff
changeset
|
20 |
|
8
0ce1f471e9d7
and it works, a lot better than before
Tero Marttila <terom@fixme.fi>
parents:
7
diff
changeset
|
21 |
# render the template |
0ce1f471e9d7
and it works, a lot better than before
Tero Marttila <terom@fixme.fi>
parents:
7
diff
changeset
|
22 |
response_data = template.render("layout", |
0ce1f471e9d7
and it works, a lot better than before
Tero Marttila <terom@fixme.fi>
parents:
7
diff
changeset
|
23 |
site_root_url = request.get_script_dir(), |
10
d83b10c210e3
some vodoo for generating correct URLs
Tero Marttila <terom@fixme.fi>
parents:
9
diff
changeset
|
24 |
site_page_url = request.get_page_prefix(), |
9 | 25 |
page = p, |
26 |
menu = menu.Menu(p), |
|
8
0ce1f471e9d7
and it works, a lot better than before
Tero Marttila <terom@fixme.fi>
parents:
7
diff
changeset
|
27 |
) |
0ce1f471e9d7
and it works, a lot better than before
Tero Marttila <terom@fixme.fi>
parents:
7
diff
changeset
|
28 |
|
0ce1f471e9d7
and it works, a lot better than before
Tero Marttila <terom@fixme.fi>
parents:
7
diff
changeset
|
29 |
# return the response |
0ce1f471e9d7
and it works, a lot better than before
Tero Marttila <terom@fixme.fi>
parents:
7
diff
changeset
|
30 |
return http.Response(response_data) |
0ce1f471e9d7
and it works, a lot better than before
Tero Marttila <terom@fixme.fi>
parents:
7
diff
changeset
|
31 |