from datetime import timedelta import os basedir = os.path.abspath(os.path.dirname(__file__)) class Config(object): DATABASE_USER = os.environ.get('DATABASE_USER') DATABASE_PASS = os.environ.get('DATABASE_PASS') # in staging branch, we use another database if os.environ.get('FLASK_APP_ENV', '') == 'production': DATABASE_NAME = os.environ.get('DATABASE_NAME') else: DATABASE_NAME = os.environ.get('DATABASE_NAME_STAGING') DATABASE_IP = os.environ.get('DATABASE_IP') DATABASE_PORT = os.environ.get('DATABASE_PORT') SQLALCHEMY_DATABASE_URI = 'mysql+pymysql://{user}:{password}@{ip}:{port}/{name}'.format( user=DATABASE_USER, password=DATABASE_PASS, ip=DATABASE_IP, port=DATABASE_PORT, name=DATABASE_NAME ) SQLALCHEMY_TRACK_MODIFICATIONS = False JWT_SECRET_KEY = os.environ.get('JWT_SECRET_KEY') JWT_EXPIRATION_DELTA = timedelta(hours=12) JWT_BLACKLIST_ENABLED = True JWT_BLACKLIST_TOKEN_CHECKS = ['access', 'refresh'] JWT_TOKEN_LOCATION = ['headers'] UPLOAD_FOLDER = os.environ.get('UPLOAD_FOLDER') # or os.path.join(basedir, 'app', 'static', 'upload')