code: def getproducts(self, force_refresh=False, **kwargs):
          
          if force_refresh or not self._cache.products:
              self.refresh_products(**kwargs)
          return self._cache.products
docs: Query all products and return the raw dict info. Takes all the
          same arguments as product_get.
  
          On first invocation this will contact bugzilla and internally
          cache the results. Subsequent getproducts calls or accesses to
          self.products will return this cached data only.
  
          :param force_refresh: force refreshing via refresh_products()