import os from dotenv import load_dotenv load_dotenv() from pathlib import Path class Config(object): APP_HOST = '0.0.0.0' DATA_FILE_DIRECTORY = os.getenv('DATA_FILE_DIRECTORY') DEBUG = False TESTING = False SECRET_KEY = os.getenv('SECRET_KEY') SESSION_COOKIE_SECURE = True SQLALCHEMY_DATABASE_URI = f'sqlite:///{Path(DATA_FILE_DIRECTORY)}/database.db' SQLALCHEMY_TRACK_MODIFICATIONS = False MAIL_SERVER = os.getenv('MAIL_SERVER') MAIL_PORT = int(os.getenv('MAIL_PORT')) MAIL_USE_TLS = False MAIL_USE_SSL = False MAIL_DEBUG = False MAIL_USERNAME = os.getenv('MAIL_USERNAME') MAIL_PASSWORD = os.getenv('MAIL_PASSWORD') MAIL_DEFAULT_SENDER = os.getenv('MAIL_DEFAULT_SENDER') MAIL_MAX_EMAILS = int(os.getenv('MAIL_MAX_EMAILS')) MAIL_SUPPRESS_SEND = False MAIL_ASCII_ATTACHMENTS = bool(os.getenv('MAIL_ASCII_ATTACHMENTS')) class ProductionConfig(Config): pass class DevelopmentConfig(Config): APP_HOST = '127.0.0.1' DEBUG = True SESSION_COOKIE_SECURE = False MAIL_SERVER = 'localhost' MAIL_DEBUG = True MAIL_SUPPRESS_SEND = False class TestingConfig(DevelopmentConfig): TESTING = True SESSION_COOKIE_SECURE = False MAIL_SERVER = os.getenv('MAIL_SERVER') MAIL_DEBUG = True MAIL_SUPPRESS_SEND = False