#! /usr/bin/env python3 # -*- coding: utf-8 -*- from pathlib import Path from flask import Flask, g from flask_mako import MakoTemplates, render_template from werkzeug.local import LocalProxy import calefaction from calefaction.auth import AuthManager from calefaction.config import Config from calefaction.database import Database from calefaction.eve import EVE from calefaction.util import catch_errors, set_up_hash_versioning app = Flask(__name__) basepath = Path(__file__).resolve().parent config = Config(basepath / "config") Database.path = str(basepath / "data" / "db.sqlite3") eve = EVE() auth = AuthManager(config, eve) MakoTemplates(app) set_up_hash_versioning(app) config.install(app) @app.before_request def prepare_request(): g.auth = auth g.config = config g.eve = eve g.version = calefaction.__version__ app.before_request(Database.pre_hook) app.teardown_appcontext(Database.post_hook) @app.route("/") @catch_errors(app) def index(): return render_template("landing.mako") @app.route("/login") @catch_errors(app) def login(): return "login" # ... if __name__ == "__main__": app.run(debug=True, port=8080)