view decoupage/factory.py @ 63:9c570aed2246

move app_conf parsing logic to factory.py
author Jeff Hammel <jhammel@mozilla.com>
date Tue, 14 Dec 2010 22:03:50 -0800
parents 6a802c87f070
children 450aff4c97e3
line wrap: on
line source

from web import Decoupage
from paste.httpexceptions import HTTPExceptionHandler

def namespace_conf(keystr, app_conf):
    keystr += '.'
    return dict([(key.split(keystr, 1)[-1], value)
                 for key, value in app_conf.items()
                 if key.startswith(keystr) ])        


def factory(global_conf, **app_conf):
    """create a webob view and wrap it in middleware"""
    app_conf = namespace_conf('decoupage', app_conf)
    app = Decoupage(**app_conf)
    return HTTPExceptionHandler(app)