import os from flask import Flask, send_from_directory from . import prefix def create_app(test_config=None): # Create and configure the Flask App app = Flask(__name__, instance_relative_config=True) app.config.from_mapping( SECRET_KEY="dev", ) if test_config is None: # load the instance config, if it exists, when not testing app.config.from_pyfile("config.py", silent=True) else: # load the test config if passed in app.config.from_mapping(test_config) # ensure the instance folder exists try: os.makedirs(os.environ.get('MODULES', 'modules')) except OSError: pass @app.route("/favicon.ico") def favicon(): return send_from_directory( os.path.join(app.root_path, "static"), "favicon.ico", mimetype="image/vnd.microsoft.icon", ) from . import module app.register_blueprint(module.bp) app.wsgi_app = prefix.PrefixMiddleware( app.wsgi_app, prefix=os.environ.get("URL_PREFIX", "") ) return app