import os from datetime import timedelta from dotenv import load_dotenv APP_ROOT = os.path.join(os.path.dirname(__file__), "..") # refers to application_top dotenv_path = os.path.join(APP_ROOT, ".env") load_dotenv(dotenv_path) class BaseConfig: SECRET_KEY = os.environ["SECRET_KEY"] DB_NAME = os.environ["DB_NAME"] DB_USER = os.environ["DB_USER"] DB_PASS = os.environ["DB_PASS"] DB_HOST = os.environ["DB_HOST"] DB_PORT = os.environ.get("DB_PORT", 5432) DELPHI_API_URL = os.environ["DELPHI_API_URL"] DELPHI_API_ID = os.environ["DELPHI_API_ID"] DELPHI_API_SECRET = os.environ["DELPHI_API_SECRET"] APOLLO_API_URL = os.environ["APOLLO_API_URL"] APOLLO_API_ID = os.environ["APOLLO_API_ID"] APOLLO_API_SECRET = os.environ["APOLLO_API_SECRET"] AUTH0_MANAGEMENT_CLIENT_ID = os.environ["AUTH0_MANAGEMENT_CLIENT_ID"] AUTH0_MANAGEMENT_CLIENT_SECRET = os.environ["AUTH0_MANAGEMENT_CLIENT_SECRET"] AUTH0_DOMAIN = os.environ["AUTH0_DOMAIN"] CHARTS_BUCKET = os.environ["CHARTS_BUCKET"] class TestConfig: DEBUG = os.environ.get("DEBUG", True) DB_NAME = os.environ["DB_NAME"] DB_USER = os.environ.get("DB_USER", "postgres") DB_PASS = os.environ.get("DB_PASS", "postgres") DB_HOST = os.environ.get("DB_HOST", "localhost") DB_PORT = os.environ.get("DB_PORT", 5432) TESTING = True SQLALCHEMY_DATABASE_URI = "postgresql://{0}:{1}@{2}:{3}/{4}".format(DB_USER, DB_PASS, DB_HOST, DB_PORT, DB_NAME) CACHE_TYPE = "simple" SQLALCHEMY_ENGINE_OPTIONS = {"pool_pre_ping": True} AUTH0_MANAGEMENT_CLIENT_ID = os.environ["AUTH0_MANAGEMENT_CLIENT_ID"] AUTH0_MANAGEMENT_CLIENT_SECRET = os.environ["AUTH0_MANAGEMENT_CLIENT_SECRET"] AUTH0_DOMAIN = os.environ["AUTH0_DOMAIN"] CHARTS_BUCKET = os.environ["CHARTS_BUCKET"] ENV_CONFIG = {"base": BaseConfig, "test": TestConfig} def runtime_config(): return ENV_CONFIG[os.environ.get("ENV_CONFIG", "base")]