# snag # Matt Kohls # (c) 2023 import os from flask import Flask def create_app(test_config=None): # create and configure the app app = Flask(__name__, instance_relative_config=True) app.config.from_mapping( SECRET_KEY='development_key', DATABASE=os.path.join(app.instance_path, 'snag.sqlite'), ) # probably not going to mess with test stuff but just in case 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(app.instance_path) except OSError: pass from . import db db.init_app(app) from . import graphs, data, dashboard app.register_blueprint(graphs.bp) app.register_blueprint(data.bp) app.register_blueprint(dashboard.bp) app.add_url_rule('/', endpoint='dashboard') return app