| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 | 
"""Initialize the modules needed for the website"""import osfrom flask import Flaskfrom flask_sqlalchemy import SQLAlchemyfrom flask_migrate import Migratefrom flask_login import LoginManagerfrom flask_compress import Compressfrom flask_argon2 import Argon2from flask_menu import Menufrom sqlalchemy import MetaDatafrom dotenv import load_dotenvload_dotenv()class Config(object):    """Flask configuration"""    UPLOAD_FOLDER = 'app/static/uploads'    SCHEDULER_API_ENABLED = True    SQLALCHEMY_DATABASE_URI = os.environ["DATABASE_URI"]    SECRET_KEY = os.environ["SECRET_KEY"]    SQLALCHEMY_TRACK_MODIFICATIONS = False    SEND_FILE_MAX_AGE_DEFAULT = 1296000app = Flask(__name__)app.config.from_object(Config())app.jinja_env.lstrip_blocks = Trueapp.jinja_env.trim_blocks = Trueapp.config['TESTING'] = False# Compress settingsCOMPRESS_MIMETYPES = [    'text/html',    'text/css',    'text/xml',    'application/json',    'application/javascript']COMPRESS_LEVEL = 6COMPRESS_MIN_SIZE = 500Compress(app)Menu(app=app)convention = {    "ix": 'ix_%(column_0_label)s',    "uq": "uq_%(table_name)s_%(column_0_name)s",    "ck": "ck_%(table_name)s_%(constraint_name)s",    "fk": "fk_%(table_name)s_%(column_0_name)s_%(referred_table_name)s",    "pk": "pk_%(table_name)s"}metadata = MetaData(naming_convention=convention)db = SQLAlchemy(app, metadata=metadata)migrate = Migrate(app, db)argon2 = Argon2(app)# Loginlogin_manager = LoginManager()login_manager.init_app(app)login_manager.login_view = "auth.login"login_manager.login_message_category = "warning"
 |