cafepress-search 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,5 @@
1
+ === 0.0.1 2009-12-17
2
+
3
+ * Initial Release
4
+ * Can use the Cafepress Search API (http://api.cafepress.com/product.search.cp)
5
+ to find designs and products.
@@ -0,0 +1,21 @@
1
+ History.txt
2
+ Manifest.txt
3
+ PostInstall.txt
4
+ README.rdoc
5
+ Rakefile
6
+ lib/cafepress-search.rb
7
+ lib/cafepress/search/client.rb
8
+ lib/cafepress/search/product.rb
9
+ lib/cafepress/search/search_result.rb
10
+ lib/cafepress/search/search_result_set.rb
11
+ script/console
12
+ script/destroy
13
+ script/generate
14
+ spec/cafepress-search/client_spec.rb
15
+ spec/cafepress-search/product_spec.rb
16
+ spec/cafepress-search/search_result_set_spec.rb
17
+ spec/cafepress-search/search_result_spec.rb
18
+ spec/data/dog_search.xml
19
+ spec/spec.opts
20
+ spec/spec_helper.rb
21
+ tasks/rspec.rake
@@ -0,0 +1,4 @@
1
+
2
+ For more information on the cafepress-search gem, see http://github.com/cafepress/cafepress-search
3
+
4
+
@@ -0,0 +1,70 @@
1
+ = cafepress-search-client
2
+
3
+ * http://github.com/cafepress/cafepress-search
4
+
5
+ == DESCRIPTION:
6
+
7
+ A client library for the Cafepress search API that allows you to search for
8
+ designs and products on Cafepress.com
9
+
10
+ == FEATURES/PROBLEMS:
11
+
12
+ * Search for designs by keyword
13
+
14
+ == SYNOPSIS:
15
+
16
+ require 'cafepress-search'
17
+
18
+ #Search for truth
19
+ client = Cafepress::Search::Client.new('you-cafepress-api-key')
20
+ result_set = client.search('truth')
21
+
22
+ result_set.results.each do |result|
23
+ puts result.:design_detail_page_url
24
+ end
25
+
26
+ #Search for the one truth
27
+ result_set = client.search('truth', :results_per_page => 1)
28
+
29
+ #That didn't work out. Maybe truth lives on the second page.
30
+ result_set = client.search('truth', :results_per_page => 25, :page_number => 2)
31
+
32
+ Available search options:
33
+
34
+ * :results_per_page - How many results to retrieve
35
+ * :page_number - What page of results to retrieve
36
+ * :sort - Acceptable values: by_date_desc, by_score_desc
37
+ * :max_products_per_design - The number of products ot include with each design result.
38
+
39
+ == REQUIREMENTS:
40
+
41
+ * HappyMapper 0.3.0
42
+
43
+ == INSTALL:
44
+
45
+ sudo gem install cafepress-search
46
+
47
+ == LICENSE:
48
+
49
+ (The MIT License)
50
+
51
+ Copyright (c) 2009 CafePress.com
52
+
53
+ Permission is hereby granted, free of charge, to any person obtaining
54
+ a copy of this software and associated documentation files (the
55
+ 'Software'), to deal in the Software without restriction, including
56
+ without limitation the rights to use, copy, modify, merge, publish,
57
+ distribute, sublicense, and/or sell copies of the Software, and to
58
+ permit persons to whom the Software is furnished to do so, subject to
59
+ the following conditions:
60
+
61
+ The above copyright notice and this permission notice shall be
62
+ included in all copies or substantial portions of the Software.
63
+
64
+ THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
65
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
66
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
67
+ IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
68
+ CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
69
+ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
70
+ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -0,0 +1,19 @@
1
+ require 'rubygems'
2
+ gem 'hoe', '>= 2.1.0'
3
+ require 'hoe'
4
+ require 'fileutils'
5
+ require './lib/cafepress-search'
6
+
7
+ Hoe.plugin :newgem
8
+ $hoe = Hoe.spec 'cafepress-search' do
9
+ self.version = Cafepress::Search::VERSION
10
+ self.developer 'Britt Crawford', 'bcrawford@cafepress.com'
11
+ self.developer 'Dimple Joseph', 'djoseph@cafepress.com'
12
+ self.post_install_message = 'PostInstall.txt'
13
+ self.extra_deps = ["happymapper", "0.3.0"]
14
+ end
15
+
16
+ require 'newgem/tasks'
17
+ Dir['tasks/**/*.rake'].each { |t| load t }
18
+
19
+ task :default => [:spec]
@@ -0,0 +1,15 @@
1
+ $:.unshift(File.dirname(__FILE__)) unless
2
+ $:.include?(File.dirname(__FILE__)) || $:.include?(File.expand_path(File.dirname(__FILE__)))
3
+
4
+ require 'cafepress/search/product'
5
+ require 'cafepress/search/search_result'
6
+ require 'cafepress/search/search_result_set'
7
+ require 'cafepress/search/client'
8
+
9
+ module Cafepress
10
+ module Search
11
+ VERSION = '1.0.0'
12
+
13
+ Client.base_url = "http://api.cafepress.com"
14
+ end
15
+ end
@@ -0,0 +1,45 @@
1
+ require 'net/http'
2
+ require 'uri'
3
+
4
+ module Cafepress
5
+ module Search
6
+ class Client
7
+ attr_accessor :app_key
8
+
9
+ def initialize(app_key)
10
+ @app_key = app_key
11
+ end
12
+
13
+ def self.base_url
14
+ @@base_url
15
+ end
16
+
17
+ def self.base_url=(url)
18
+ @@base_url = url
19
+ end
20
+
21
+ def search(query, options = {})
22
+ SearchResultSet.parse(Net::HTTP.get(query_url(options.merge('query' => query))))
23
+ end
24
+
25
+ private
26
+
27
+ def query_url(options = {})
28
+ URI.parse("#{Cafepress::Search::Client.base_url}/product.search.cp?#{format_options(options)}")
29
+ end
30
+
31
+ def format_options(options)
32
+ options.merge('appKey' => app_key).collect do |key,value|
33
+ "#{camelize(key)}=#{URI.escape(value)}"
34
+ end.join('&')
35
+ end
36
+
37
+ # taken from rails/activesupport/lib/active_support/inflector.rb, line 178
38
+ # Didn't want to require activesupport for one function
39
+ def camelize(lower_case_and_underscored_word)
40
+ camelized = lower_case_and_underscored_word.to_s.gsub(/\/(.?)/) { "::#{$1.upcase}" }.gsub(/(?:^|_)(.)/) { $1.upcase }
41
+ camelized[0,1].downcase + camelized[1..-1]
42
+ end
43
+ end
44
+ end
45
+ end
@@ -0,0 +1,17 @@
1
+ require 'happymapper'
2
+
3
+ module Cafepress
4
+ module Search
5
+ class Product
6
+ include HappyMapper
7
+ tag 'product'
8
+
9
+ attribute :merchandise_id, Integer, :tag => 'productTypeNumber'
10
+ attribute :merchandise_name, String, :tag => 'item'
11
+ attribute :price, String
12
+ attribute :id, Integer, :tag => 'productNumber'
13
+ attribute :thumbnail_url, String, :tag => 'thumbnailUrl'
14
+ attribute :detail_page_url, String, :tag => 'marketplaceUrl'
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,17 @@
1
+ require 'happymapper'
2
+
3
+ module Cafepress
4
+ module Search
5
+ class SearchResult
6
+ include HappyMapper
7
+ tag 'searchResultItem'
8
+
9
+ attribute :search_type, String, :tag => 'type'
10
+ attribute :design_url, String, :tag => 'mediaUrl'
11
+ attribute :design_detail_page_url, String, :tag => 'marketplaceUrl'
12
+ attribute :design_id, Integer, :tag => 'mediaId'
13
+
14
+ has_many :products, Product
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,33 @@
1
+
2
+ require 'happymapper'
3
+
4
+ module Cafepress
5
+ module Search
6
+ class SearchResultSet
7
+ include HappyMapper
8
+ tag 'searchResultSet'
9
+
10
+ attribute :size, Integer, :tag => 'resultLength'
11
+ attribute :total_designs, Integer, :tag => 'totalDesigns'
12
+ attribute :total_products, Integer, :tag => 'totalProducts'
13
+ attribute :start_index, Integer, :tag => 'startResult'
14
+ attribute :sort, String
15
+
16
+ element :subtopics, String
17
+ element :searchQuery, String
18
+
19
+ has_many :results, SearchResult
20
+
21
+ def topics
22
+ @topics ||= subtopics.split("\n").inject([]) do |groomed, topic|
23
+ groomed << topic.strip unless topic.strip == ""
24
+ groomed
25
+ end
26
+ end
27
+
28
+ def query
29
+ @query ||= searchQuery.strip
30
+ end
31
+ end
32
+ end
33
+ end
@@ -0,0 +1,10 @@
1
+ #!/usr/bin/env ruby
2
+ # File: script/console
3
+ irb = RUBY_PLATFORM =~ /(:?mswin|mingw)/ ? 'irb.bat' : 'irb'
4
+
5
+ libs = " -r irb/completion"
6
+ # Perhaps use a console_lib to store any extra methods I may want available in the cosole
7
+ # libs << " -r #{File.dirname(__FILE__) + '/../lib/console_lib/console_logger.rb'}"
8
+ libs << " -r #{File.dirname(__FILE__) + '/../lib/cafepress-search.rb'}"
9
+ puts "Loading cafepress-search gem"
10
+ exec "#{irb} #{libs} --simple-prompt"
@@ -0,0 +1,14 @@
1
+ #!/usr/bin/env ruby
2
+ APP_ROOT = File.expand_path(File.join(File.dirname(__FILE__), '..'))
3
+
4
+ begin
5
+ require 'rubigen'
6
+ rescue LoadError
7
+ require 'rubygems'
8
+ require 'rubigen'
9
+ end
10
+ require 'rubigen/scripts/destroy'
11
+
12
+ ARGV.shift if ['--help', '-h'].include?(ARGV[0])
13
+ RubiGen::Base.use_component_sources! [:rubygems, :newgem, :newgem_theme, :test_unit]
14
+ RubiGen::Scripts::Destroy.new.run(ARGV)
@@ -0,0 +1,14 @@
1
+ #!/usr/bin/env ruby
2
+ APP_ROOT = File.expand_path(File.join(File.dirname(__FILE__), '..'))
3
+
4
+ begin
5
+ require 'rubigen'
6
+ rescue LoadError
7
+ require 'rubygems'
8
+ require 'rubigen'
9
+ end
10
+ require 'rubigen/scripts/generate'
11
+
12
+ ARGV.shift if ['--help', '-h'].include?(ARGV[0])
13
+ RubiGen::Base.use_component_sources! [:rubygems, :newgem, :newgem_theme, :test_unit]
14
+ RubiGen::Scripts::Generate.new.run(ARGV)
@@ -0,0 +1,35 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
2
+ require 'uri'
3
+
4
+ describe Cafepress::Search::Client do
5
+ before(:all) do
6
+ @result_xml = File.read(File.join(File.dirname(__FILE__), '..', 'data', 'dog_search.xml'))
7
+ Cafepress::Search::Client.base_url = "http://example.com"
8
+ end
9
+
10
+ before(:each) do
11
+ @client = Cafepress::Search::Client.new('application key')
12
+ end
13
+
14
+ describe "#serch" do
15
+ context "when the http interaction succeeds" do
16
+ it "should request the appropriate search url" do
17
+ query_url = 'http://example.com/product.search.cp?appKey=application%20key&query=dog'
18
+ Net::HTTP.should_receive(:get).once.with(URI.parse(query_url)).and_return(@result_xml)
19
+ @client.search('dog')
20
+ end
21
+
22
+ it "should return a search result set object" do
23
+ Net::HTTP.stub!(:get).and_return(@result_xml)
24
+ @client.search('dog').is_a?(Cafepress::Search::SearchResultSet).should be_true
25
+ end
26
+ end
27
+
28
+ context "when the http interaction fails" do
29
+ it "should raise an error" do
30
+ Net::HTTP.stub!(:get).and_raise(Net::HTTPError)
31
+ Proc.new { @client.search('beans') }.should raise_error
32
+ end
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,37 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
2
+
3
+ describe Cafepress::Search::Product do
4
+ before(:all) do
5
+ @result_xml = File.read(File.join(File.dirname(__FILE__), '..', 'data', 'dog_search.xml'))
6
+ end
7
+
8
+ before(:each) do
9
+ @product = Cafepress::Search::Product.parse(@result_xml).first
10
+ end
11
+
12
+ it "should have a merchandise_id" do
13
+ @product.merchandise_id.should == 4
14
+ end
15
+
16
+ it "should have a merchandise_name" do
17
+ @product.merchandise_name.should == "Sweatshirt"
18
+ end
19
+
20
+ it "should have a price" do
21
+ @product.price.should == "$32.99"
22
+ end
23
+
24
+
25
+ it "should have an id" do
26
+ @product.id.should == 384814123
27
+ end
28
+
29
+ it "should have a thumbnail_url" do
30
+ @product.thumbnail_url.should == 'http://www.cafepress.com/cp/search/image.aspx?p=384814123&i=34016862'
31
+ end
32
+
33
+ it "should have a detail_page_url" do
34
+ @product.detail_page_url.should == 'http://www.cafepress.com/buy/dog/-/pv_design_prod/pg_1/p_4102863.384814123/pNo_384814123/id_34016862'
35
+ end
36
+ end
37
+
@@ -0,0 +1,59 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
2
+
3
+ describe Cafepress::Search::SearchResultSet do
4
+ before(:all) do
5
+ @result_xml = File.read(File.join(File.dirname(__FILE__), '..', 'data', 'dog_search.xml'))
6
+ end
7
+
8
+ before(:each) do
9
+ @results = Cafepress::Search::SearchResultSet.parse(@result_xml)
10
+ end
11
+
12
+ it "should load the results" do
13
+ @results.results.each { |result| result.is_a?(Cafepress::Search::SearchResult).should be_true }
14
+ end
15
+
16
+ it "the number of results loaded should match the given result set size" do
17
+ @results.results.size.should == @results.size
18
+ end
19
+
20
+ it "should load the result set size" do
21
+ @results.size.should == 60
22
+ end
23
+
24
+ it "should know the total number of designs for this query" do
25
+ @results.total_designs.should == 553352
26
+ end
27
+
28
+ it "should know the total number of products for this query" do
29
+ @results.total_products.should == 17744462
30
+ end
31
+
32
+ it "should load the starting result index" do
33
+ @results.start_index.should == 0
34
+ end
35
+
36
+ it "should load the sort type" do
37
+ @results.sort.should == 'by_score_desc'
38
+ end
39
+
40
+ it "should load the topics" do
41
+ @results.topics.should == [
42
+ 'pets',
43
+ 'pet',
44
+ 'canine',
45
+ 'puppy',
46
+ 'gifts',
47
+ 'animals',
48
+ 'art',
49
+ 'breeds',
50
+ 'breed',
51
+ 'humor'
52
+ ]
53
+ end
54
+
55
+ it "should know the query used to generate the result set" do
56
+ @results.query.should == "dog"
57
+ end
58
+ end
59
+
@@ -0,0 +1,33 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
2
+
3
+ describe Cafepress::Search::SearchResult do
4
+ before(:all) do
5
+ @result_xml = File.read(File.join(File.dirname(__FILE__), '..', 'data', 'dog_search.xml'))
6
+ end
7
+
8
+ before(:each) do
9
+ @result = Cafepress::Search::SearchResult.parse(@result_xml).first
10
+ end
11
+
12
+ it "should have a search type" do
13
+ @result.search_type.should == "IMAGE"
14
+ end
15
+
16
+ it "should have a design_url" do
17
+ @result.design_url.should == 'http://images.cafepress.com/image/34016862_125x125.jpg'
18
+ end
19
+
20
+ it "should have a design_detail_page_url" do
21
+ @result.design_detail_page_url.should == 'http://www.cafepress.com/buy/dog/-/pv_design_details/pg_1/id_34016862/hlv_1'
22
+ end
23
+
24
+ it "should have a design_id" do
25
+ @result.design_id.should == 34016862
26
+ end
27
+
28
+ it "should have products" do
29
+ @result.products.size.should == 3
30
+ @result.products.each { |product| product.is_a?(Cafepress::Search::Product).should == true }
31
+ end
32
+ end
33
+
@@ -0,0 +1,390 @@
1
+ <searchResultSet totalDesigns="553352" totalProducts="17744462" startResult="0" resultLength="60" version="1" sort="by_score_desc">
2
+ <mainResults>
3
+ <searchResultItem type="IMAGE" mediaUrl="http://images.cafepress.com/image/34016862_125x125.jpg" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_details/pg_1/id_34016862/hlv_1" mediaId="34016862">
4
+ <products total="3">
5
+ <product thumbnailUrl="http://www.cafepress.com/cp/search/image.aspx?p=384814123&amp;i=34016862" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_prod/pg_1/p_4102863.384814123/pNo_384814123/id_34016862" productTypeNumber="4" item="Sweatshirt" price="$32.99" productNumber="384814123" />
6
+ <product thumbnailUrl="http://www.cafepress.com/cp/search/image.aspx?p=384814095&amp;i=34016862" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_prod/pg_1/p_4102863.384814095/pNo_384814095/id_34016862" productTypeNumber="17" item="Tote Bag" price="$15.99" productNumber="384814095" />
7
+ <product thumbnailUrl="http://www.cafepress.com/cp/search/image.aspx?p=384814046&amp;i=34016862" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_prod/pg_1/p_4102863.384814046/pNo_384814046/id_34016862" productTypeNumber="211" item="Sticker (Oval 10 pk)" price="$25.49" productNumber="384814046" />
8
+ </products>
9
+ </searchResultItem>
10
+ <searchResultItem type="IMAGE" mediaUrl="http://images.cafepress.com/image/9792844_125x125.jpg" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_details/pg_1/id_9792844/hlv_1" mediaId="9792844">
11
+ <products total="3">
12
+ <product thumbnailUrl="http://www.cafepress.com/cp/search/image.aspx?p=38971834&amp;i=9792844" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_prod/pg_1/p_805040.38971834/pNo_38971834/id_9792844" productTypeNumber="109" item="Women's Light T-Shirt" price="$22.99" productNumber="38971834" />
13
+ <product thumbnailUrl="http://www.cafepress.com/cp/search/image.aspx?p=38971830&amp;i=9792844" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_prod/pg_1/p_805040.38971830/pNo_38971830/id_9792844" productTypeNumber="4" item="Sweatshirt" price="$37.99" productNumber="38971830" />
14
+ <product thumbnailUrl="http://www.cafepress.com/cp/search/image.aspx?p=38971828&amp;i=9792844" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_prod/pg_1/p_805040.38971828/pNo_38971828/id_9792844" productTypeNumber="51" item="Sticker (Oval)" price="$5.24" productNumber="38971828" />
15
+ </products>
16
+ </searchResultItem>
17
+ <searchResultItem type="IMAGE" mediaUrl="http://images.cafepress.com/image/8628040_125x125.jpg" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_details/pg_1/id_8628040/hlv_1" mediaId="8628040">
18
+ <products total="1">
19
+ <product thumbnailUrl="http://www.cafepress.com/cp/search/image.aspx?p=33212906&amp;i=8628040" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_prod/pg_1/p_925290.33212906/pNo_33212906/id_8628040" productTypeNumber="51" item="Sticker (Oval)" price="$4.89" productNumber="33212906" />
20
+ </products>
21
+ </searchResultItem>
22
+ <searchResultItem type="IMAGE" mediaUrl="http://images.cafepress.com/image/23666856_125x125.jpg" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_details/pg_1/id_23666856/hlv_1" mediaId="23666856">
23
+ <products total="3">
24
+ <product thumbnailUrl="http://www.cafepress.com/cp/search/image.aspx?p=192741364&amp;i=23666856" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_prod/pg_1/p_1280468.192741364/pNo_192741364/id_23666856" productTypeNumber="137" item="Rectangle Magnet" price="$6.99" productNumber="192741364" />
25
+ <product thumbnailUrl="http://www.cafepress.com/cp/search/image.aspx?p=198074322&amp;i=23666856" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_prod/pg_1/p_1280468.198074322/pNo_198074322/id_23666856" productTypeNumber="136" item="Kids Baseball Jersey" price="$24.99" productNumber="198074322" />
26
+ <product thumbnailUrl="http://www.cafepress.com/cp/search/image.aspx?p=198074321&amp;i=23666856" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_prod/pg_1/p_1280468.198074321/pNo_198074321/id_23666856" productTypeNumber="135" item="Kids Sweatshirt" price="$24.99" productNumber="198074321" />
27
+ </products>
28
+ </searchResultItem>
29
+ <searchResultItem type="IMAGE" mediaUrl="http://images.cafepress.com/image/36634135_125x125.jpg" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_details/pg_1/id_36634135/hlv_1" mediaId="36634135">
30
+ <products total="1">
31
+ <product thumbnailUrl="http://www.cafepress.com/cp/search/image.aspx?p=342790328&amp;i=36634135" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_prod/pg_1/p_3830887.342790328/pNo_342790328/id_36634135" productTypeNumber="75" item="Wall Calendar" price="$15.99" productNumber="342790328" />
32
+ </products>
33
+ </searchResultItem>
34
+ <searchResultItem type="IMAGE" mediaUrl="http://images.cafepress.com/image/36571536_125x125.jpg" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_details/pg_1/id_36571536/hlv_1" mediaId="36571536">
35
+ <products total="1">
36
+ <product thumbnailUrl="http://www.cafepress.com/cp/search/image.aspx?p=175841939&amp;i=36571536" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_prod/pg_1/p_288352.175841939/pNo_175841939/id_36571536" productTypeNumber="75" item="Wall Calendar" price="$20.99" productNumber="175841939" />
37
+ </products>
38
+ </searchResultItem>
39
+ <searchResultItem type="IMAGE" mediaUrl="http://images.cafepress.com/image/36952580_125x125.jpg" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_details/pg_1/id_36952580/hlv_1" mediaId="36952580">
40
+ <products total="1">
41
+ <product thumbnailUrl="http://www.cafepress.com/cp/search/image.aspx?p=331719769&amp;i=36952580" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_prod/pg_1/p_2082258.331719769/pNo_331719769/id_36952580" productTypeNumber="75" item="Wall Calendar" price="$18.99" productNumber="331719769" />
42
+ </products>
43
+ </searchResultItem>
44
+ <searchResultItem type="IMAGE" mediaUrl="http://images.cafepress.com/image/36864467_125x125.jpg" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_details/pg_1/id_36864467/hlv_1" mediaId="36864467">
45
+ <products total="1">
46
+ <product thumbnailUrl="http://www.cafepress.com/cp/search/image.aspx?p=420340504&amp;i=36864467" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_prod/pg_1/p_1145885.420340504/pNo_420340504/id_36864467" productTypeNumber="75" item="Wall Calendar" price="$17.19" productNumber="420340504" />
47
+ </products>
48
+ </searchResultItem>
49
+ <searchResultItem type="IMAGE" mediaUrl="http://images.cafepress.com/image/24647413_125x125.jpg" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_details/pg_1/id_24647413/hlv_1" mediaId="24647413">
50
+ <products total="3">
51
+ <product thumbnailUrl="http://www.cafepress.com/cp/search/image.aspx?p=202829476&amp;i=24647413" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_prod/pg_1/p_700246.202829476/pNo_202829476/id_24647413" productTypeNumber="37" item="Tile Coaster" price="$13.50" productNumber="202829476" />
52
+ <product thumbnailUrl="http://www.cafepress.com/cp/search/image.aspx?p=202829474&amp;i=24647413" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_prod/pg_1/p_700246.202829474/pNo_202829474/id_24647413" productTypeNumber="147" item="Framed Tile" price="$19.00" productNumber="202829474" />
53
+ <product thumbnailUrl="http://www.cafepress.com/cp/search/image.aspx?p=9130505&amp;i=24647413" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_prod/pg_1/p_700246.9130505/pNo_9130505/id_24647413" productTypeNumber="49" item="Wall Clock" price="$25.00" productNumber="9130505" />
54
+ </products>
55
+ </searchResultItem>
56
+ <searchResultItem type="IMAGE" mediaUrl="http://images.cafepress.com/image/36491316_125x125.jpg" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_details/pg_1/id_36491316/hlv_1" mediaId="36491316">
57
+ <products total="3">
58
+ <product thumbnailUrl="http://www.cafepress.com/cp/search/image.aspx?p=417786090&amp;i=36491316" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_prod/pg_1/p_1963107.417786090/pNo_417786090/id_36491316" productTypeNumber="105" item="Ornament (Oval)" price="$12.99" productNumber="417786090" />
59
+ <product thumbnailUrl="http://www.cafepress.com/cp/search/image.aspx?p=417786089&amp;i=36491316" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_prod/pg_1/p_1963107.417786089/pNo_417786089/id_36491316" productTypeNumber="124" item="Ornament (Round) " price="$12.99" productNumber="417786089" />
60
+ <product thumbnailUrl="http://www.cafepress.com/cp/search/image.aspx?p=417786139&amp;i=36491316" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_prod/pg_1/p_1963107.417786139/pNo_417786139/id_36491316" productTypeNumber="193" item="Greeting Cards (Pk of 20)" price="$30.99" productNumber="417786139" />
61
+ </products>
62
+ </searchResultItem>
63
+ <searchResultItem type="IMAGE" mediaUrl="http://images.cafepress.com/image/35140694_125x125.jpg" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_details/pg_1/id_35140694/hlv_1" mediaId="35140694">
64
+ <products total="1">
65
+ <product thumbnailUrl="http://www.cafepress.com/cp/search/image.aspx?p=401979709&amp;i=35140694" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_prod/pg_1/p_733140.401979709/pNo_401979709/id_35140694" productTypeNumber="75" item="Wall Calendar" price="$20.99" productNumber="401979709" />
66
+ </products>
67
+ </searchResultItem>
68
+ <searchResultItem type="IMAGE" mediaUrl="http://images.cafepress.com/image/21713488_125x125.jpg" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_details/pg_1/id_21713488/hlv_1" mediaId="21713488">
69
+ <products total="3">
70
+ <product thumbnailUrl="http://www.cafepress.com/cp/search/image.aspx?p=163131781&amp;i=21713488" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_prod/pg_1/p_1340605.163131781/pNo_163131781/id_21713488" productTypeNumber="137" item="Rectangle Magnet" price="$6.49" productNumber="163131781" />
71
+ <product thumbnailUrl="http://www.cafepress.com/cp/search/image.aspx?p=163131804&amp;i=21713488" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_prod/pg_1/p_1340605.163131804/pNo_163131804/id_21713488" productTypeNumber="51" item="Sticker (Oval)" price="$5.99" productNumber="163131804" />
72
+ <product thumbnailUrl="http://www.cafepress.com/cp/search/image.aspx?p=163131832&amp;i=21713488" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_prod/pg_1/p_1340605.163131832/pNo_163131832/id_21713488" productTypeNumber="4" item="Sweatshirt" price="$42.99" productNumber="163131832" />
73
+ </products>
74
+ </searchResultItem>
75
+ <searchResultItem type="IMAGE" mediaUrl="http://images.cafepress.com/image/36409737_125x125.jpg" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_details/pg_1/id_36409737/hlv_1" mediaId="36409737">
76
+ <products total="2">
77
+ <product thumbnailUrl="http://www.cafepress.com/cp/search/image.aspx?p=417130905&amp;i=36409737" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_prod/pg_1/p_872478.417130905/pNo_417130905/id_36409737" productTypeNumber="75" item="Wall Calendar" price="$16.99" productNumber="417130905" />
78
+ <product thumbnailUrl="http://www.cafepress.com/cp/search/image.aspx?p=417130906&amp;i=36409737" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_prod/pg_1/p_872478.417130906/pNo_417130906/id_36409737" productTypeNumber="74" item="Calendar Print" price="$5.99" productNumber="417130906" />
79
+ </products>
80
+ </searchResultItem>
81
+ <searchResultItem type="IMAGE" mediaUrl="http://images.cafepress.com/image/36582320_125x125.jpg" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_details/pg_1/id_36582320/hlv_1" mediaId="36582320">
82
+ <products total="1">
83
+ <product thumbnailUrl="http://www.cafepress.com/cp/search/image.aspx?p=418420673&amp;i=36582320" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_prod/pg_1/p_4636007.418420673/pNo_418420673/id_36582320" productTypeNumber="75" item="Wall Calendar" price="$17.99" productNumber="418420673" />
84
+ </products>
85
+ </searchResultItem>
86
+ <searchResultItem type="IMAGE" mediaUrl="http://images.cafepress.com/image/9015496_125x125.jpg" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_details/pg_1/id_9015496/hlv_1" mediaId="9015496">
87
+ <products total="3">
88
+ <product thumbnailUrl="http://www.cafepress.com/cp/search/image.aspx?p=33779869&amp;i=9015496" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_prod/pg_1/p_965872.33779869/pNo_33779869/id_9015496" productTypeNumber="137" item="Rectangle Magnet" price="$4.49" productNumber="33779869" />
89
+ <product thumbnailUrl="http://www.cafepress.com/cp/search/image.aspx?p=33779874&amp;i=9015496" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_prod/pg_1/p_965872.33779874/pNo_33779874/id_9015496" productTypeNumber="4" item="Sweatshirt" price="$31.99" productNumber="33779874" />
90
+ <product thumbnailUrl="http://www.cafepress.com/cp/search/image.aspx?p=33779875&amp;i=9015496" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_prod/pg_1/p_965872.33779875/pNo_33779875/id_9015496" productTypeNumber="37" item="Tile Coaster" price="$5.99" productNumber="33779875" />
91
+ </products>
92
+ </searchResultItem>
93
+ <searchResultItem type="IMAGE" mediaUrl="http://images.cafepress.com/image/36529171_125x125.jpg" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_details/pg_1/id_36529171/hlv_1" mediaId="36529171">
94
+ <products total="1">
95
+ <product thumbnailUrl="http://www.cafepress.com/cp/search/image.aspx?p=417292463&amp;i=36529171" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_prod/pg_1/p_2301651.417292463/pNo_417292463/id_36529171" productTypeNumber="75" item="Wall Calendar" price="$19.99" productNumber="417292463" />
96
+ </products>
97
+ </searchResultItem>
98
+ <searchResultItem type="IMAGE" mediaUrl="http://images.cafepress.com/image/35842275_125x125.jpg" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_details/pg_1/id_35842275/hlv_1" mediaId="35842275">
99
+ <products total="1">
100
+ <product thumbnailUrl="http://www.cafepress.com/cp/search/image.aspx?p=411106039&amp;i=35842275" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_prod/pg_1/p_683518.411106039/pNo_411106039/id_35842275" productTypeNumber="75" item="Wall Calendar" price="$19.99" productNumber="411106039" />
101
+ </products>
102
+ </searchResultItem>
103
+ <searchResultItem type="IMAGE" mediaUrl="http://images.cafepress.com/image/36752800_125x125.jpg" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_details/pg_1/id_36752800/hlv_1" mediaId="36752800">
104
+ <products total="3">
105
+ <product thumbnailUrl="http://www.cafepress.com/cp/search/image.aspx?p=419677553&amp;i=36752800" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_prod/pg_1/p_4689508.419677553/pNo_419677553/id_36752800" productTypeNumber="100" item="Journal" price="$12.99" productNumber="419677553" />
106
+ <product thumbnailUrl="http://www.cafepress.com/cp/search/image.aspx?p=419677555&amp;i=36752800" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_prod/pg_1/p_4689508.419677555/pNo_419677555/id_36752800" productTypeNumber="0" item="Mug " price="$13.99" productNumber="419677555" />
107
+ <product thumbnailUrl="http://www.cafepress.com/cp/search/image.aspx?p=419677556&amp;i=36752800" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_prod/pg_1/p_4689508.419677556/pNo_419677556/id_36752800" productTypeNumber="78" item="Greeting Cards (Pk of 10)" price="$18.99" productNumber="419677556" />
108
+ </products>
109
+ </searchResultItem>
110
+ <searchResultItem type="IMAGE" mediaUrl="http://images.cafepress.com/image/27688366_125x125.jpg" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_details/pg_1/id_27688366/hlv_1" mediaId="27688366">
111
+ <products total="3">
112
+ <product thumbnailUrl="http://www.cafepress.com/cp/search/image.aspx?p=416869572&amp;i=27688366" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_prod/pg_1/p_2983160.416869572/pNo_416869572/id_27688366" productTypeNumber="159" item="Men's Fitted T-Shirt (dark)" price="$25.29" productNumber="416869572" />
113
+ <product thumbnailUrl="http://www.cafepress.com/cp/search/image.aspx?p=416869570&amp;i=27688366" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_prod/pg_1/p_2983160.416869570/pNo_416869570/id_27688366" productTypeNumber="251" item="Organic Men's T-Shirt (dark)" price="$27.59" productNumber="416869570" />
114
+ <product thumbnailUrl="http://www.cafepress.com/cp/search/image.aspx?p=416869568&amp;i=27688366" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_prod/pg_1/p_2983160.416869568/pNo_416869568/id_27688366" productTypeNumber="253" item="Organic Women's T-Shirt (dark)" price="$27.59" productNumber="416869568" />
115
+ </products>
116
+ </searchResultItem>
117
+ <searchResultItem type="IMAGE" mediaUrl="http://images.cafepress.com/image/34624539_125x125.jpg" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_details/pg_1/id_34624539/hlv_1" mediaId="34624539">
118
+ <products total="3">
119
+ <product thumbnailUrl="http://www.cafepress.com/cp/search/image.aspx?p=396334000&amp;i=34624539" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_prod/pg_1/p_921941.396334000/pNo_396334000/id_34624539" productTypeNumber="105" item="Ornament (Oval)" price="$8.99" productNumber="396334000" />
120
+ <product thumbnailUrl="http://www.cafepress.com/cp/search/image.aspx?p=396334016&amp;i=34624539" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_prod/pg_1/p_921941.396334016/pNo_396334016/id_34624539" productTypeNumber="2" item="White T-Shirt " price="$18.99" productNumber="396334016" />
121
+ <product thumbnailUrl="http://www.cafepress.com/cp/search/image.aspx?p=396333988&amp;i=34624539" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_prod/pg_1/p_921941.396333988/pNo_396333988/id_34624539" productTypeNumber="78" item="Greeting Cards (Pk of 10)" price="$18.99" productNumber="396333988" />
122
+ </products>
123
+ </searchResultItem>
124
+ <searchResultItem type="IMAGE" mediaUrl="http://images.cafepress.com/image/29356115_125x125.jpg" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_details/pg_1/id_29356115/hlv_1" mediaId="29356115">
125
+ <products total="1">
126
+ <product thumbnailUrl="http://www.cafepress.com/cp/search/image.aspx?p=291121801&amp;i=29356115" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_prod/pg_1/p_1239090.291121801/pNo_291121801/id_29356115" productTypeNumber="75" item="Wall Calendar" price="$21.99" productNumber="291121801" />
127
+ </products>
128
+ </searchResultItem>
129
+ <searchResultItem type="IMAGE" mediaUrl="http://images.cafepress.com/image/36783705_125x125.jpg" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_details/pg_1/id_36783705/hlv_1" mediaId="36783705">
130
+ <products total="3">
131
+ <product thumbnailUrl="http://www.cafepress.com/cp/search/image.aspx?p=419878200&amp;i=36783705" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_prod/pg_1/p_3962525.419878200/pNo_419878200/id_36783705" productTypeNumber="287" item="Apron (dark)" price="$21.99" productNumber="419878200" />
132
+ <product thumbnailUrl="http://www.cafepress.com/cp/search/image.aspx?p=419878201&amp;i=36783705" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_prod/pg_1/p_3962525.419878201/pNo_419878201/id_36783705" productTypeNumber="281" item="Sigg Water Bottle 0.6L" price="$24.99" productNumber="419878201" />
133
+ <product thumbnailUrl="http://www.cafepress.com/cp/search/image.aspx?p=419878202&amp;i=36783705" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_prod/pg_1/p_3962525.419878202/pNo_419878202/id_36783705" productTypeNumber="280" item="Sigg Water Bottle 1.0L" price="$27.99" productNumber="419878202" />
134
+ </products>
135
+ </searchResultItem>
136
+ <searchResultItem type="IMAGE" mediaUrl="http://images.cafepress.com/image/23311374_125x125.jpg" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_details/pg_1/id_23311374/hlv_1" mediaId="23311374">
137
+ <products total="3">
138
+ <product thumbnailUrl="http://www.cafepress.com/cp/search/image.aspx?p=200358118&amp;i=23311374" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_prod/pg_1/p_1280468.200358118/pNo_200358118/id_23311374" productTypeNumber="7" item="Light T-Shirt" price="$24.99" productNumber="200358118" />
139
+ <product thumbnailUrl="http://www.cafepress.com/cp/search/image.aspx?p=200358119&amp;i=23311374" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_prod/pg_1/p_1280468.200358119/pNo_200358119/id_23311374" productTypeNumber="183" item="Women's Plus Size Scoop Neck T-Shirt" price="$34.99" productNumber="200358119" />
140
+ <product thumbnailUrl="http://www.cafepress.com/cp/search/image.aspx?p=200358120&amp;i=23311374" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_prod/pg_1/p_1280468.200358120/pNo_200358120/id_23311374" productTypeNumber="185" item="Women's Plus Size V-Neck T-Shirt" price="$34.99" productNumber="200358120" />
141
+ </products>
142
+ </searchResultItem>
143
+ <searchResultItem type="IMAGE" mediaUrl="http://images.cafepress.com/image/36529328_125x125.jpg" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_details/pg_1/id_36529328/hlv_1" mediaId="36529328">
144
+ <products total="3">
145
+ <product thumbnailUrl="http://www.cafepress.com/cp/search/image.aspx?p=418050352&amp;i=36529328" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_prod/pg_1/p_3011562.418050352/pNo_418050352/id_36529328" productTypeNumber="2" item="White T-Shirt " price="$17.99" productNumber="418050352" />
146
+ <product thumbnailUrl="http://www.cafepress.com/cp/search/image.aspx?p=418050348&amp;i=36529328" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_prod/pg_1/p_3011562.418050348/pNo_418050348/id_36529328" productTypeNumber="114" item="Women's Tank Top" price="$14.99" productNumber="418050348" />
147
+ <product thumbnailUrl="http://www.cafepress.com/cp/search/image.aspx?p=418050351&amp;i=36529328" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_prod/pg_1/p_3011562.418050351/pNo_418050351/id_36529328" productTypeNumber="89" item="Women's T-Shirt" price="$17.99" productNumber="418050351" />
148
+ </products>
149
+ </searchResultItem>
150
+ <searchResultItem type="IMAGE" mediaUrl="http://images.cafepress.com/image/36870926_125x125.jpg" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_details/pg_1/id_36870926/hlv_1" mediaId="36870926">
151
+ <products total="3">
152
+ <product thumbnailUrl="http://www.cafepress.com/cp/search/image.aspx?p=420321452&amp;i=36870926" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_prod/pg_1/p_861066.420321452/pNo_420321452/id_36870926" productTypeNumber="244" item="Hoodie (dark)" price="$39.99" productNumber="420321452" />
153
+ <product thumbnailUrl="http://www.cafepress.com/cp/search/image.aspx?p=420321454&amp;i=36870926" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_prod/pg_1/p_861066.420321454/pNo_420321454/id_36870926" productTypeNumber="246" item="Zip Hoodie (dark)" price="$45.99" productNumber="420321454" />
154
+ <product thumbnailUrl="http://www.cafepress.com/cp/search/image.aspx?p=420321461&amp;i=36870926" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_prod/pg_1/p_861066.420321461/pNo_420321461/id_36870926" productTypeNumber="152" item="Dark T-Shirt" price="$24.99" productNumber="420321461" />
155
+ </products>
156
+ </searchResultItem>
157
+ <searchResultItem type="IMAGE" mediaUrl="http://images.cafepress.com/image/34155609_125x125.jpg" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_details/pg_1/id_34155609/hlv_1" mediaId="34155609">
158
+ <products total="3">
159
+ <product thumbnailUrl="http://www.cafepress.com/cp/search/image.aspx?p=387506171&amp;i=34155609" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_prod/pg_1/p_915321.387506171/pNo_387506171/id_34155609" productTypeNumber="124" item="Ornament (Round) " price="$10.99" productNumber="387506171" />
160
+ <product thumbnailUrl="http://www.cafepress.com/cp/search/image.aspx?p=387506170&amp;i=34155609" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_prod/pg_1/p_915321.387506170/pNo_387506170/id_34155609" productTypeNumber="126" item="Ringer T" price="$22.99" productNumber="387506170" />
161
+ <product thumbnailUrl="http://www.cafepress.com/cp/search/image.aspx?p=387506168&amp;i=34155609" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_prod/pg_1/p_915321.387506168/pNo_387506168/id_34155609" productTypeNumber="17" item="Tote Bag" price="$20.99" productNumber="387506168" />
162
+ </products>
163
+ </searchResultItem>
164
+ <searchResultItem type="IMAGE" mediaUrl="http://images.cafepress.com/image/36431325_125x125.jpg" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_details/pg_1/id_36431325/hlv_1" mediaId="36431325">
165
+ <products total="3">
166
+ <product thumbnailUrl="http://www.cafepress.com/cp/search/image.aspx?p=417309078&amp;i=36431325" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_prod/pg_1/p_3883122.417309078/pNo_417309078/id_36431325" productTypeNumber="152" item="Dark T-Shirt" price="$22.99" productNumber="417309078" />
167
+ <product thumbnailUrl="http://www.cafepress.com/cp/search/image.aspx?p=417310258&amp;i=36431325" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_prod/pg_1/p_3883122.417310258/pNo_417310258/id_36431325" productTypeNumber="167" item="Women's V-Neck Dark T-Shirt" price="$23.99" productNumber="417310258" />
168
+ <product thumbnailUrl="http://www.cafepress.com/cp/search/image.aspx?p=422248759&amp;i=36431325" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_prod/pg_1/p_3883122.422248759/pNo_422248759/id_36431325" productTypeNumber="244" item="Hoodie (dark)" price="$37.99" productNumber="422248759" />
169
+ </products>
170
+ </searchResultItem>
171
+ <searchResultItem type="IMAGE" mediaUrl="http://images.cafepress.com/image/28268108_125x125.jpg" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_details/pg_1/id_28268108/hlv_1" mediaId="28268108">
172
+ <products total="1">
173
+ <product thumbnailUrl="http://www.cafepress.com/cp/search/image.aspx?p=272435702&amp;i=28268108" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_prod/pg_1/p_2499518.272435702/pNo_272435702/id_28268108" productTypeNumber="49" item="Wall Clock" price="$14.99" productNumber="272435702" />
174
+ </products>
175
+ </searchResultItem>
176
+ <searchResultItem type="IMAGE" mediaUrl="http://images.cafepress.com/image/23079650_125x125.jpg" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_details/pg_1/id_23079650/hlv_1" mediaId="23079650">
177
+ <products total="1">
178
+ <product thumbnailUrl="http://www.cafepress.com/cp/search/image.aspx?p=187436509&amp;i=23079650" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_prod/pg_1/p_1280468.187436509/pNo_187436509/id_23079650" productTypeNumber="51" item="Sticker (Oval)" price="$5.49" productNumber="187436509" />
179
+ </products>
180
+ </searchResultItem>
181
+ <searchResultItem type="IMAGE" mediaUrl="http://images.cafepress.com/image/36947939_125x125.jpg" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_details/pg_1/id_36947939/hlv_1" mediaId="36947939">
182
+ <products total="3">
183
+ <product thumbnailUrl="http://www.cafepress.com/cp/search/image.aspx?p=420815167&amp;i=36947939" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_prod/pg_1/p_4724700.420815167/pNo_420815167/id_36947939" productTypeNumber="165" item="Women's Long Sleeve T-Shirt" price="$21.99" productNumber="420815167" />
184
+ <product thumbnailUrl="http://www.cafepress.com/cp/search/image.aspx?p=420815166&amp;i=36947939" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_prod/pg_1/p_4724700.420815166/pNo_420815166/id_36947939" productTypeNumber="247" item="Women's Zip Hoodie" price="$37.99" productNumber="420815166" />
185
+ <product thumbnailUrl="http://www.cafepress.com/cp/search/image.aspx?p=420815176&amp;i=36947939" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_prod/pg_1/p_4724700.420815176/pNo_420815176/id_36947939" productTypeNumber="134" item="Women's Cap Sleeve T-Shirt" price="$18.99" productNumber="420815176" />
186
+ </products>
187
+ </searchResultItem>
188
+ <searchResultItem type="IMAGE" mediaUrl="http://images.cafepress.com/image/32884050_125x125.jpg" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_details/pg_1/id_32884050/hlv_1" mediaId="32884050">
189
+ <products total="1">
190
+ <product thumbnailUrl="http://www.cafepress.com/cp/search/image.aspx?p=356269408&amp;i=32884050" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_prod/pg_1/p_3903981.356269408/pNo_356269408/id_32884050" productTypeNumber="220" item="Ceramic Travel Mug" price="$21.99" productNumber="356269408" />
191
+ </products>
192
+ </searchResultItem>
193
+ <searchResultItem type="IMAGE" mediaUrl="http://images.cafepress.com/image/36240098_125x125.jpg" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_details/pg_1/id_36240098/hlv_1" mediaId="36240098">
194
+ <products total="3">
195
+ <product thumbnailUrl="http://www.cafepress.com/cp/search/image.aspx?p=201609622&amp;i=36240098" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_prod/pg_1/p_2802797.201609622/pNo_201609622/id_36240098" productTypeNumber="4" item="Sweatshirt" price="$31.99" productNumber="201609622" />
196
+ <product thumbnailUrl="http://www.cafepress.com/cp/search/image.aspx?p=203311752&amp;i=36240098" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_prod/pg_1/p_2802797.203311752/pNo_203311752/id_36240098" productTypeNumber="165" item="Women's Long Sleeve T-Shirt" price="$20.99" productNumber="203311752" />
197
+ <product thumbnailUrl="http://www.cafepress.com/cp/search/image.aspx?p=218999030&amp;i=36240098" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_prod/pg_1/p_2802797.218999030/pNo_218999030/id_36240098" productTypeNumber="6" item="Jr. Jersey T-Shirt" price="$21.99" productNumber="218999030" />
198
+ </products>
199
+ </searchResultItem>
200
+ <searchResultItem type="IMAGE" mediaUrl="http://images.cafepress.com/image/36752415_125x125.jpg" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_details/pg_1/id_36752415/hlv_1" mediaId="36752415">
201
+ <products total="3">
202
+ <product thumbnailUrl="http://www.cafepress.com/cp/search/image.aspx?p=419683658&amp;i=36752415" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_prod/pg_1/p_2908889.419683658/pNo_419683658/id_36752415" productTypeNumber="45" item="Golf Shirt" price="$19.99" productNumber="419683658" />
203
+ <product thumbnailUrl="http://www.cafepress.com/cp/search/image.aspx?p=419683659&amp;i=36752415" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_prod/pg_1/p_2908889.419683659/pNo_419683659/id_36752415" productTypeNumber="106" item="Fitted T-Shirt" price="$18.99" productNumber="419683659" />
204
+ <product thumbnailUrl="http://www.cafepress.com/cp/search/image.aspx?p=419683656&amp;i=36752415" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_prod/pg_1/p_2908889.419683656/pNo_419683656/id_36752415" productTypeNumber="103" item="Jr. Hoodie" price="$27.99" productNumber="419683656" />
205
+ </products>
206
+ </searchResultItem>
207
+ <searchResultItem type="IMAGE" mediaUrl="http://images.cafepress.com/image/36755253_125x125.jpg" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_details/pg_1/id_36755253/hlv_1" mediaId="36755253">
208
+ <products total="2">
209
+ <product thumbnailUrl="http://www.cafepress.com/cp/search/image.aspx?p=348941305&amp;i=36755253" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_prod/pg_1/p_1145885.348941305/pNo_348941305/id_36755253" productTypeNumber="124" item="Ornament (Round) " price="$6.89" productNumber="348941305" />
210
+ <product thumbnailUrl="http://www.cafepress.com/cp/search/image.aspx?p=348941304&amp;i=36755253" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_prod/pg_1/p_1145885.348941304/pNo_348941304/id_36755253" productTypeNumber="105" item="Ornament (Oval)" price="$6.89" productNumber="348941304" />
211
+ </products>
212
+ </searchResultItem>
213
+ <searchResultItem type="IMAGE" mediaUrl="http://images.cafepress.com/image/31543951_125x125.jpg" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_details/pg_1/id_31543951/hlv_1" mediaId="31543951">
214
+ <products total="3">
215
+ <product thumbnailUrl="http://www.cafepress.com/cp/search/image.aspx?p=333114145&amp;i=31543951" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_prod/pg_1/p_2657663.333114145/pNo_333114145/id_31543951" productTypeNumber="124" item="Ornament (Round) " price="$12.00" productNumber="333114145" />
216
+ <product thumbnailUrl="http://www.cafepress.com/cp/search/image.aspx?p=333114146&amp;i=31543951" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_prod/pg_1/p_2657663.333114146/pNo_333114146/id_31543951" productTypeNumber="105" item="Ornament (Oval)" price="$12.00" productNumber="333114146" />
217
+ <product thumbnailUrl="http://www.cafepress.com/cp/search/image.aspx?p=415439616&amp;i=31543951" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_prod/pg_1/p_2657663.415439616/pNo_415439616/id_31543951" productTypeNumber="220" item="Ceramic Travel Mug" price="$22.00" productNumber="415439616" />
218
+ </products>
219
+ </searchResultItem>
220
+ <searchResultItem type="IMAGE" mediaUrl="http://images.cafepress.com/image/36989465_125x125.jpg" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_details/pg_1/id_36989465/hlv_1" mediaId="36989465">
221
+ <products total="3">
222
+ <product thumbnailUrl="http://www.cafepress.com/cp/search/image.aspx?p=421085095&amp;i=36989465" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_prod/pg_1/p_4732689.421085095/pNo_421085095/id_36989465" productTypeNumber="260" item="Organic Men's Fitted T-Shirt (dark)" price="$22.99" productNumber="421085095" />
223
+ <product thumbnailUrl="http://www.cafepress.com/cp/search/image.aspx?p=421085094&amp;i=36989465" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_prod/pg_1/p_4732689.421085094/pNo_421085094/id_36989465" productTypeNumber="263" item="Women's Fitted T-Shirt (dark)" price="$21.99" productNumber="421085094" />
224
+ <product thumbnailUrl="http://www.cafepress.com/cp/search/image.aspx?p=421085093&amp;i=36989465" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_prod/pg_1/p_4732689.421085093/pNo_421085093/id_36989465" productTypeNumber="4" item="Sweatshirt" price="$29.99" productNumber="421085093" />
225
+ </products>
226
+ </searchResultItem>
227
+ <searchResultItem type="IMAGE" mediaUrl="http://images.cafepress.com/image/36082045_125x125.jpg" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_details/pg_1/id_36082045/hlv_1" mediaId="36082045">
228
+ <products total="1">
229
+ <product thumbnailUrl="http://www.cafepress.com/cp/search/image.aspx?p=414059045&amp;i=36082045" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_prod/pg_1/p_2147899.414059045/pNo_414059045/id_36082045" productTypeNumber="105" item="Ornament (Oval)" price="$10.99" productNumber="414059045" />
230
+ </products>
231
+ </searchResultItem>
232
+ <searchResultItem type="IMAGE" mediaUrl="http://images.cafepress.com/image/23129911_125x125.jpg" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_details/pg_1/id_23129911/hlv_1" mediaId="23129911">
233
+ <products total="1">
234
+ <product thumbnailUrl="http://www.cafepress.com/cp/search/image.aspx?p=188518536&amp;i=23129911" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_prod/pg_1/p_1280468.188518536/pNo_188518536/id_23129911" productTypeNumber="90" item="Sticker (Bumper)" price="$6.49" productNumber="188518536" />
235
+ </products>
236
+ </searchResultItem>
237
+ <searchResultItem type="IMAGE" mediaUrl="http://images.cafepress.com/image/36431322_125x125.jpg" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_details/pg_1/id_36431322/hlv_1" mediaId="36431322">
238
+ <products total="3">
239
+ <product thumbnailUrl="http://www.cafepress.com/cp/search/image.aspx?p=417309076&amp;i=36431322" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_prod/pg_1/p_3883122.417309076/pNo_417309076/id_36431322" productTypeNumber="161" item="Women's Dark T-Shirt" price="$23.99" productNumber="417309076" />
240
+ <product thumbnailUrl="http://www.cafepress.com/cp/search/image.aspx?p=417309079&amp;i=36431322" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_prod/pg_1/p_3883122.417309079/pNo_417309079/id_36431322" productTypeNumber="134" item="Women's Cap Sleeve T-Shirt" price="$22.99" productNumber="417309079" />
241
+ <product thumbnailUrl="http://www.cafepress.com/cp/search/image.aspx?p=417309080&amp;i=36431322" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_prod/pg_1/p_3883122.417309080/pNo_417309080/id_36431322" productTypeNumber="134" item="Women's Cap Sleeve T-Shirt" price="$19.99" productNumber="417309080" />
242
+ </products>
243
+ </searchResultItem>
244
+ <searchResultItem type="IMAGE" mediaUrl="http://images.cafepress.com/image/36968926_125x125.jpg" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_details/pg_1/id_36968926/hlv_1" mediaId="36968926">
245
+ <products total="3">
246
+ <product thumbnailUrl="http://www.cafepress.com/cp/search/image.aspx?p=420949600&amp;i=36968926" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_prod/pg_1/p_1289970.420949600/pNo_420949600/id_36968926" productTypeNumber="42" item="Apron" price="$17.99" productNumber="420949600" />
247
+ <product thumbnailUrl="http://www.cafepress.com/cp/search/image.aspx?p=420949589&amp;i=36968926" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_prod/pg_1/p_1289970.420949589/pNo_420949589/id_36968926" productTypeNumber="82" item="Framed Panel Print" price="$35.99" productNumber="420949589" />
248
+ <product thumbnailUrl="http://www.cafepress.com/cp/search/image.aspx?p=420949588&amp;i=36968926" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_prod/pg_1/p_1289970.420949588/pNo_420949588/id_36968926" productTypeNumber="192" item="Greeting Card" price="$3.49" productNumber="420949588" />
249
+ </products>
250
+ </searchResultItem>
251
+ <searchResultItem type="IMAGE" mediaUrl="http://images.cafepress.com/image/36385828_125x125.jpg" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_details/pg_1/id_36385828/hlv_1" mediaId="36385828">
252
+ <products total="1">
253
+ <product thumbnailUrl="http://www.cafepress.com/cp/search/image.aspx?p=324687709&amp;i=36385828" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_prod/pg_1/p_288352.324687709/pNo_324687709/id_36385828" productTypeNumber="163" item="Vertical Wall Calendar" price="$21.99" productNumber="324687709" />
254
+ </products>
255
+ </searchResultItem>
256
+ <searchResultItem type="IMAGE" mediaUrl="http://images.cafepress.com/image/36479341_125x125.jpg" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_details/pg_1/id_36479341/hlv_1" mediaId="36479341">
257
+ <products total="1">
258
+ <product thumbnailUrl="http://www.cafepress.com/cp/search/image.aspx?p=417881426&amp;i=36479341" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_prod/pg_1/p_2614159.417881426/pNo_417881426/id_36479341" productTypeNumber="162" item="Oversized Wall Calendar" price="$24.99" productNumber="417881426" />
259
+ </products>
260
+ </searchResultItem>
261
+ <searchResultItem type="IMAGE" mediaUrl="http://images.cafepress.com/image/28566422_125x125.jpg" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_details/pg_1/id_28566422/hlv_1" mediaId="28566422">
262
+ <products total="3">
263
+ <product thumbnailUrl="http://www.cafepress.com/cp/search/image.aspx?p=300270851&amp;i=28566422" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_prod/pg_1/p_1043520.300270851/pNo_300270851/id_28566422" productTypeNumber="124" item="Ornament (Round) " price="$12.99" productNumber="300270851" />
264
+ <product thumbnailUrl="http://www.cafepress.com/cp/search/image.aspx?p=320184683&amp;i=28566422" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_prod/pg_1/p_3208400.320184683/pNo_320184683/id_28566422" productTypeNumber="37" item="Tile Coaster" price="$9.99" productNumber="320184683" />
265
+ <product thumbnailUrl="http://www.cafepress.com/cp/search/image.aspx?p=320184700&amp;i=28566422" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_prod/pg_1/p_3208400.320184700/pNo_320184700/id_28566422" productTypeNumber="4" item="Sweatshirt" price="$43.99" productNumber="320184700" />
266
+ </products>
267
+ </searchResultItem>
268
+ <searchResultItem type="IMAGE" mediaUrl="http://images.cafepress.com/image/36166256_125x125.jpg" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_details/pg_1/id_36166256/hlv_1" mediaId="36166256">
269
+ <products total="3">
270
+ <product thumbnailUrl="http://www.cafepress.com/cp/search/image.aspx?p=414874374&amp;i=36166256" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_prod/pg_1/p_2635499.414874374/pNo_414874374/id_36166256" productTypeNumber="105" item="Ornament (Oval)" price="$7.99" productNumber="414874374" />
271
+ <product thumbnailUrl="http://www.cafepress.com/cp/search/image.aspx?p=414873246&amp;i=36166256" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_prod/pg_1/p_2635499.414873246/pNo_414873246/id_36166256" productTypeNumber="184" item="Women's Plus Size Dark Scoop Neck T-Shirt" price="$33.19" productNumber="414873246" />
272
+ <product thumbnailUrl="http://www.cafepress.com/cp/search/image.aspx?p=414873247&amp;i=36166256" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_prod/pg_1/p_2635499.414873247/pNo_414873247/id_36166256" productTypeNumber="183" item="Women's Plus Size Scoop Neck T-Shirt" price="$33.19" productNumber="414873247" />
273
+ </products>
274
+ </searchResultItem>
275
+ <searchResultItem type="IMAGE" mediaUrl="http://images.cafepress.com/image/36770192_125x125.jpg" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_details/pg_1/id_36770192/hlv_1" mediaId="36770192">
276
+ <products total="2">
277
+ <product thumbnailUrl="http://www.cafepress.com/cp/search/image.aspx?p=420117518&amp;i=36770192" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_prod/pg_1/p_4159764.420117518/pNo_420117518/id_36770192" productTypeNumber="280" item="Sigg Water Bottle 1.0L" price="$27.99" productNumber="420117518" />
278
+ <product thumbnailUrl="http://www.cafepress.com/cp/search/image.aspx?p=419762811&amp;i=36770192" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_prod/pg_1/p_4159764.419762811/pNo_419762811/id_36770192" productTypeNumber="51" item="Sticker (Oval)" price="$4.00" productNumber="419762811" />
279
+ </products>
280
+ </searchResultItem>
281
+ <searchResultItem type="IMAGE" mediaUrl="http://images.cafepress.com/image/13178295_125x125.jpg" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_details/pg_1/id_13178295/hlv_1" mediaId="13178295">
282
+ <products total="3">
283
+ <product thumbnailUrl="http://www.cafepress.com/cp/search/image.aspx?p=63458631&amp;i=13178295" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_prod/pg_1/p_593567.63458631/pNo_63458631/id_13178295" productTypeNumber="137" item="Rectangle Magnet" price="$5.49" productNumber="63458631" />
284
+ <product thumbnailUrl="http://www.cafepress.com/cp/search/image.aspx?p=63458615&amp;i=13178295" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_prod/pg_1/p_593567.63458615/pNo_63458615/id_13178295" productTypeNumber="139" item="Rectangle Magnet (100 pack)" price="$164.99" productNumber="63458615" />
285
+ <product thumbnailUrl="http://www.cafepress.com/cp/search/image.aspx?p=63458616&amp;i=13178295" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_prod/pg_1/p_593567.63458616/pNo_63458616/id_13178295" productTypeNumber="138" item="Rectangle Magnet (10 pack)" price="$25.99" productNumber="63458616" />
286
+ </products>
287
+ </searchResultItem>
288
+ <searchResultItem type="IMAGE" mediaUrl="http://images.cafepress.com/image/23129329_125x125.jpg" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_details/pg_1/id_23129329/hlv_1" mediaId="23129329">
289
+ <products total="1">
290
+ <product thumbnailUrl="http://www.cafepress.com/cp/search/image.aspx?p=188505921&amp;i=23129329" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_prod/pg_1/p_1280468.188505921/pNo_188505921/id_23129329" productTypeNumber="90" item="Sticker (Bumper)" price="$6.49" productNumber="188505921" />
291
+ </products>
292
+ </searchResultItem>
293
+ <searchResultItem type="IMAGE" mediaUrl="http://images.cafepress.com/image/35236926_125x125.jpg" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_details/pg_1/id_35236926/hlv_1" mediaId="35236926">
294
+ <products total="3">
295
+ <product thumbnailUrl="http://www.cafepress.com/cp/search/image.aspx?p=402884356&amp;i=35236926" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_prod/pg_1/p_1043379.402884356/pNo_402884356/id_35236926" productTypeNumber="15" item="Boxer Shorts" price="$17.99" productNumber="402884356" />
296
+ <product thumbnailUrl="http://www.cafepress.com/cp/search/image.aspx?p=402884289&amp;i=35236926" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_prod/pg_1/p_1043379.402884289/pNo_402884289/id_35236926" productTypeNumber="111" item="Organic Men's Fitted T-Shirt" price="$27.99" productNumber="402884289" />
297
+ <product thumbnailUrl="http://www.cafepress.com/cp/search/image.aspx?p=402884291&amp;i=35236926" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_prod/pg_1/p_1043379.402884291/pNo_402884291/id_35236926" productTypeNumber="113" item="Jr. Ringer T-Shirt" price="$24.99" productNumber="402884291" />
298
+ </products>
299
+ </searchResultItem>
300
+ <searchResultItem type="IMAGE" mediaUrl="http://images.cafepress.com/image/35768186_125x125.jpg" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_details/pg_1/id_35768186/hlv_1" mediaId="35768186">
301
+ <products total="3">
302
+ <product thumbnailUrl="http://www.cafepress.com/cp/search/image.aspx?p=175564975&amp;i=35768186" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_prod/pg_1/p_441674.175564975/pNo_175564975/id_35768186" productTypeNumber="162" item="Oversized Wall Calendar" price="$26.99" productNumber="175564975" />
303
+ <product thumbnailUrl="http://www.cafepress.com/cp/search/image.aspx?p=175596334&amp;i=35768186" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_prod/pg_1/p_745353.175596334/pNo_175596334/id_35768186" productTypeNumber="162" item="Oversized Wall Calendar" price="$24.99" productNumber="175596334" />
304
+ <product thumbnailUrl="http://www.cafepress.com/cp/search/image.aspx?p=175592579&amp;i=35768186" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_prod/pg_1/p_643607.175592579/pNo_175592579/id_35768186" productTypeNumber="162" item="Oversized Wall Calendar" price="$24.99" productNumber="175592579" />
305
+ </products>
306
+ </searchResultItem>
307
+ <searchResultItem type="IMAGE" mediaUrl="http://images.cafepress.com/image/29295449_125x125.jpg" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_details/pg_1/id_29295449/hlv_1" mediaId="29295449">
308
+ <products total="3">
309
+ <product thumbnailUrl="http://www.cafepress.com/cp/search/image.aspx?p=289513984&amp;i=29295449" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_prod/pg_1/p_1340296.289513984/pNo_289513984/id_29295449" productTypeNumber="17" item="Tote Bag" price="$16.99" productNumber="289513984" />
310
+ <product thumbnailUrl="http://www.cafepress.com/cp/search/image.aspx?p=289513985&amp;i=29295449" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_prod/pg_1/p_1340296.289513985/pNo_289513985/id_29295449" productTypeNumber="74" item="Calendar Print" price="$7.99" productNumber="289513985" />
311
+ <product thumbnailUrl="http://www.cafepress.com/cp/search/image.aspx?p=289513986&amp;i=29295449" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_prod/pg_1/p_1340296.289513986/pNo_289513986/id_29295449" productTypeNumber="82" item="Framed Panel Print" price="$38.99" productNumber="289513986" />
312
+ </products>
313
+ </searchResultItem>
314
+ <searchResultItem type="IMAGE" mediaUrl="http://images.cafepress.com/image/37032391_125x125.jpg" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_details/pg_1/id_37032391/hlv_1" mediaId="37032391">
315
+ <products total="1">
316
+ <product thumbnailUrl="http://www.cafepress.com/cp/search/image.aspx?p=91506493&amp;i=37032391" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_prod/pg_1/p_342768.91506493/pNo_91506493/id_37032391" productTypeNumber="75" item="Wall Calendar" price="$18.99" productNumber="91506493" />
317
+ </products>
318
+ </searchResultItem>
319
+ <searchResultItem type="IMAGE" mediaUrl="http://images.cafepress.com/image/35647128_125x125.jpg" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_details/pg_1/id_35647128/hlv_1" mediaId="35647128">
320
+ <products total="1">
321
+ <product thumbnailUrl="http://www.cafepress.com/cp/search/image.aspx?p=196308808&amp;i=35647128" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_prod/pg_1/p_2150453.196308808/pNo_196308808/id_35647128" productTypeNumber="75" item="Wall Calendar" price="$29.99" productNumber="196308808" />
322
+ </products>
323
+ </searchResultItem>
324
+ <searchResultItem type="IMAGE" mediaUrl="http://images.cafepress.com/image/36986616_125x125.jpg" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_details/pg_1/id_36986616/hlv_1" mediaId="36986616">
325
+ <products total="3">
326
+ <product thumbnailUrl="http://www.cafepress.com/cp/search/image.aspx?p=421066124&amp;i=36986616" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_prod/pg_1/p_4647028.421066124/pNo_421066124/id_36986616" productTypeNumber="203" item="3.5&quot; Button" price="$4.39" productNumber="421066124" />
327
+ <product thumbnailUrl="http://www.cafepress.com/cp/search/image.aspx?p=421066125&amp;i=36986616" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_prod/pg_1/p_4647028.421066125/pNo_421066125/id_36986616" productTypeNumber="143" item="Mini Button (100 pack)" price="$87.49" productNumber="421066125" />
328
+ <product thumbnailUrl="http://www.cafepress.com/cp/search/image.aspx?p=421066126&amp;i=36986616" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_prod/pg_1/p_4647028.421066126/pNo_421066126/id_36986616" productTypeNumber="142" item="Mini Button (10 pack)" price="$9.99" productNumber="421066126" />
329
+ </products>
330
+ </searchResultItem>
331
+ <searchResultItem type="IMAGE" mediaUrl="http://images.cafepress.com/image/37155487_125x125.jpg" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_details/pg_1/id_37155487/hlv_1" mediaId="37155487">
332
+ <products total="1">
333
+ <product thumbnailUrl="http://www.cafepress.com/cp/search/image.aspx?p=421890026&amp;i=37155487" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_prod/pg_1/p_2843381.421890026/pNo_421890026/id_37155487" productTypeNumber="90" item="Sticker (Bumper)" price="$5.48" productNumber="421890026" />
334
+ </products>
335
+ </searchResultItem>
336
+ <searchResultItem type="IMAGE" mediaUrl="http://images.cafepress.com/image/35635206_125x125.jpg" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_details/pg_1/id_35635206/hlv_1" mediaId="35635206">
337
+ <products total="1">
338
+ <product thumbnailUrl="http://www.cafepress.com/cp/search/image.aspx?p=408471111&amp;i=35635206" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_prod/pg_1/p_2759676.408471111/pNo_408471111/id_35635206" productTypeNumber="162" item="Oversized Wall Calendar" price="$25.00" productNumber="408471111" />
339
+ </products>
340
+ </searchResultItem>
341
+ <searchResultItem type="IMAGE" mediaUrl="http://images.cafepress.com/image/26803405_125x125.jpg" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_details/pg_1/id_26803405/hlv_1" mediaId="26803405">
342
+ <products total="3">
343
+ <product thumbnailUrl="http://www.cafepress.com/cp/search/image.aspx?p=243212091&amp;i=26803405" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_prod/pg_1/p_1073097.243212091/pNo_243212091/id_26803405" productTypeNumber="152" item="Dark T-Shirt" price="$23.99" productNumber="243212091" />
344
+ <product thumbnailUrl="http://www.cafepress.com/cp/search/image.aspx?p=243212060&amp;i=26803405" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_prod/pg_1/p_1073097.243212060/pNo_243212060/id_26803405" productTypeNumber="155" item="Long Sleeve Dark T-Shirt" price="$28.99" productNumber="243212060" />
345
+ <product thumbnailUrl="http://www.cafepress.com/cp/search/image.aspx?p=243212009&amp;i=26803405" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_prod/pg_1/p_1073097.243212009/pNo_243212009/id_26803405" productTypeNumber="161" item="Women's Dark T-Shirt" price="$24.99" productNumber="243212009" />
346
+ </products>
347
+ </searchResultItem>
348
+ <searchResultItem type="IMAGE" mediaUrl="http://images.cafepress.com/image/35487326_125x125.jpg" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_details/pg_1/id_35487326/hlv_1" mediaId="35487326">
349
+ <products total="3">
350
+ <product thumbnailUrl="http://www.cafepress.com/cp/search/image.aspx?p=412718724&amp;i=35487326" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_prod/pg_1/p_4405912.412718724/pNo_412718724/id_35487326" productTypeNumber="75" item="Wall Calendar" price="$17.99" productNumber="412718724" />
351
+ <product thumbnailUrl="http://www.cafepress.com/cp/search/image.aspx?p=410812270&amp;i=35487326" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_prod/pg_1/p_4405912.410812270/pNo_410812270/id_35487326" productTypeNumber="3" item="Mousepad " price="$11.99" productNumber="410812270" />
352
+ <product thumbnailUrl="http://www.cafepress.com/cp/search/image.aspx?p=404356012&amp;i=35487326" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_prod/pg_1/p_4405912.404356012/pNo_404356012/id_35487326" productTypeNumber="193" item="Greeting Cards (Pk of 20)" price="$33.99" productNumber="404356012" />
353
+ </products>
354
+ </searchResultItem>
355
+ <searchResultItem type="IMAGE" mediaUrl="http://images.cafepress.com/image/11697392_125x125.jpg" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_details/pg_1/id_11697392/hlv_1" mediaId="11697392">
356
+ <products total="3">
357
+ <product thumbnailUrl="http://www.cafepress.com/cp/search/image.aspx?p=51899147&amp;i=11697392" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_prod/pg_1/p_1598521.51899147/pNo_51899147/id_11697392" productTypeNumber="11" item="Stein" price="$15.99" productNumber="51899147" />
358
+ <product thumbnailUrl="http://www.cafepress.com/cp/search/image.aspx?p=51899146&amp;i=11697392" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_prod/pg_1/p_1598521.51899146/pNo_51899146/id_11697392" productTypeNumber="0" item="Mug " price="$12.99" productNumber="51899146" />
359
+ <product thumbnailUrl="http://www.cafepress.com/cp/search/image.aspx?p=51899145&amp;i=11697392" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_prod/pg_1/p_1598521.51899145/pNo_51899145/id_11697392" productTypeNumber="1" item="Large Mug " price="$13.99" productNumber="51899145" />
360
+ </products>
361
+ </searchResultItem>
362
+ <searchResultItem type="IMAGE" mediaUrl="http://images.cafepress.com/image/33157630_125x125.jpg" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_details/pg_1/id_33157630/hlv_1" mediaId="33157630">
363
+ <products total="1">
364
+ <product thumbnailUrl="http://www.cafepress.com/cp/search/image.aspx?p=364368007&amp;i=33157630" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_prod/pg_1/p_3693532.364368007/pNo_364368007/id_33157630" productTypeNumber="100" item="Journal" price="$14.49" productNumber="364368007" />
365
+ </products>
366
+ </searchResultItem>
367
+ <searchResultItem type="IMAGE" mediaUrl="http://images.cafepress.com/image/33143756_125x125.jpg" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_details/pg_1/id_33143756/hlv_1" mediaId="33143756">
368
+ <products total="3">
369
+ <product thumbnailUrl="http://www.cafepress.com/cp/search/image.aspx?p=363980759&amp;i=33143756" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_prod/pg_1/p_3693532.363980759/pNo_363980759/id_33143756" productTypeNumber="147" item="Framed Tile" price="$13.49" productNumber="363980759" />
370
+ <product thumbnailUrl="http://www.cafepress.com/cp/search/image.aspx?p=363980761&amp;i=33143756" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_prod/pg_1/p_3693532.363980761/pNo_363980761/id_33143756" productTypeNumber="86" item="Keepsake Box" price="$24.99" productNumber="363980761" />
371
+ <product thumbnailUrl="http://www.cafepress.com/cp/search/image.aspx?p=363980760&amp;i=33143756" marketplaceUrl="http://www.cafepress.com/buy/dog/-/pv_design_prod/pg_1/p_3693532.363980760/pNo_363980760/id_33143756" productTypeNumber="125" item="Throw Pillow" price="$20.99" productNumber="363980760" />
372
+ </products>
373
+ </searchResultItem>
374
+ </mainResults>
375
+ <searchQuery>
376
+ <searchString>dog</searchString>
377
+ </searchQuery>
378
+ <subtopics>
379
+ <subtopic>pets</subtopic>
380
+ <subtopic>pet</subtopic>
381
+ <subtopic>canine</subtopic>
382
+ <subtopic>puppy</subtopic>
383
+ <subtopic>gifts</subtopic>
384
+ <subtopic>animals</subtopic>
385
+ <subtopic>art</subtopic>
386
+ <subtopic>breeds</subtopic>
387
+ <subtopic>breed</subtopic>
388
+ <subtopic>humor</subtopic>
389
+ </subtopics>
390
+ </searchResultSet>
@@ -0,0 +1 @@
1
+ --colour
@@ -0,0 +1,11 @@
1
+ begin
2
+ require 'spec'
3
+ rescue LoadError
4
+ require 'rubygems' unless ENV['NO_RUBYGEMS']
5
+ gem 'rspec'
6
+ require 'spec'
7
+ end
8
+
9
+ $:.unshift(File.dirname(__FILE__) + '/../lib')
10
+ require 'pp'
11
+ require 'cafepress-search'
@@ -0,0 +1,21 @@
1
+ begin
2
+ require 'spec'
3
+ rescue LoadError
4
+ require 'rubygems' unless ENV['NO_RUBYGEMS']
5
+ require 'spec'
6
+ end
7
+ begin
8
+ require 'spec/rake/spectask'
9
+ rescue LoadError
10
+ puts <<-EOS
11
+ To use rspec for testing you must install rspec gem:
12
+ gem install rspec
13
+ EOS
14
+ exit(0)
15
+ end
16
+
17
+ desc "Run the specs under spec/"
18
+ Spec::Rake::SpecTask.new do |t|
19
+ t.spec_opts = ['--options', "spec/spec.opts"]
20
+ t.spec_files = FileList['spec/**/*_spec.rb']
21
+ end
metadata ADDED
@@ -0,0 +1,112 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: cafepress-search
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.0
5
+ platform: ruby
6
+ authors:
7
+ - Britt Crawford
8
+ - Dimple Joseph
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+
13
+ date: 2009-12-17 00:00:00 -08:00
14
+ default_executable:
15
+ dependencies:
16
+ - !ruby/object:Gem::Dependency
17
+ name: happymapper
18
+ type: :runtime
19
+ version_requirement:
20
+ version_requirements: !ruby/object:Gem::Requirement
21
+ requirements:
22
+ - - ">="
23
+ - !ruby/object:Gem::Version
24
+ version: "0"
25
+ version:
26
+ - !ruby/object:Gem::Dependency
27
+ name: 0.3.0
28
+ type: :runtime
29
+ version_requirement:
30
+ version_requirements: !ruby/object:Gem::Requirement
31
+ requirements:
32
+ - - ">="
33
+ - !ruby/object:Gem::Version
34
+ version: "0"
35
+ version:
36
+ - !ruby/object:Gem::Dependency
37
+ name: hoe
38
+ type: :development
39
+ version_requirement:
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ requirements:
42
+ - - ">="
43
+ - !ruby/object:Gem::Version
44
+ version: 2.3.1
45
+ version:
46
+ description: |-
47
+ A client library for the Cafepress search API that allows you to search for
48
+ designs and products on Cafepress.com
49
+ email:
50
+ - bcrawford@cafepress.com
51
+ - djoseph@cafepress.com
52
+ executables: []
53
+
54
+ extensions: []
55
+
56
+ extra_rdoc_files:
57
+ - History.txt
58
+ - Manifest.txt
59
+ - PostInstall.txt
60
+ files:
61
+ - History.txt
62
+ - Manifest.txt
63
+ - PostInstall.txt
64
+ - README.rdoc
65
+ - Rakefile
66
+ - lib/cafepress-search.rb
67
+ - lib/cafepress/search/client.rb
68
+ - lib/cafepress/search/product.rb
69
+ - lib/cafepress/search/search_result.rb
70
+ - lib/cafepress/search/search_result_set.rb
71
+ - script/console
72
+ - script/destroy
73
+ - script/generate
74
+ - spec/cafepress-search/client_spec.rb
75
+ - spec/cafepress-search/product_spec.rb
76
+ - spec/cafepress-search/search_result_set_spec.rb
77
+ - spec/cafepress-search/search_result_spec.rb
78
+ - spec/data/dog_search.xml
79
+ - spec/spec.opts
80
+ - spec/spec_helper.rb
81
+ - tasks/rspec.rake
82
+ has_rdoc: true
83
+ homepage: http://github.com/cafepress/cafepress-search
84
+ licenses: []
85
+
86
+ post_install_message: PostInstall.txt
87
+ rdoc_options:
88
+ - --main
89
+ - README.rdoc
90
+ require_paths:
91
+ - lib
92
+ required_ruby_version: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: "0"
97
+ version:
98
+ required_rubygems_version: !ruby/object:Gem::Requirement
99
+ requirements:
100
+ - - ">="
101
+ - !ruby/object:Gem::Version
102
+ version: "0"
103
+ version:
104
+ requirements: []
105
+
106
+ rubyforge_project: cafepress-search
107
+ rubygems_version: 1.3.5
108
+ signing_key:
109
+ specification_version: 3
110
+ summary: A client library for the Cafepress search API that allows you to search for designs and products on Cafepress.com
111
+ test_files: []
112
+