WSGI-compliant HTTP publisher.
Project description
Overview
Otto is an HTTP publisher which uses a routes-like syntax to map URLs to code. It supports object traversal.
You can use the publisher to write web applications. It was designed with both small and large applications in mind. We have tried to incorporate elements of existing publishers to allow diverse and flexible application patterns while still being in concordance with the Zen Of Python.
Here’s a variation of a familiar theme:
import otto import webob import wsgiref.simple_server app = otto.Application() @app.connect("/*path/:name") def hello_world(request, path=None, name=u'world'): return webob.Response(u"An %d-deep hello %s!" % (len(path), name)) wsgiref.simple_server.make_server('', 8080, app).serve_forever()
This release is compatible with Python 2.4+.
See the documentation for this release.
Changes
1.2 (2009-11-16)
Features
Route matches that come before object mapping are passed on to the mapper on instantiation; these matches are then not passed to the controller.
Backwards incompatibilities
The object mapper takes the place of the traverser; on instantiation it gets the part of the match dictionary that comes before the asterisk.
The empty asterisk is now mapped to the empty string. This does not change the high-level interface.
1.1 (2009-11-12)
Features
The leading slash is now optional in a route path definition.
The Route class now provides the match method.
Backwards incompatibilities
The Publisher.route method was renamed to connect. This method now takes a route object. This change was also applied for the Router class.
1.0 (2009-11-12)
Initial public release.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.