"""Application configuration.""" import logging import os from os.path import abspath, dirname, join, pardir from dotenv import load_dotenv # Load environment variables from a .env file if present dotenv_path = abspath(join(dirname(__file__), pardir, ".env")) load_dotenv(dotenv_path) # Service information SERVICE_NAME = "ows-pdp" SERVICE_VERSION = "1.0.0" # Production environment PROD_ENVIRONMENT = "prod" DEV_ENVIRONMENT = "dev" QA_ENVIRONMENT = "qa" TEST_ENVIRONMENT = "test" ENVIRONMENT = os.environ.get("Environment") or DEV_ENVIRONMENT # Database config if ENVIRONMENT == TEST_ENVIRONMENT: DB_URL = 'sqlite://' SQLALCHEMY_TRACK_MODIFICATIONS = False SQLALCHEMY_ENGINE_OPTIONS = {} else: POOL_SIZE = 15 POOL_RECYCLE = 3600 # Avoids connections going stale POOL_MAX_OVERFLOW = 0 DB_URL = os.environ.get('DB_URL') SQLALCHEMY_TRACK_MODIFICATIONS = False SQLALCHEMY_ENGINE_OPTIONS = { 'pool_size': POOL_SIZE, 'pool_recycle': POOL_RECYCLE, 'max_overflow': POOL_MAX_OVERFLOW } # Errors and loggers SENTRY = os.environ.get("SENTRY_DSN") or None LOGGER_LEVEL = logging.INFO LOGGER_NAME = "ows1" # Generic handlers HEALTH_CHECK = "/hello/" # Swagger documentation path SWAGGER_FILE_PATH = "spec/ows_pdp-1.0.0.yaml" NEO4J_READ_ACCESS = "READ" NEO4J_URL = "neo4j+s://dev-neo4j-cluster.dev.theorchard.io:7687" NEO4J_USERNAME = "mwalker" NEO4J_PASSWORD = os.environ.get("NEO4J_PASSWORD") NEO4J_MAX_RETRY_TIME = 30