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()