Skip to content
Snippets Groups Projects
config.py 1.29 KiB
import os


class Config:
    ''' ### Flask ### '''
    SECRET_KEY = os.environ.get('SECRET_KEY') or 'hard to guess string'

    ''' ### Flask-Mail ### '''
    MAIL_SERVER = os.environ.get('MAIL_SERVER')
    MAIL_PORT = int(os.environ.get('MAIL_PORT'))
    MAIL_USE_TLS = os.environ.get('MAIL_USE_TLS').lower() == 'true'
    MAIL_USERNAME = os.environ.get('MAIL_USERNAME')
    MAIL_PASSWORD = os.environ.get('MAIL_PASSWORD')
    MAIL_DEFAULT_SENDER = os.environ.get('MAIL_DEFAULT_SENDER')

    ''' ### Flask-SQLAlchemy ### '''
    SQLALCHEMY_TRACK_MODIFICATIONS = False

    ''' ### Opaque ### '''
    OPAQUE_ADMIN = os.environ.get('OPAQUE_ADMIN')
    OPAQUE_STORAGE_DIRECTORY = os.environ.get('OPAQUE_STORAGE_DIRECTORY')

    @staticmethod
    def init_app(app):
        pass


class DevelopmentConfig(Config):
    ''' ### Flask ### '''
    DEBUG = True

    ''' ### Flask-SQLAlchemy ### '''
    SQLALCHEMY_DATABASE_URI = 'sqlite:///{}'.format(
        os.path.join(os.path.dirname(os.path.abspath(__file__)),
                     'data_dev.sqlite')
    )


class ProductionConfig(Config):
    ''' ### Flask-SQLAlchemy ### '''
    SQLALCHEMY_DATABASE_URI = os.environ.get('SQLALCHEMY_DATABASE_URI')


config = {
    'development': DevelopmentConfig,
    'production': ProductionConfig,
    'default': DevelopmentConfig
}