"""Constants for models.""" # tables PRODUCT_TABLE = 'product' STORE_TABLE = 'store' PRODUCT_IN_STORE_TABLE = 'product_in_store' TASK_TABLE = 'task' TASK_LOG_TABLE = 'task_log' # product table RELEASE_STATUS_DELIVERED = 'delivered' RELEASE_STATUS_INGESTING = 'ingesting' RELEASE_STATUS_READY_TO_GO_LIVE = 'ready_to_go_live' RELEASE_STATUS_PREORDER = 'preorder' RELEASE_STATUS_LIVE = 'live' RELEASE_STATUS_INGESTION_FAILED = 'ingestion_failed' RELEASE_STATUSES_ENUM = { RELEASE_STATUS_DELIVERED, RELEASE_STATUS_INGESTING, RELEASE_STATUS_READY_TO_GO_LIVE, RELEASE_STATUS_LIVE, RELEASE_STATUS_INGESTION_FAILED, RELEASE_STATUS_PREORDER, } # product_in_store table ORCHARD = 'orchard' IODA = 'ioda' EMPTY_PROVIDER = '' PROVIDERS_ENUM = {ORCHARD, IODA, EMPTY_PROVIDER} COUNTRIES_SEPARATOR = ',' # task table TASK_STATUS_OK = 'ok' TASK_STATUS_FAILED = 'failed' TASK_STATUS_IN_QUEUE = 'in_queue' TASK_STATUS_PROCESSING = 'processing' TASK_STATUSES_ENUM = { TASK_STATUS_OK, TASK_STATUS_FAILED, TASK_STATUS_IN_QUEUE, TASK_STATUS_PROCESSING, } # store table MAXIMUM_POLLING_DELAY = 365 MAXIMUM_POLL_DAYS_AFTER_SALES = 365 POLLING_DELAY_DAYS = 'polling_delay_days' POLL_DAYS_AFTER_SALES = 'poll_days_after_sales' # task_log table TASK_LOG_TYPE_FAILED = 'failed' TASK_LOG_TYPE_ADD_FAILED = 'add_failed' TASK_LOG_TYPE_ADD_STUCK = 'add_stuck' TASK_LOG_TYPES_ENUM = { TASK_LOG_TYPE_FAILED, TASK_LOG_TYPE_ADD_FAILED, TASK_LOG_TYPE_ADD_STUCK } # Number of records to buffer from DB server-side cursor when selecting # products for polling PRODUCT_TO_POLL_BATCH_SIZE = 1000 ISO8601_DATE_FORMAT = '%Y-%m-%dT%H:%M:%SZ'