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 }