Publisher

flup.publisher
flup.resolver.module
flup.resolver.importingmodule
flup.resolver.objectpath

A lightweight web framework originally inspired by mod_python's publisher module.

(Removed in 1.0)

Example usage

hello.py:

from flup.publisher import Redirect

def index(trans):
    name = trans.session.get('name')
    if name is None:
        return 'Hello, anonymous!\n'
    else:
        return 'Hello, %s!\n' % name

def login(trans, name=None):
    if name is not None:
        trans.session['name'] = name
    raise Redirect('./')

def logout(trans):
    trans.session.invalidate()
    return 'Goodbye!\n'

And then:

from flup.resolver.module import ModuleResolver
from flup.publisher import Publisher
from flup.middleware.session import ShelveSessionStore, SessionMiddleware

import hello
app = Publisher(ModuleResolver(hello))

app = SessionMiddleware(ShelveSessionStore(), app)

if __name__ == '__main__':
    from flup.server.scgi import WSGIServer
    WSGIServer(app).run()