"""Application configuration.""" import logging import os import dotenv import newrelic.agent import sqlalchemy # Load environment variables from a .env file dotenv.load('../.env') # Service information SERVICE_NAME = 'ows-prs' SERVICE_VERSION = '1.0.0' # Production environment PROD_ENVIRONMENT = 'prod' DEV_ENVIRONMENT = 'dev' QA_ENVIRONMENT = 'qa' TEST_ENVIRONMENT = 'test' ENVIRONMENT = os.environ.get('Environment', DEV_ENVIRONMENT) if ENVIRONMENT == PROD_ENVIRONMENT: newrelic.agent.initialize('newrelic.ini') # Errors and loggers SENTRY = os.environ.get('SENTRY_DSN') or None LOGGER_DSN = os.environ.get('LOGGER_DSN') LOGGER_LEVEL = logging.INFO LOGGER_NAME = 'ows1' # Database config if ENVIRONMENT == TEST_ENVIRONMENT: POOL_CLASS = sqlalchemy.pool.StaticPool DB_URL = 'sqlite://' else: # We must explicitly set utf8 encoding for MySQL connections POOL_CLASS = sqlalchemy.pool.NullPool DB_URL = ( 'mysql+pymysql://{user}:{password}@{host}/{db_name}?charset={charset}' .format( user=os.environ.get('AR_MYSQL_USER'), password=os.environ.get('AR_MYSQL_PASSWORD'), host=os.environ.get('AR_MYSQL_HOST'), db_name=os.environ.get('AR_MYSQL_DATABASE'), charset='utf8')) # Generic handlers HEALTH_CHECK = '/hello/'