"""Application configuration.""" import logging import os import newrelic.agent import sqlalchemy from sqlalchemy.pool import NullPool # Service information SERVICE_NAME = 'ows-social-analytics' 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') # DB CONNECTION_URL DB_URL = os.environ.get('DB_URL') # ART_RELATIONS_DB_URL ART_RELATIONS_DB_URL = os.environ.get('ART_RELATIONS_DB_URL') # Dynamo DB CONNECTION_URL DYNAMODB_HOST = 'dynamodb.us-east-1.amazonaws.com' # Dynamo DB table TABLE_SOCIAL_ANALYTICS_USER_INTERACTION = ( '{}-social_analytics_user_interaction'.format(ENVIRONMENT)) # Errors and loggers SENTRY = os.environ.get('SENTRY_DSN') LOGGER_DSN = os.environ.get('LOGGER_DSN') LOGGER_LEVEL = logging.INFO LOGGER_NAME = 'ows1' # POOL POOL = NullPool # Collectors FACEBOOK_ACCESS_TOKEN = os.environ.get('FACEBOOK_ACCESS_TOKEN') FACEBOOK_CLIENT_SECRET = os.environ.get('FACEBOOK_CLIENT_SECRET') FACEBOOK_CLIENT_ID = os.environ.get('FACEBOOK_CLIENT_ID') FACEBOOK_REDIRECT_URI = os.environ.get('FACEBOOK_REDIRECT_URI') FACEBOOK_MACHINE_ID = os.environ.get('FACEBOOK_MACHINE_ID') SPOTIFY_AUTH_TOKEN = os.environ.get('SPOTIFY_AUTH_TOKEN') SPOTIFY_CLIENT_ID = os.environ.get('SPOTIFY_CLIENT_ID') SPOTIFY_CLIENT_SECRET = os.environ.get('SPOTIFY_CLIENT_SECRET') INSTAGRAM_ACCESS_TOKEN = os.environ.get('INSTAGRAM_ACCESS_TOKEN') # AWS AWS_ACCESS_KEY = os.environ.get('AWS_ACCESS_KEY') AWS_SECRET_KEY = os.environ.get('AWS_SECRET_KEY') AWS_S3_BUCKET = os.environ.get('AWS_S3_BUCKET') # Generic handlers HEALTH_CHECK = '/hello/' # Snowflake SNOWFLAKE_ACCOUNT = os.environ.get('SNOWFLAKE_ACCOUNT') SNOWFLAKE_USER = os.environ.get('SNOWFLAKE_USER') SNOWFLAKE_PASSWORD = os.environ.get('SNOWFLAKE_PASSWORD') SNOWFLAKE_ROLE = os.environ.get('SNOWFLAKE_ROLE') SNOWFLAKE_DATABASE = os.environ.get('SNOWFLAKE_DATABASE') SNOWFLAKE_SCHEMA = os.environ.get('SNOWFLAKE_SCHEMA') SNOWFLAKE_WAREHOUSE = os.environ.get('SNOWFLAKE_WAREHOUSE') POOL_CLASS = sqlalchemy.pool.QueuePool POOL_SIZE = 10 POOL_RECYCLE = 3600 # Avoids connections going stale, recycle after 1 hour POOL_MAX_OVERFLOW = 5 POOL_PRE_PING = True FACEBOOK_IS_ACTIVE = os.environ.get('FACEBOOK_IS_ACTIVE') SPOTIFY_IS_ACTIVE = os.environ.get('SPOTIFY_IS_ACTIVE') INSTAGRAM_IS_ACTIVE = os.environ.get('INSTAGRAM_IS_ACTIVE')