import os from flask import Flask from flask_sqlalchemy import SQLAlchemy from flask_bcrypt import Bcrypt from flask_migrate import Migrate from flask_wtf.csrf import CSRFProtect from flask_login import ( LoginManager, ) db = SQLAlchemy() migrate = Migrate() bcrypt = Bcrypt() login_manager = LoginManager() def create_app(): APP = Flask(__name__, static_folder="static") APP.secret_key = 'secret-key' APP.config['SQLALCHEMY_DATABASE_URI'] = "sqlite:///data/distribusiverse.db" APP.config['SQLALCHEMY_TRACK_MODIFICATIONS'] = True #APP.config['MAX_CONTENT_LENGTH'] = 150 * 1024 * 1024 login_manager.session_protection = "strong" login_manager.login_view = "index" login_manager.login_message_category = "info" csrf = CSRFProtect() APP.config['SECRET_KEY'] = os.urandom(24) APP.config['UPLOAD_FOLDER'] = 'tmpupload' csrf.init_app(APP) login_manager.init_app(APP) db.init_app(APP) migrate.init_app(APP, db) bcrypt.init_app(APP) return APP