code: def refresh_products(self, **kwargs):
          
          for product in self.product_get(**kwargs):
              updated = False
              for current in self._cache.products[:]:
                  if (current.get("id", -1) != product.get("id", -2) and
                      current.get("name", -1) != product.get("name", -2)):
                      continue
  
                  _nested_update(current, product)
                  updated = True
                  break
              if not updated:
                  self._cache.products.append(product)
docs: Refresh a product's cached info. Basically calls product_get
          with the passed arguments, and tries to intelligently update
          our product cache.
  
          For example, if we already have cached info for product=foo,
          and you pass in names=["bar", "baz"], the new cache will have
          info for products foo, bar, baz. Individual product fields are
          also updated.