Ejemplo n.º 1
0
def set_mws_product_information(asins, response):
    """ Get product from MWS API.
    Then make a MWS Product API object (Papi).
    Then set lowest price, lowest fba price, and seller in *response*.

    param str asins: Amazon's unique identifier for listing
    param obj response: Response object for this search.
    """
    if len(asins) > 10:
        sections = sectionize_into_lists(asins)
    else:
        sections = [asins]
    for section in sections:
        print('searching mws....')
        try:
            result = amazon_api.get_lowest_offer_listings_for_asin(section)
            pprint(result.parsed)
        except:
            # I need to deal more gracefully with errors in the request.
            # I should find out what asin triggered the error and remove it
            # and try again
            print('Unable to process {0}'.format(section))
            continue
        papi = PAPI(result.parsed)
        papi.make_products()
        for asin in section:
            try:
                product = papi.products[asin]
                response.set_lowest_price_mws(asin, product.lowest_price)
                response.set_lowest_fba_price_mws(asin,
                                                  product.lowest_fba_price)
                response.set_seller(asin, product.get_cheapest_seller())
            except:
                #asin not in papi.products
                pass
Ejemplo n.º 2
0
 def test_make_products(self):
     papi = PAPI(deepcopy(TEST_RESPONSE))
     papi.make_products()
     self.assertTrue(papi.products["B00KUP84L2"])
     self.assertTrue(papi.products["B00HEATHXK"])
     self.assertTrue(papi.products["B00KURKYTK"])
     self.assertTrue(len(papi.products) == 3)
     self.assertFalse(len(papi.products) == 4)
Ejemplo n.º 3
0
 def test_lowest_prices(self):
     papi = PAPI(deepcopy(TEST_RESPONSE_SM))
     papi.make_products()
     products = papi.products
     listings = products["B00M2ALI02"].listings
     lp, lfbap = papi.lowest_prices(listings)
     self.assertEqual(lp, 15.99)
     self.assertEqual(lfbap, 15.99)
Ejemplo n.º 4
0
 def test_products(self):
     papi = PAPI(deepcopy(TEST_RESPONSE))
     papi.make_products()
     ps = papi.get_products_from_response()
     offerings0 = papi.get_offerings_from_product(ps[0])
     products = papi.products
     lp = products["B00KUP84L2"].lowest_price
     self.assertEqual(lp, 17.99)
Ejemplo n.º 5
0
 def test_lowest_prices(self):
     papi = PAPI(deepcopy(TEST_RESPONSE_SM))
     papi.make_products()
     products = papi.products
     listings = products['B00M2ALI02'].listings
     lp, lfbap = papi.lowest_prices(listings)
     self.assertEqual(lp, 15.99)
     self.assertEqual(lfbap, 15.99)
Ejemplo n.º 6
0
 def test_products(self):
     papi = PAPI(deepcopy(TEST_RESPONSE))
     papi.make_products()
     ps = papi.get_products_from_response()
     offerings0 = papi.get_offerings_from_product(ps[0])
     products = papi.products
     lp = products['B00KUP84L2'].lowest_price
     self.assertEqual(lp, 17.99)
Ejemplo n.º 7
0
 def test_make_products(self):
     papi = PAPI(deepcopy(TEST_RESPONSE))
     papi.make_products()
     self.assertTrue(papi.products['B00KUP84L2'])
     self.assertTrue(papi.products['B00HEATHXK'])
     self.assertTrue(papi.products['B00KURKYTK'])
     self.assertTrue(len(papi.products) == 3)
     self.assertFalse(len(papi.products) == 4)
Ejemplo n.º 8
0
def set_mws_product_information(asins, response):
    """ Get product from MWS API.
    Then make a MWS Product API object (Papi).
    Then set lowest price, lowest fba price, and seller in *response*.

    param str asins: Amazon's unique identifier for listing
    param obj response: Response object for this search.
    """
    if len(asins) > 10:
        sections = sectionize_into_lists(asins)
    else:
        sections = [asins]
    for section in sections:
        print('searching mws....')
        try:
            result = amazon_api.get_lowest_offer_listings_for_asin(
                section
            )
            pprint(result.parsed)
        except:
            # I need to deal more gracefully with errors in the request.
            # I should find out what asin triggered the error and remove it
            # and try again
            print('Unable to process {0}'.format(section))
            continue
        papi = PAPI(result.parsed)
        papi.make_products()
        for asin in section:
            try:
                product = papi.products[asin]
                response.set_lowest_price_mws(asin, product.lowest_price)
                response.set_lowest_fba_price_mws(
                    asin,
                    product.lowest_fba_price
                )
                response.set_seller(asin, product.get_cheapest_seller())
            except:
                #asin not in papi.products
                pass