fix: avoid error when CORE API gives record with no upc

This commit is contained in:
Lance Edgar 2024-07-10 10:22:46 -05:00
parent d52a8704b7
commit 03bc03c9b8

View file

@ -528,11 +528,12 @@ class ProductImporter(FromCOREPOSAPI, corepos_importing.model.ProductImporter):
products = OrderedDict()
def collect(product, i):
if product['upc'] in products:
log.warning("duplicate UPC encountered for '%s'; will discard: %s",
product['upc'], product)
else:
products[product['upc']] = product
if product.get('upc'):
if product['upc'] in products:
log.warning("duplicate UPC encountered for '%s'; will discard: %s",
product['upc'], product)
else:
products[product['upc']] = product
self.progress_loop(collect, self.api.get_products(),
message="Fetching product info from CORE-POS")
@ -755,7 +756,7 @@ class ProductCostImporter(FromCOREPOSAPI, corepos_importing.model.ProductCostImp
warn_for_missing_vendor_id = self.should_warn_for_missing_vendor_id()
def cache(item, i):
if not item['upc']:
if not item.get('upc'):
log.warning("CORE vendor item has no upc: %s", item)
return
if item['vendorID'] == '0':