view decoupage/factory.py @ 113:cc54fa8065c5 default tip

py3
author Jeff Hammel <k0scist@gmail.com>
date Wed, 25 Nov 2020 10:52:36 -0800
parents 450aff4c97e3
children
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)