"""Script configs.""" from datetime import datetime, timedelta import os CHECK_WITH_ADMIN_ACCOUNT_API = bool(os.environ.get('CHECK_WITH_ADMIN_ACCOUNT_API', '')) class Accounts: URL = os.environ.get('ADMIN_ACCOUNTS_URL') USER = os.environ.get('ADMIN_ACCOUNTS_USER') PASSWORD = os.environ.get('ADMIN_ACCOUNTS_PASSWORD') if CHECK_WITH_ADMIN_ACCOUNT_API: assert Accounts.URL and Accounts.USER and Accounts.PASSWORD class Intercom: URL = os.environ.get('INTERCOM_URL', 'https://api.intercom.io/') TOKEN = os.environ['INTERCOM_TOKEN'] 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'] BATCH_SIZE = int(os.environ.get('BATCH_SIZE', 50)) # Please note that you can only 'list' events that are less than 90 days old. DATE_FROM = ( (datetime.utcnow() - timedelta(days=30)) .replace(hour=0, minute=0, second=0, microsecond=0) if 'DATE_FROM' not in os.environ else datetime.strptime(os.environ['DATE_FROM'], '%Y-%m-%d %H:%M:%S') ) DATE_TO = ( None if 'DATE_TO' not in os.environ else datetime.strptime(os.environ['DATE_TO'], '%Y-%m-%d %H:%M:%S') ) MAX_RETRIES = int(os.environ.get('MAX_RETRIES', 5)) WAIT_RATE = int(os.environ.get('WAIT_RATE', 5))