#!/usr/bin/ruby -w
#
# $Id: item_lookup1,v 1.2 2008/03/25 00:48:40 ianmacd Exp $

require 'amazon/aws'
require 'amazon/aws/search'

include Amazon::AWS
include Amazon::AWS::Search

# Example of a batch operation, using the ASIN as the shared ID.
#
# The MerchantId restriction is to ensure that we retrieve only items that
# Amazon is selling. This is important when we later want to retrieve the
# availability status.
#
il = ItemLookup.new( 'ASIN', { 'ItemId' => 'B000AE4QEC',
			       'MerchantId' => 'Amazon' },
		             { 'ItemId' => 'B000051WBE',
			       'MerchantId' => 'Amazon' } )

# You can have multiple response groups.
#
rg = ResponseGroup.new( 'Medium', 'Offers', 'Reviews' )

req = Request.new
req.locale = 'uk'

resp = req.search( il, rg )
items = resp.item_sets.items

items.each do |item|
  puts item.label
  puts item.title, item.list_price.formatted_price if item.list_price

  # Availability has become a cumbersome thing to retrieve in AWSv4.
  #
  puts 'Availability: %s' %
    [ item.offer_set.offers[0].offer_listing.availability ]
  puts 'Average rating: %s' % [ item.customer_reviews.average_rating ]
  puts 'Reviewed by %s customers.' % [ item.customer_reviews.total_reviews ]

  puts 'Customers said:'
  item.customer_reviews.reviews.each do |review|
    puts '  %s (%s votes)' % [ review.summary, review.total_votes ]
  end

  puts
end
