import os from flask import Flask, render_template from pathlib import Path from .auth import login_required DATABASE_NAME = "kanken_online.sqlite" def create_app(test_config=None): app = Flask(__name__, instance_relative_config=True) app.config.from_mapping( SECRET_KEY="dev", DATABASE=str(Path(app.instance_path) / DATABASE_NAME) ) if test_config is None: app.config.from_pyfile("config.py", silent=True) else: app.config.from_mapping(test_config) # Ensure instance path exists os.makedirs(app.instance_path, exist_ok=True) @app.route("/hello") def hello(): return "Hello, World!" @app.route("/") def index(): return render_template("index.html") @app.route("/options") @login_required def options(): return "options" from . import database database.initialize_app(app) from . import auth, api app.register_blueprint(auth.blueprint) app.register_blueprint(api.blueprint) return app