"""Delivery history logic layer.""" from deliveryhistory.config import SME_ENCODER_ID from deliveryhistory.models import delivery_history def import_delivery_history(data): """Bulk insert delivery history records. Args: data (list): List of deliver history records. Returns: bool """ records = [] for i in data: item = get_record(i) if item: records.append(item) return delivery_history.insert_delivery_history(records) def get_record(item): """Create DeliveryHistory record. Args: item (dict): Delivery history record. """ if item['encoder_id'] == SME_ENCODER_ID: result = delivery_history.check_for_sme_delivery_history( item['upc'], item['store_id'], item['encoder_id'], item['date_delivered'] ) if result: return None return delivery_history.DeliveryHistory( upc=item['upc'], encoder_id=item['encoder_id'], customer_master_master_id=item['store_id'], date_delivered=item['date_delivered'], package_size=item.get('package_size', 0) )