WSGI Is Teh Awesome
@ 2008-10-05 18:52:18
Filed under: Python Tech
Check out how easy it is to make a basic self contained framework that does object publishing based on class name ....
And the views ...
digg it
seed it
del.icio.us
ma.gnolia
Filed under: Python Tech
Check out how easy it is to make a basic self contained framework that does object publishing based on class name ....
# Filename: server.py
import views
def dispatcher(environ, start_response):
obj_name = environ['PATH_INFO'][1:].replace('/', '_')
if obj_name == '' or obj_name == '_':
obj_name = "root"
elif obj_name[-1] == '_':
obj_name = obj_name[:-1]
try:
obj = getattr(views, obj_name)
return obj(environ, start_response)
except AttributeError, ae:
start_response('404 Not Found', [('Content-type', 'text/html')])
return ['404']
if __name__ == '__main__':
from wsgiref import simple_server
httpd = simple_server.WSGIServer(('',8000),
simple_server.WSGIRequestHandler)
httpd.set_app(dispatcher)
try:
httpd.serve_forever()
except KeyboardInterrupt:
pass
And the views ...
# Filename: views.py
def root(environ, start_response):
start_response('200 OK', [('Content-type', 'text/html')])
return ['Welcome']
def show_environ(environ, start_response):
start_response('200 OK', [('Content-type', 'text/html')])
sorted_keys = environ.keys()
sorted_keys.sort()
return [str(environ)]
def some_longer_url(environ, start_response):
start_response('200 OK', [('Content-type', 'text/html')])
return ['hey hey']
digg it
seed it
del.icio.us
ma.gnolia

