import os from flask import Flask from flask_mail import Mail from flask import render_template from capsulflask import virt_model def create_app(): app = Flask(__name__) app.config.from_mapping( BASE_URL=os.environ.get("BASE_URL", default="http://localhost:5000"), SECRET_KEY=os.environ.get("SECRET_KEY", default="dev"), DATABASE_URL=os.environ.get("DATABASE_URL", default="sql://postgres:dev@localhost:5432/postgres"), DATABASE_SCHEMA=os.environ.get("DATABASE_SCHEMA", default="public"), MAIL_SERVER=os.environ.get("MAIL_SERVER", default="m1.nullhex.com"), MAIL_PORT=os.environ.get("MAIL_PORT", default="587"), MAIL_USE_TLS=os.environ.get("MAIL_USE_TLS", default="True").lower() in ['true', '1', 't', 'y', 'yes'], MAIL_USERNAME=os.environ.get("MAIL_USERNAME", default="forest@nullhex.com"), MAIL_PASSWORD=os.environ.get("MAIL_PASSWORD", default=""), MAIL_DEFAULT_SENDER=os.environ.get("MAIL_DEFAULT_SENDER", default="forest@nullhex.com"), ) app.config['FLASK_MAIL_INSTANCE'] = Mail(app) app.config['VIRTUALIZATION_MODEL'] = virt_model.MockVirtualization() from capsulflask import db db.init_app(app) from capsulflask import auth, landing, console app.register_blueprint(landing.bp) app.register_blueprint(auth.bp) app.register_blueprint(console.bp) app.add_url_rule("/", endpoint="index") return app