author | Tero Marttila <terom@fixme.fi> |
Tue, 26 Jan 2010 01:26:05 +0200 | |
changeset 103 | 1a6a6957197d |
parent 93 | 581cdb831b32 |
permissions | -rw-r--r-- |
30 | 1 |
""" |
2 |
Our WSGI web interface, which can serve the JS UI and any .png tiles via HTTP. |
|
3 |
""" |
|
4 |
||
93
581cdb831b32
split off werkzeug code to separate handlers module..
Tero Marttila <terom@fixme.fi>
parents:
92
diff
changeset
|
5 |
from werkzeug import Request, responder |
30 | 6 |
from werkzeug import exceptions |
92
e50ec4217fe6
separate non-wsgi render layer to render.png
Tero Marttila <terom@fixme.fi>
parents:
90
diff
changeset
|
7 |
|
93
581cdb831b32
split off werkzeug code to separate handlers module..
Tero Marttila <terom@fixme.fi>
parents:
92
diff
changeset
|
8 |
from pngtile import handlers |
89 | 9 |
|
30 | 10 |
|
103
1a6a6957197d
basic caching behaviour, not use yet
Tero Marttila <terom@fixme.fi>
parents:
93
diff
changeset
|
11 |
class WSGIApplication (object) : |
89 | 12 |
""" |
103
1a6a6957197d
basic caching behaviour, not use yet
Tero Marttila <terom@fixme.fi>
parents:
93
diff
changeset
|
13 |
Simple WSGI application invoking the werkzeug handlers |
89 | 14 |
""" |
15 |
||
103
1a6a6957197d
basic caching behaviour, not use yet
Tero Marttila <terom@fixme.fi>
parents:
93
diff
changeset
|
16 |
def __init__ (self, cache=None) : |
1a6a6957197d
basic caching behaviour, not use yet
Tero Marttila <terom@fixme.fi>
parents:
93
diff
changeset
|
17 |
""" |
1a6a6957197d
basic caching behaviour, not use yet
Tero Marttila <terom@fixme.fi>
parents:
93
diff
changeset
|
18 |
Use given cache if any |
1a6a6957197d
basic caching behaviour, not use yet
Tero Marttila <terom@fixme.fi>
parents:
93
diff
changeset
|
19 |
""" |
30 | 20 |
|
103
1a6a6957197d
basic caching behaviour, not use yet
Tero Marttila <terom@fixme.fi>
parents:
93
diff
changeset
|
21 |
self.cache = cache |
30 | 22 |
|
103
1a6a6957197d
basic caching behaviour, not use yet
Tero Marttila <terom@fixme.fi>
parents:
93
diff
changeset
|
23 |
@responder |
1a6a6957197d
basic caching behaviour, not use yet
Tero Marttila <terom@fixme.fi>
parents:
93
diff
changeset
|
24 |
def __call__ (self, env, start_response) : |
1a6a6957197d
basic caching behaviour, not use yet
Tero Marttila <terom@fixme.fi>
parents:
93
diff
changeset
|
25 |
""" |
1a6a6957197d
basic caching behaviour, not use yet
Tero Marttila <terom@fixme.fi>
parents:
93
diff
changeset
|
26 |
Main WSGI entry point. |
1a6a6957197d
basic caching behaviour, not use yet
Tero Marttila <terom@fixme.fi>
parents:
93
diff
changeset
|
27 |
|
1a6a6957197d
basic caching behaviour, not use yet
Tero Marttila <terom@fixme.fi>
parents:
93
diff
changeset
|
28 |
This is wrapped with werkzeug, so we can return a Response object |
1a6a6957197d
basic caching behaviour, not use yet
Tero Marttila <terom@fixme.fi>
parents:
93
diff
changeset
|
29 |
""" |
1a6a6957197d
basic caching behaviour, not use yet
Tero Marttila <terom@fixme.fi>
parents:
93
diff
changeset
|
30 |
|
1a6a6957197d
basic caching behaviour, not use yet
Tero Marttila <terom@fixme.fi>
parents:
93
diff
changeset
|
31 |
req = Request(env, start_response) |
1a6a6957197d
basic caching behaviour, not use yet
Tero Marttila <terom@fixme.fi>
parents:
93
diff
changeset
|
32 |
|
1a6a6957197d
basic caching behaviour, not use yet
Tero Marttila <terom@fixme.fi>
parents:
93
diff
changeset
|
33 |
try : |
1a6a6957197d
basic caching behaviour, not use yet
Tero Marttila <terom@fixme.fi>
parents:
93
diff
changeset
|
34 |
return handlers.handle_req(req, self.cache) |
1a6a6957197d
basic caching behaviour, not use yet
Tero Marttila <terom@fixme.fi>
parents:
93
diff
changeset
|
35 |
|
1a6a6957197d
basic caching behaviour, not use yet
Tero Marttila <terom@fixme.fi>
parents:
93
diff
changeset
|
36 |
except exceptions.HTTPException, e : |
1a6a6957197d
basic caching behaviour, not use yet
Tero Marttila <terom@fixme.fi>
parents:
93
diff
changeset
|
37 |
return e |
1a6a6957197d
basic caching behaviour, not use yet
Tero Marttila <terom@fixme.fi>
parents:
93
diff
changeset
|
38 |