def node_search(browse_node='1000', mode='books', weight=HEAVY, page=1,
sort_type=nil, offerings=nil, keyword=nil, price=nil,
&block)
url = AWS_PREFIX + "?t=%s&BrowseNodeSearch=%s&mode=%s&f=xml" +
"&type=%s&dev-t=%s&page=%s"
url << "&price=" << price unless price.nil?
url << get_offer_string(offerings)
@type = WEIGHT[weight]
sort_string = get_sort_string(sort_type, mode)
if browse_node.is_a? Array
raise TypeError, "string or integer required"
elsif browse_node =~ / /
raise TermError, "single item expected"
end
unless Search.modes.include? mode
raise ModeError, "mode must be one of %s" % Search.modes.join(', ')
end
mode = localise_mode(mode)
url =
url % [@id, browse_node, mode, @type, @token, page] << sort_string
url << "&keywords=" << url_encode(keyword) unless keyword.nil?
search(url, &block)
end