"""Vendor logic.""" import logging from models import ows_account from utils import document as document_utils import util # noqa def prepare_doc(event): """Construct a Cloudsearch document for the label corpus. Args: event (dict): event with vendor data from Maxwell's Returns: dict: cloudsearch document ready for upload """ json_doc = {} doc_type = 'add' event_type = event.get('type') if not event_type or event.get('_metadata'): logging.warning( 'An event with incompatible format received: %s', event) return json_doc if event_type == 'delete': doc_type = 'delete' if event_type != 'delete': json_doc = ows_account.get_account_document( event['data']['vendor_id'], 'vendor') return document_utils.prepare_for_upload( util.parse_spec_file('labels'), { 'type': doc_type, 'id': 'ven{}'.format(event['data']['vendor_id']), 'fields': json_doc})