Example #1
0
        raise e

    p = Storage()
    for (sym, default) in params_default.items():
        p[sym] = default
    for sym in ('routes_app', 'routes_in', 'routes_out'):
        if sym in symbols:
            for (k, v) in symbols[sym]:
                p[sym].append(compile_re(k, v))
    for sym in ('routes_onerror', 'routes_apps_raw', 'routes_logging',
                'error_handler','error_message', 'error_message_ticket',
                'default_application','default_controller', 'default_function'):
        if sym in symbols:
            p[sym] = symbols[sym]
    if p.routes_logging:
        p.loglevel = LEVELS.get(p.routes_logging.lower(), logging.INFO)

    if app is None:
        params_base = p
        params = params_base
        for app in os.listdir('applications'):
            if os.path.exists(os.path.join('applications', app, routes)):
                load(routes, app)
    else:
        params_apps[app] = p

def filter_uri(e, regexes, tag, default=None):
    "filter incoming URI against a list of regexes"
    query = e.get('QUERY_STRING', None)
    path = e['PATH_INFO']
    host = e.get('HTTP_HOST', 'localhost').lower()