import os

from flask import Flask

from . import db as db_module


def create_app():
    app = Flask(__name__)
    app.config.from_pyfile(os.path.join(app.root_path, "..", "config.py"))

    if not os.path.exists(app.config["DATABASE_PATH"]):
        db_module.init_db(app)

    app.teardown_appcontext(db_module.close_db)

    from . import auth, routes

    app.register_blueprint(auth.bp)
    app.register_blueprint(routes.bp)

    return app
