"""Configuration for AR to DynamoDB Vector Orders synchronisation.""" import os import common_config # art_relations database connection setup. AR_DB_CREDENTIALS = { 'user': os.environ.get('AR_MYSQL_USER'), 'password': os.environ.get('AR_MYSQL_PASSWORD'), 'host': os.environ.get('AR_MYSQL_HOST'), 'port': os.environ.get('AR_MYSQL_PORT', '3306'), 'database': os.environ.get('AR_MYSQL_DATABASE'), } AR_DB_CONNECTION_STRING = ( 'mysql+pymysql://{user}:{password}@{host}:{port}/{database}'.format( user=AR_DB_CREDENTIALS.get('user'), password=AR_DB_CREDENTIALS.get('password'), host=AR_DB_CREDENTIALS.get('host'), port=AR_DB_CREDENTIALS.get('port'), database=AR_DB_CREDENTIALS.get('database'))) AR_DB_CONNECT_ARGS = {'charset': 'utf8'} # The max number of orders to select on each run. ORDERS_AR_SELECT_LIMIT = int(os.environ.get('ORDERS_AR_SELECT_LIMIT', 100)) # Maximum number of attempts to use for DDB write operation. # Boto uses 10 by default. DDB_WRITE_MAX_ATTEMPTS = int(os.environ.get('DDB_WRITE_MAX_ATTEMPTS', 10)) # Encoder ids, filter for art_relation get orders query. # It is used to process only some specific orders, not all. # By default: release - 17 (Video Encoder), 18 (Vector 2.5), # 23 (Vector Bulk Feeds); harddrive - 19 (Vector 2.5 HD) ORDER_ENCODER_ID_LIST = os.environ.get('ORDER_ENCODER_ID_LIST', '17,18,19,23') if common_config.ENVIRONMENT != common_config.TEST_ENVIRONMENT: for k, v in AR_DB_CREDENTIALS.items(): assert v, '{} is not set'.format(k)