def run_dev_server( debug, host, port, version_path, secret_key, session_cookie_name, session_cookie_domain, session_cookie_secure, use_https, enable_asset_pipeline, lando_api_url, ): """ Run the development server which auto reloads when things change. """ app = create_app( version_path, secret_key, session_cookie_name, session_cookie_domain, str2bool(session_cookie_secure), str2bool(use_https), enable_asset_pipeline, lando_api_url, str2bool(debug), ) app.jinja_env.auto_reload = True app.config["TEMPLATES_AUTO_RELOAD"] = True app.run(debug=debug, port=port, host=host)
def create_dev_app(**kwargs): """Create the development server for Flask.""" params = { "debug": False, "version_path": "/app/version.json", "secret_key": None, "session_cookie_name": None, "session_cookie_domain": None, "session_cookie_secure": True, "use_https": True, "enable_asset_pipeline": True, "lando_api_url": None, } # These are parameters that should be converted to a boolean value. bool_param_keys = ( "debug", "session_cookie_secure", "use_https", "enable_asset_pipeline", ) for key in params: # Replace configuration defaults with environment variables. if key.upper() in os.environ: params[key] = os.environ[key.upper()] # Replace configuration parameters with keyword arguments. params.update(kwargs) # Guess boolean value based on string input. for bool_param in bool_param_keys: if bool_param in params and not isinstance(params[bool_param], bool): params[bool_param] = str2bool(params[bool_param]) app = create_app(**params) app.jinja_env.auto_reload = True app.config["TEMPLATES_AUTO_RELOAD"] = True return app