def make_app(global_conf, full_stack=True, static_files=True, **app_conf): """Create a Pylons WSGI application and return it""" # Configure the Pylons environment config = load_environment(global_conf, app_conf) # The Pylons WSGI app app = PylonsApp(config=config) # Routing/Session Middleware app = RoutesMiddleware(app, config["routes.map"]) app = SessionMiddleware(app, config) # CUSTOM MIDDLEWARE HERE (filtered by error handling middlewares) if asbool(full_stack): # Handle Python exceptions app = ErrorHandler(app, global_conf, **config["pylons.errorware"]) # Display error documents for 400, 403, 404, 405 status codes (and # 500, 503 when debug is disabled) if asbool(config["debug"]): app = StatusCodeRedirect(app) else: app = StatusCodeRedirect(app, [400, 403, 404, 405, 500, 503]) # Establish the Registry for this application app = RegistryManager(app) if asbool(static_files): # Serve static files static_app = StaticURLParser(config["pylons.paths"]["static_files"]) app = Cascade([static_app, app]) app.config = config return app
def setup_app(command, conf, vars): """harstorage setup""" # Don't reload the app if it was loaded under the testing environment if not pylons.test.pylonsapp: load_environment(conf.global_conf, conf.local_conf)