"""Script configs.""" from datetime import datetime import os import uuid import constants.common as consts ENVIRONMENT = os.environ.get('ENVIRONMENT', 'prod').lower() class MySQL: HOST = os.environ['MYSQL_HOST'] PORT = int(os.environ.get('MYSQL_PORT', 3306)) USER = os.environ['MYSQL_USER'] PASSWORD = os.environ['MYSQL_PASSWORD'] DATABASE = os.environ['MYSQL_DATABASE'] S3_BUCKET = os.environ['S3_BUCKET'] DATE_TO = ( datetime.strptime(os.environ['DATE_TO'], '%Y-%m-%d') if 'DATE_TO' in os.environ else datetime.utcnow()).date() DATE_FROM = datetime.strptime(os.environ['DATE_FROM'], '%Y-%m-%d').date() if 'DATE_FROM' in os.environ else DATE_TO assert DATE_TO >= DATE_FROM RETRY_COUNT = int(os.environ.get('RETRY_COUNT', 10)) RETRY_WAIT_RATE = int(os.environ.get('RETRY_WAIT_RATE', 3)) DAYS_COUNT_FIX = int(os.environ.get('DAYS_COUNT_FIX', 1)) PLAYLIST_CHUNK_SIZE = int(os.environ.get('PLAYLIST_CHUNK_SIZE', 300)) DEFAULT_BATCH_LIMIT = int(os.environ.get('DEFAULT_BATCH_LIMIT', 100)) EXEC_CHANGE_CHUNK_COUNT = int(os.environ.get('EXEC_CHANGE_CHUNK_COUNT', 5)) CURRENT_RUN_ID = os.environ.get('CURRENT_RUN_ID', str(uuid.uuid4())[:8]) CURRENT_VENDOR = os.environ.get('CURRENT_VENDOR') assert CURRENT_VENDOR is None or CURRENT_VENDOR in consts.VENDORS ATHENA_DATABASE = os.environ.get('ATHENA_DATABASE', 'dev_apollo') ATHENA_TRY_CREATE_DATABASE = bool(os.environ.get("ATHENA_TRY_CREATE_DATABASE", "")) AGGREGATE_MISSING_PLAYLISTS = bool(os.environ.get('AGGREGATE_MISSING_PLAYLISTS', True)) CHECK_MISSING_DAY = int(os.environ.get('CHECK_MISSING_DAY', -1)) UPDATE_AGGREGATED_DATA = bool(os.environ.get('UPDATE_AGGREGATED_DATA', True)) REDIS_LOCK_ENABLED = bool(os.environ.get('REDIS_LOCK_ENABLED', True)) REDIS_LOCK_TTL = int(os.environ.get('REDIS_LOCK_TTL', 86400)) REDIS_HOST = os.environ.get('REDIS_HOST') REDIS_PORT = int(os.environ.get('REDIS_PORT', 6379)) assert not REDIS_LOCK_ENABLED or REDIS_HOST SENTRY_DSN = os.environ.get('SENTRY_DSN')