bin/dev-server
author Tero Marttila <terom@fixme.fi>
Tue, 26 Jan 2010 01:26:05 +0200
changeset 103 1a6a6957197d
parent 50 ba9d03e46925
child 106 26f10ed59c8e
permissions -rwxr-xr-x
basic caching behaviour, not use yet
36
caabf287c75e add missing dev-server script
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     1
#!/usr/bin/python
caabf287c75e add missing dev-server script
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     2
caabf287c75e add missing dev-server script
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     3
import wsgiref.simple_server
caabf287c75e add missing dev-server script
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     4
import werkzeug
caabf287c75e add missing dev-server script
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     5
from werkzeug.exceptions import NotFound
caabf287c75e add missing dev-server script
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     6
caabf287c75e add missing dev-server script
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     7
import pngtile.wsgi
caabf287c75e add missing dev-server script
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     8
103
1a6a6957197d basic caching behaviour, not use yet
Tero Marttila <terom@fixme.fi>
parents: 50
diff changeset
     9
def main (host='0.0.0.0', port=8000) :
1a6a6957197d basic caching behaviour, not use yet
Tero Marttila <terom@fixme.fi>
parents: 50
diff changeset
    10
    # original app
1a6a6957197d basic caching behaviour, not use yet
Tero Marttila <terom@fixme.fi>
parents: 50
diff changeset
    11
    app = pngtile.wsgi.WSGIApplication()
36
caabf287c75e add missing dev-server script
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    12
103
1a6a6957197d basic caching behaviour, not use yet
Tero Marttila <terom@fixme.fi>
parents: 50
diff changeset
    13
    # dispatch on URL
1a6a6957197d basic caching behaviour, not use yet
Tero Marttila <terom@fixme.fi>
parents: 50
diff changeset
    14
    # XXX: just replace with SharedDataMiddleware..
1a6a6957197d basic caching behaviour, not use yet
Tero Marttila <terom@fixme.fi>
parents: 50
diff changeset
    15
    app = werkzeug.DispatcherMiddleware(app, {
1a6a6957197d basic caching behaviour, not use yet
Tero Marttila <terom@fixme.fi>
parents: 50
diff changeset
    16
        '/static':      werkzeug.SharedDataMiddleware(NotFound(), {
1a6a6957197d basic caching behaviour, not use yet
Tero Marttila <terom@fixme.fi>
parents: 50
diff changeset
    17
            '/':            'static',
1a6a6957197d basic caching behaviour, not use yet
Tero Marttila <terom@fixme.fi>
parents: 50
diff changeset
    18
        }),
1a6a6957197d basic caching behaviour, not use yet
Tero Marttila <terom@fixme.fi>
parents: 50
diff changeset
    19
    })
1a6a6957197d basic caching behaviour, not use yet
Tero Marttila <terom@fixme.fi>
parents: 50
diff changeset
    20
    
1a6a6957197d basic caching behaviour, not use yet
Tero Marttila <terom@fixme.fi>
parents: 50
diff changeset
    21
    # http server
36
caabf287c75e add missing dev-server script
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    22
    httpd = wsgiref.simple_server.make_server(host, port, app)
caabf287c75e add missing dev-server script
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    23
caabf287c75e add missing dev-server script
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    24
    print "Listening on %s:%d" % (host, port)
103
1a6a6957197d basic caching behaviour, not use yet
Tero Marttila <terom@fixme.fi>
parents: 50
diff changeset
    25
    
1a6a6957197d basic caching behaviour, not use yet
Tero Marttila <terom@fixme.fi>
parents: 50
diff changeset
    26
    # go
36
caabf287c75e add missing dev-server script
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    27
    httpd.serve_forever()
caabf287c75e add missing dev-server script
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    28
caabf287c75e add missing dev-server script
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    29
if __name__ == '__main__' :
caabf287c75e add missing dev-server script
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    30
    main()
caabf287c75e add missing dev-server script
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    31