vast_api 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,26 @@
1
+ class VastApi
2
+ class Categories
3
+ module Category
4
+ # Convert a selected node to a Hash. It accepts a CSS3 Selector as an attribute.
5
+ # Returns the hash.
6
+ def categories
7
+ if self['id']
8
+ hash = {}
9
+ self.element_children.each do |node|
10
+ node.extend(Category)
11
+ hash[node['id']] = {
12
+ :name => node['name'],
13
+ :count => node['count']
14
+ }
15
+ if self.element_children.length > 0
16
+ cats = node.categories
17
+ hash[node['id']][:children] = cats unless cats.empty?
18
+ end
19
+ end
20
+ # Return the hash
21
+ hash
22
+ end
23
+ end
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,24 @@
1
+ class VastApi
2
+ class Listings < VastApi::Base
3
+ def query
4
+ if @query.nil?
5
+ @query = {}
6
+ @xml.at('//o:Query').attributes.each do |name,value|
7
+ @query[name] = value.value
8
+ end
9
+ end
10
+ @query
11
+ end
12
+
13
+ def self.get(url)
14
+ Entry.new(Nokogiri::XML(open(url)).at('entry'))
15
+ end
16
+
17
+ private
18
+ def populate
19
+ @xml.css("entry").each do |entry|
20
+ self << Entry.new(entry)
21
+ end
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,81 @@
1
+ class VastApi
2
+ class Listings
3
+ class Entry
4
+ def initialize(doc)
5
+ @doc = doc
6
+ @attributes = {}
7
+ end
8
+
9
+ def [](var_name)
10
+ @attributes[var_name] ||=
11
+ if %W{id author link feeds updated published}.index(var_name)
12
+ self.send(var_name)
13
+ elsif %W{ title }.index(var_name)
14
+ get_var(var_name)
15
+ else
16
+ get_var("//v:#{var_name}")
17
+ end
18
+ end
19
+
20
+ def attributes
21
+ vast_links
22
+ @doc.children.each do |item|
23
+ next if item.name == 'links'
24
+ if %W{id author link feeds updated published}.index(var_name)
25
+ self.send(var_name)
26
+ else
27
+ @attributes[item.name] ||= item.content
28
+ end
29
+ end
30
+ @attributes
31
+ end
32
+
33
+ def id
34
+ @attributes['id'] ||= get_var('//v:item_id')
35
+ end
36
+
37
+ def link
38
+ @attributes['link'] ||= get_var('id')
39
+ end
40
+
41
+ def author
42
+ @attributes['author'] ||= get_children(@doc.at('author'))
43
+ end
44
+
45
+ def updated
46
+ @attributes["updated"] ||= DateTime.strptime(@doc.at("updated").content)
47
+ end
48
+
49
+ def published
50
+ @attributes["published"] ||= DateTime.strptime(@doc.at("published").content)
51
+ end
52
+
53
+ def vast_links
54
+ @attributes["vast_links"] = @doc.css('link').map do |ln|
55
+ ln.attributes
56
+ end
57
+ end
58
+ private
59
+
60
+ def get_var(var_name)
61
+ if var = @doc.at(var_name)
62
+ var.text
63
+ else
64
+ nil
65
+ end
66
+ end
67
+
68
+ def get_children(var)
69
+ hash = {}
70
+ var.children.each do |item|
71
+ hash[item.name] = item.content
72
+ end
73
+ hash
74
+ end
75
+
76
+ def method_missing(sym, *args, &block)
77
+ self[sym.to_s]
78
+ end
79
+ end
80
+ end
81
+ end
@@ -0,0 +1,439 @@
1
+ ---
2
+ - !ruby/struct:VCR::HTTPInteraction
3
+ request: !ruby/struct:VCR::Request
4
+ method: :get
5
+ uri: http://data.vast.com:80/listings/-/item_vehicle/bike?
6
+ body:
7
+ headers:
8
+ response: !ruby/struct:VCR::Response
9
+ status: !ruby/struct:VCR::ResponseStatus
10
+ code: 200
11
+ message: OK
12
+ headers:
13
+ date:
14
+ - Fri, 18 Mar 2011 18:14:30 GMT
15
+ server:
16
+ - Apache
17
+ x-powered-by:
18
+ - PHP/5.2.14
19
+ content-type:
20
+ - text/xml; charset=utf-8
21
+ accept-ranges:
22
+ - bytes
23
+ cache-control:
24
+ - private, max-age=300
25
+ age:
26
+ - "0"
27
+ expires:
28
+ - Fri, 18 Mar 2011 18:19:30 GMT
29
+ transfer-encoding:
30
+ - chunked
31
+ body: |
32
+ <?xml version="1.0" encoding="utf-8"?>
33
+ <feed xmlns='http://www.w3.org/2005/Atom' xmlns:o='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:v='http://data.vast.com/ns/listings'>
34
+ <id>http://data.vast.com/listings/-/item_vehicle/bike</id>
35
+ <link rel="self" type="application/atom+xml" href="http://data.vast.com/listings/-/item_vehicle/bike"/>
36
+ <updated>2011-03-18T18:54:42+01:00</updated>
37
+ <title type="text">SAMPLE - Bicycles For Sale</title>
38
+ <subtitle>These are sample Vast API results. These results may only be used for testing and demonstrating applications and components based on the Vast API. All other uses are prohibited. For results suitable for other uses, including commercial use, please include your API key using the apikey parameter. You may apply for an API key at http://www.vast.com/partner</subtitle>
39
+ <logo>http://www.vast.com/resources/vast_v3/images/vast_logo.jpg</logo>
40
+ <o:totalResults>852</o:totalResults>
41
+ <o:startIndex>1</o:startIndex>
42
+ <o:itemsPerPage>10</o:itemsPerPage>
43
+ <o:Query xmlns:v="http://data.vast.com/ns/search" role="request" v:range="50" startIndex="1" totalResults="10" v:feed="listings" v:category="item_vehicle,bike" />
44
+ <v:stem/>
45
+ <v:extra/>
46
+ <v:site_count>9</v:site_count>
47
+ <v:location/>
48
+ <entry>
49
+ <id>http://data.vast.com/listings/-5132760670951876731/-/item_vehicle/bike</id>
50
+ <updated>2011-03-10T09:03:11+01:00</updated>
51
+ <published>2011-03-08T09:02:56+01:00</published>
52
+ <author>
53
+ <name>www.sample.com</name>
54
+ </author>
55
+ <title type="text">SAMPLE - Colnago Ferrari CX 60 bicycle</title>
56
+ <v:vertical>general</v:vertical>
57
+ <v:category>item_vehicle%2Cbike</v:category>
58
+ <v:item_id>-5132760670951876731</v:item_id>
59
+ <v:location precision="city">
60
+ <v:state>Vi</v:state>
61
+ <v:country>Australia</v:country>
62
+ <v:zip></v:zip>
63
+ <v:distance>0</v:distance>
64
+ <v:city>Shepparton</v:city>
65
+ <v:lat precision="unknown">-36.383000</v:lat>
66
+ <v:lon precision="unknown">145.400000</v:lon>
67
+ <v:address></v:address>
68
+ </v:location>
69
+ <v:price type="money" symbol="$" currency="USD" value="0"/>
70
+ <v:currency type="text">USD</v:currency>
71
+ <link rel="self" type="application/atom+xml" href="http://data.vast.com/listings/-5132760670951876731/-/item_vehicle/bike?apikey="/>
72
+ <link rel="via" type="text/html" title="www.sample.com" href="http://details.vast.com/details/item_vehicle/bike/ob-Nzeze2zBRLy3WbBh09E8m4HRCw==/"/>
73
+ <link rel="alternate" type="text/html" title="Colnago Ferrari CX 60 bicycle" href="http://details.vast.com/details/item_vehicle/bike/ob-Nzeze2zBRLy3WbBh09E8m4HRCw==/"/>
74
+ <link rel="http://feedback.vast.com" type="text/html" title="Report incorrect result" href="http://www.vast.com/ajax/report?id=-5132760670951876731&amp;category=item_vehicle/bike&amp;apikey="/>
75
+ <v:domain_name type="text">www.sample.com</v:domain_name>
76
+ <v:year type="number"></v:year>
77
+ <v:image_url type="image/jpeg">http://img.vast.com/128x96/-5132760670951876731</v:image_url>
78
+ <v:large_image_url type="image/jpeg">http://img.vast.com/320x240/-5132760670951876731</v:large_image_url>
79
+ <v:tiny_image_url type="image/jpeg">http://img.vast.com/59x44/-5132760670951876731</v:tiny_image_url>
80
+ <v:image_count>1</v:image_count>
81
+ <v:hasimage type="boolean">yes</v:hasimage>
82
+ <v:hosted type="boolean">no</v:hosted>
83
+ <v:hosted_type type="text">landing</v:hosted_type>
84
+ <v:description type="text">The Ferrari CX 60 bicycle is a MTB model dedicated to all Ferrari enthusiasts looking for an highly performing bicycle. This red Ferrari model features the sophisticated suspension system Rock Shox with W/ ball bearing Multilink which guarantees excellent comfort on all ground conditions. The Ferrari CX 60 is equipped with Suntour Epicon forks Shimano LX derailleurs and shifters ultra-light frame made from hydroformed aluminium and Shimano hydraulic disk Deore brakes. The CX 60 features Continental Explorer Pro 26 tires. The model is finished by Wellgo pedels double density grips and Ferrari Sport Edition microfiber saddle. The Ferrari CX 60 is perfect to face all kind of steep slopes without renouncing to comfort and style. The Ferrari CX 60 bicycle has been produced by Turbo with Colnago exclusively for Ferrari. Frame size M - 470 mm. Weight 138 kg approx. Colour red Ferrari Team Two-year guarantee.</v:description>
85
+ <content type="html">&lt;img src="http://img.vast.com/128x96/-5132760670951876731"&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;description:&lt;/strong&gt;The Ferrari CX 60 bicycle is a MTB model dedicated to all Ferrari enthusiasts looking for an highly performing bicycle. This red Ferrari model features the sophisticated suspension system Rock Shox with W/ ball bearing Multilink which guarantees excellent comfort on all ground conditions. The Ferrari CX 60 is equipped with Suntour Epicon forks Shimano LX derailleurs and shifters ultra-light frame made from hydroformed aluminium and Shimano hydraulic disk Deore brakes. The CX 60 features Continental Explorer Pro 26 tires. The model is finished by Wellgo pedels double density grips and Ferrari Sport Edition microfiber saddle. The Ferrari CX 60 is perfect to face all kind of steep slopes without renouncing to comfort and style. The Ferrari CX 60 bicycle has been produced by Turbo with Colnago exclusively for Ferrari. Frame size M - 470 mm. Weight 138 kg approx. Colour red Ferrari Team Two-year guarantee.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;price:&lt;/strong&gt;0&lt;/li&gt;&lt;li&gt;&lt;strong&gt;country:&lt;/strong&gt;Australia&lt;/li&gt;&lt;li&gt;&lt;strong&gt;state:&lt;/strong&gt;Vi&lt;/li&gt;&lt;li&gt;&lt;strong&gt;city:&lt;/strong&gt;Shepparton&lt;/li&gt;&lt;/ul&gt;</content>
86
+ </entry>
87
+ <entry>
88
+ <id>http://data.vast.com/listings/-4238914629158802920/-/item_vehicle/bike</id>
89
+ <updated>2011-03-10T21:16:05+01:00</updated>
90
+ <published>2011-02-23T21:15:47+01:00</published>
91
+ <author>
92
+ <name>www.sample.com</name>
93
+ </author>
94
+ <title type="text">SAMPLE - 2006 Honda CRF250R</title>
95
+ <v:vertical>general</v:vertical>
96
+ <v:category>item_vehicle%2Cbike</v:category>
97
+ <v:item_id>-4238914629158802920</v:item_id>
98
+ <v:location precision="unknown">
99
+ <v:state></v:state>
100
+ <v:country></v:country>
101
+ <v:zip></v:zip>
102
+ <v:distance>0</v:distance>
103
+ <v:city></v:city>
104
+ <v:lat precision="unknown"></v:lat>
105
+ <v:lon precision="unknown"></v:lon>
106
+ <v:address></v:address>
107
+ </v:location>
108
+ <v:price type="money" symbol="$" currency="USD" value="0"/>
109
+ <v:currency type="text">USD</v:currency>
110
+ <link rel="self" type="application/atom+xml" href="http://data.vast.com/listings/-4238914629158802920/-/item_vehicle/bike?apikey="/>
111
+ <link rel="via" type="text/html" title="www.sample.com" href="http://details.vast.com/details/item_vehicle/bike/ob-Nzeze2zBiL2XVGCMtNbLmINsYw==/"/>
112
+ <link rel="alternate" type="text/html" title="2006 Honda CRF250R" href="http://details.vast.com/details/item_vehicle/bike/ob-Nzeze2zBiL2XVGCMtNbLmINsYw==/"/>
113
+ <link rel="http://feedback.vast.com" type="text/html" title="Report incorrect result" href="http://www.vast.com/ajax/report?id=-4238914629158802920&amp;category=item_vehicle/bike&amp;apikey="/>
114
+ <v:domain_name type="text">www.sample.com</v:domain_name>
115
+ <v:year type="number"></v:year>
116
+ <v:image_url type="image/jpeg">http://img.vast.com/128x96/-4238914629158802920</v:image_url>
117
+ <v:large_image_url type="image/jpeg">http://img.vast.com/320x240/-4238914629158802920</v:large_image_url>
118
+ <v:tiny_image_url type="image/jpeg">http://img.vast.com/59x44/-4238914629158802920</v:tiny_image_url>
119
+ <v:image_count>1</v:image_count>
120
+ <v:hasimage type="boolean">yes</v:hasimage>
121
+ <v:hosted type="boolean">yes</v:hosted>
122
+ <v:hosted_type type="text">email</v:hosted_type>
123
+ <v:description type="text">new motor</v:description>
124
+ <content type="html">&lt;img src="http://img.vast.com/128x96/-4238914629158802920"&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;description:&lt;/strong&gt;new motor&lt;/li&gt;&lt;li&gt;&lt;strong&gt;price:&lt;/strong&gt;0&lt;/li&gt;&lt;/ul&gt;</content>
125
+ </entry>
126
+ <entry>
127
+ <id>http://data.vast.com/listings/-1209226737364711443/-/item_vehicle/bike</id>
128
+ <updated>2011-03-10T09:03:10+01:00</updated>
129
+ <published>2011-02-26T09:03:41+01:00</published>
130
+ <author>
131
+ <name>www.sample.com</name>
132
+ </author>
133
+ <title type="text">SAMPLE - 2009 trek 98 top fuel</title>
134
+ <v:vertical>general</v:vertical>
135
+ <v:category>item_vehicle%2Cbike</v:category>
136
+ <v:item_id>-1209226737364711443</v:item_id>
137
+ <v:location precision="zip">
138
+ <v:state>CA</v:state>
139
+ <v:country>United States</v:country>
140
+ <v:zip>92373</v:zip>
141
+ <v:distance>0</v:distance>
142
+ <v:city>Redlands</v:city>
143
+ <v:lat precision="unknown">34.048796</v:lat>
144
+ <v:lon precision="unknown">-117.172087</v:lon>
145
+ <v:address></v:address>
146
+ </v:location>
147
+ <v:price type="money" symbol="$" currency="USD" value="0"/>
148
+ <v:currency type="text">USD</v:currency>
149
+ <link rel="self" type="application/atom+xml" href="http://data.vast.com/listings/-1209226737364711443/-/item_vehicle/bike?apikey="/>
150
+ <link rel="via" type="text/html" title="www.sample.com" href="http://details.vast.com/details/item_vehicle/bike/ob-Nzeze2zBRLw3W2PGbRAQ1Bu0QA==/"/>
151
+ <link rel="alternate" type="text/html" title="2009 trek 98 top fuel" href="http://details.vast.com/details/item_vehicle/bike/ob-Nzeze2zBRLw3W2PGbRAQ1Bu0QA==/"/>
152
+ <link rel="http://feedback.vast.com" type="text/html" title="Report incorrect result" href="http://www.vast.com/ajax/report?id=-1209226737364711443&amp;category=item_vehicle/bike&amp;apikey="/>
153
+ <v:domain_name type="text">www.sample.com</v:domain_name>
154
+ <v:year type="number"></v:year>
155
+ <v:image_url type="image/jpeg">http://img.vast.com/128x96/-1209226737364711443</v:image_url>
156
+ <v:large_image_url type="image/jpeg">http://img.vast.com/320x240/-1209226737364711443</v:large_image_url>
157
+ <v:tiny_image_url type="image/jpeg">http://img.vast.com/59x44/-1209226737364711443</v:tiny_image_url>
158
+ <v:image_count>1</v:image_count>
159
+ <v:hasimage type="boolean">yes</v:hasimage>
160
+ <v:hosted type="boolean">no</v:hosted>
161
+ <v:hosted_type type="text">landing</v:hosted_type>
162
+ <v:description type="text">full carbon xt components croosmax rims tubeless tires</v:description>
163
+ <content type="html">&lt;img src="http://img.vast.com/128x96/-1209226737364711443"&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;description:&lt;/strong&gt;full carbon xt components croosmax rims tubeless tires&lt;/li&gt;&lt;li&gt;&lt;strong&gt;price:&lt;/strong&gt;0&lt;/li&gt;&lt;li&gt;&lt;strong&gt;country:&lt;/strong&gt;United States&lt;/li&gt;&lt;li&gt;&lt;strong&gt;state:&lt;/strong&gt;CA&lt;/li&gt;&lt;li&gt;&lt;strong&gt;zip:&lt;/strong&gt;92373&lt;/li&gt;&lt;li&gt;&lt;strong&gt;city:&lt;/strong&gt;Redlands&lt;/li&gt;&lt;/ul&gt;</content>
164
+ </entry>
165
+ <entry>
166
+ <id>http://data.vast.com/listings/5882224905579195812/-/item_vehicle/bike</id>
167
+ <updated>2011-03-10T21:16:23+01:00</updated>
168
+ <published>2010-10-17T21:15:50+02:00</published>
169
+ <author>
170
+ <name>www.sample.com</name>
171
+ </author>
172
+ <title type="text">SAMPLE - 2010 Peace Sport</title>
173
+ <v:vertical>general</v:vertical>
174
+ <v:category>item_vehicle%2Cbike</v:category>
175
+ <v:item_id>5882224905579195812</v:item_id>
176
+ <v:location precision="unknown">
177
+ <v:state></v:state>
178
+ <v:country></v:country>
179
+ <v:zip></v:zip>
180
+ <v:distance>0</v:distance>
181
+ <v:city></v:city>
182
+ <v:lat precision="unknown"></v:lat>
183
+ <v:lon precision="unknown"></v:lon>
184
+ <v:address></v:address>
185
+ </v:location>
186
+ <v:price type="money" symbol="$" currency="USD" value="0"/>
187
+ <v:currency type="text">USD</v:currency>
188
+ <link rel="self" type="application/atom+xml" href="http://data.vast.com/listings/5882224905579195812/-/item_vehicle/bike?apikey="/>
189
+ <link rel="via" type="text/html" title="www.sample.com" href="http://details.vast.com/details/item_vehicle/bike/ob-Nzeze2zBiLgHmIZmTDmRy8mLbw==/"/>
190
+ <link rel="alternate" type="text/html" title="2010 Peace Sport" href="http://details.vast.com/details/item_vehicle/bike/ob-Nzeze2zBiLgHmIZmTDmRy8mLbw==/"/>
191
+ <link rel="http://feedback.vast.com" type="text/html" title="Report incorrect result" href="http://www.vast.com/ajax/report?id=5882224905579195812&amp;category=item_vehicle/bike&amp;apikey="/>
192
+ <v:domain_name type="text">www.sample.com</v:domain_name>
193
+ <v:year type="number"></v:year>
194
+ <v:image_url type="image/jpeg">http://img.vast.com/128x96/5882224905579195812</v:image_url>
195
+ <v:large_image_url type="image/jpeg">http://img.vast.com/320x240/5882224905579195812</v:large_image_url>
196
+ <v:tiny_image_url type="image/jpeg">http://img.vast.com/59x44/5882224905579195812</v:tiny_image_url>
197
+ <v:image_count>1</v:image_count>
198
+ <v:hasimage type="boolean">yes</v:hasimage>
199
+ <v:hosted type="boolean">yes</v:hosted>
200
+ <v:hosted_type type="text">email</v:hosted_type>
201
+ <content type="html">&lt;img src="http://img.vast.com/128x96/5882224905579195812"&gt;&lt;ul&gt;&lt;/ul&gt;</content>
202
+ </entry>
203
+ <entry>
204
+ <id>http://data.vast.com/listings/8272359148043816207/-/item_vehicle/bike</id>
205
+ <updated>2011-03-10T09:03:07+01:00</updated>
206
+ <published>2011-02-02T09:03:48+01:00</published>
207
+ <author>
208
+ <name>www.sample.com</name>
209
+ </author>
210
+ <title type="text">SAMPLE - 2010 Cannondale Flash Carbon HiMod</title>
211
+ <v:vertical>general</v:vertical>
212
+ <v:category>item_vehicle%2Cbike</v:category>
213
+ <v:item_id>8272359148043816207</v:item_id>
214
+ <v:location precision="zip">
215
+ <v:state>CA</v:state>
216
+ <v:country>United States</v:country>
217
+ <v:zip>94114</v:zip>
218
+ <v:distance>0</v:distance>
219
+ <v:city>San Francisco</v:city>
220
+ <v:lat precision="unknown">37.758232</v:lat>
221
+ <v:lon precision="unknown">-122.436161</v:lon>
222
+ <v:address></v:address>
223
+ </v:location>
224
+ <v:price type="money" symbol="$" currency="USD" value="0"/>
225
+ <v:currency type="text">USD</v:currency>
226
+ <link rel="self" type="application/atom+xml" href="http://data.vast.com/listings/8272359148043816207/-/item_vehicle/bike?apikey="/>
227
+ <link rel="via" type="text/html" title="www.sample.com" href="http://details.vast.com/details/item_vehicle/bike/ob-Nzeze2zBRLgXhhYJy0g0CL1jHw==/"/>
228
+ <link rel="alternate" type="text/html" title="2010 Cannondale Flash Carbon HiMod" href="http://details.vast.com/details/item_vehicle/bike/ob-Nzeze2zBRLgXhhYJy0g0CL1jHw==/"/>
229
+ <link rel="http://feedback.vast.com" type="text/html" title="Report incorrect result" href="http://www.vast.com/ajax/report?id=8272359148043816207&amp;category=item_vehicle/bike&amp;apikey="/>
230
+ <v:domain_name type="text">www.sample.com</v:domain_name>
231
+ <v:year type="number"></v:year>
232
+ <v:image_url type="image/jpeg">http://img.vast.com/128x96/8272359148043816207</v:image_url>
233
+ <v:large_image_url type="image/jpeg">http://img.vast.com/320x240/8272359148043816207</v:large_image_url>
234
+ <v:tiny_image_url type="image/jpeg">http://img.vast.com/59x44/8272359148043816207</v:tiny_image_url>
235
+ <v:image_count>1</v:image_count>
236
+ <v:hasimage type="boolean">yes</v:hasimage>
237
+ <v:hosted type="boolean">no</v:hosted>
238
+ <v:hosted_type type="text">landing</v:hosted_type>
239
+ <v:description type="text">2010 Cannondale Flash Carbon 26 Hardtail custom built by me. Drivetrain includes Shimano XTR 9sp Shifters Shimano XTR rear derailleur Shimano XTR DynaSys 10sp front derailleur New Never Ridden FSA SLK Light 175mm BB30 double crankset New Never Ridden and Shimano XT 11-34 cassette. Magura Marta SL brakes 140mm rear/160mm front New Never Ridden. Wheels are Stan's Crest rims laced to DT Swiss 240 hubs front and rear. Tires are Maxxis Ignitor on the front with a Maxxis Aspen on the rear. Both wheels are setup tubeless and I have never flatted. The Seatpost is a Thomson Elite 410 zero setback seatpost in black. The saddle is a Fizik Aliante Gamma. Stem is a Thomson X4 stem in 110mm 0 degree rise. The fork is a RockShox SID XX 100mm with XLoc remote lockout. Handlebars are FSA SLK Bars New never ridden with Cannondale Foam lock-on grips New Never Ridden.</v:description>
240
+ <content type="html">&lt;img src="http://img.vast.com/128x96/8272359148043816207"&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;description:&lt;/strong&gt;2010 Cannondale Flash Carbon 26 Hardtail custom built by me. Drivetrain includes Shimano XTR 9sp Shifters Shimano XTR rear derailleur Shimano XTR DynaSys 10sp front derailleur New Never Ridden FSA SLK Light 175mm BB30 double crankset New Never Ridden and Shimano XT 11-34 cassette. Magura Marta SL brakes 140mm rear/160mm front New Never Ridden. Wheels are Stan's Crest rims laced to DT Swiss 240 hubs front and rear. Tires are Maxxis Ignitor on the front with a Maxxis Aspen on the rear. Both wheels are setup tubeless and I have never flatted. The Seatpost is a Thomson Elite 410 zero setback seatpost in black. The saddle is a Fizik Aliante Gamma. Stem is a Thomson X4 stem in 110mm 0 degree rise. The fork is a RockShox SID XX 100mm with XLoc remote lockout. Handlebars are FSA SLK Bars New never ridden with Cannondale Foam lock-on grips New Never Ridden.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;price:&lt;/strong&gt;0&lt;/li&gt;&lt;li&gt;&lt;strong&gt;country:&lt;/strong&gt;United States&lt;/li&gt;&lt;li&gt;&lt;strong&gt;state:&lt;/strong&gt;CA&lt;/li&gt;&lt;li&gt;&lt;strong&gt;zip:&lt;/strong&gt;94114&lt;/li&gt;&lt;li&gt;&lt;strong&gt;city:&lt;/strong&gt;San Francisco&lt;/li&gt;&lt;/ul&gt;</content>
241
+ </entry>
242
+ <entry>
243
+ <id>http://data.vast.com/listings/-4499312207695301837/-/item_vehicle/bike</id>
244
+ <updated>2011-03-10T21:16:23+01:00</updated>
245
+ <published>2011-01-01T21:16:06+01:00</published>
246
+ <author>
247
+ <name>www.sample.com</name>
248
+ </author>
249
+ <title type="text">SAMPLE - 2010 Peace Sport</title>
250
+ <v:vertical>general</v:vertical>
251
+ <v:category>item_vehicle%2Cbike</v:category>
252
+ <v:item_id>-4499312207695301837</v:item_id>
253
+ <v:location precision="unknown">
254
+ <v:state></v:state>
255
+ <v:country></v:country>
256
+ <v:zip></v:zip>
257
+ <v:distance>0</v:distance>
258
+ <v:city></v:city>
259
+ <v:lat precision="unknown"></v:lat>
260
+ <v:lon precision="unknown"></v:lon>
261
+ <v:address></v:address>
262
+ </v:location>
263
+ <v:price type="money" symbol="$" currency="USD" value="0"/>
264
+ <v:currency type="text">USD</v:currency>
265
+ <link rel="self" type="application/atom+xml" href="http://data.vast.com/listings/-4499312207695301837/-/item_vehicle/bike?apikey="/>
266
+ <link rel="via" type="text/html" title="www.sample.com" href="http://details.vast.com/details/item_vehicle/bike/ob-Nzeze2zBiLgHVEzAtmMdyQO4AQ==/"/>
267
+ <link rel="alternate" type="text/html" title="2010 Peace Sport" href="http://details.vast.com/details/item_vehicle/bike/ob-Nzeze2zBiLgHVEzAtmMdyQO4AQ==/"/>
268
+ <link rel="http://feedback.vast.com" type="text/html" title="Report incorrect result" href="http://www.vast.com/ajax/report?id=-4499312207695301837&amp;category=item_vehicle/bike&amp;apikey="/>
269
+ <v:domain_name type="text">www.sample.com</v:domain_name>
270
+ <v:year type="number"></v:year>
271
+ <v:image_url type="image/jpeg">http://img.vast.com/128x96/-4499312207695301837</v:image_url>
272
+ <v:large_image_url type="image/jpeg">http://img.vast.com/320x240/-4499312207695301837</v:large_image_url>
273
+ <v:tiny_image_url type="image/jpeg">http://img.vast.com/59x44/-4499312207695301837</v:tiny_image_url>
274
+ <v:image_count>1</v:image_count>
275
+ <v:hasimage type="boolean">yes</v:hasimage>
276
+ <v:hosted type="boolean">yes</v:hosted>
277
+ <v:hosted_type type="text">email</v:hosted_type>
278
+ <v:description type="text">No Tag or Motorcycle License Required, 50cc</v:description>
279
+ <content type="html">&lt;img src="http://img.vast.com/128x96/-4499312207695301837"&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;description:&lt;/strong&gt;No Tag or Motorcycle License Required, 50cc&lt;/li&gt;&lt;/ul&gt;</content>
280
+ </entry>
281
+ <entry>
282
+ <id>http://data.vast.com/listings/-5546581770265204677/-/item_vehicle/bike</id>
283
+ <updated>2011-03-10T09:03:07+01:00</updated>
284
+ <published>2011-01-30T09:03:28+01:00</published>
285
+ <author>
286
+ <name>www.sample.com</name>
287
+ </author>
288
+ <title type="text">SAMPLE - Cannondale Road Tandem</title>
289
+ <v:vertical>general</v:vertical>
290
+ <v:category>item_vehicle%2Cbike</v:category>
291
+ <v:item_id>-5546581770265204677</v:item_id>
292
+ <v:location precision="zip">
293
+ <v:state>NM</v:state>
294
+ <v:country>United States</v:country>
295
+ <v:zip>87532</v:zip>
296
+ <v:distance>0</v:distance>
297
+ <v:city>Espanola</v:city>
298
+ <v:lat precision="unknown">35.976840</v:lat>
299
+ <v:lon precision="unknown">-106.150560</v:lon>
300
+ <v:address></v:address>
301
+ </v:location>
302
+ <v:price type="money" symbol="$" currency="USD" value="0"/>
303
+ <v:currency type="text">USD</v:currency>
304
+ <link rel="self" type="application/atom+xml" href="http://data.vast.com/listings/-5546581770265204677/-/item_vehicle/bike?apikey="/>
305
+ <link rel="via" type="text/html" title="www.sample.com" href="http://details.vast.com/details/item_vehicle/bike/ob-Nzeze2zBRLgXWZTZixE22WNNEQ==/"/>
306
+ <link rel="alternate" type="text/html" title="Cannondale Road Tandem" href="http://details.vast.com/details/item_vehicle/bike/ob-Nzeze2zBRLgXWZTZixE22WNNEQ==/"/>
307
+ <link rel="http://feedback.vast.com" type="text/html" title="Report incorrect result" href="http://www.vast.com/ajax/report?id=-5546581770265204677&amp;category=item_vehicle/bike&amp;apikey="/>
308
+ <v:domain_name type="text">www.sample.com</v:domain_name>
309
+ <v:year type="number"></v:year>
310
+ <v:image_url type="image/jpeg">http://img.vast.com/128x96/-5546581770265204677</v:image_url>
311
+ <v:large_image_url type="image/jpeg">http://img.vast.com/320x240/-5546581770265204677</v:large_image_url>
312
+ <v:tiny_image_url type="image/jpeg">http://img.vast.com/59x44/-5546581770265204677</v:tiny_image_url>
313
+ <v:image_count>1</v:image_count>
314
+ <v:hasimage type="boolean">yes</v:hasimage>
315
+ <v:hosted type="boolean">no</v:hosted>
316
+ <v:hosted_type type="text">landing</v:hosted_type>
317
+ <v:description type="text">Fast road tandem great cond. many upgrades Alpha Q carbon fork Ultegra fr. sidepull rr. V-brake w/ stoker actuated Avid rr. disc. 40sp Phil hubs in Velocity Deep V rims Ultegra triple 9sp. w/XTR rr.der. size Jumbo/Large 60cm/54cm fits 6' captain 5'4 stoker. No cages pedals and saddles optional.</v:description>
318
+ <content type="html">&lt;img src="http://img.vast.com/128x96/-5546581770265204677"&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;description:&lt;/strong&gt;Fast road tandem great cond. many upgrades Alpha Q carbon fork Ultegra fr. sidepull rr. V-brake w/ stoker actuated Avid rr. disc. 40sp Phil hubs in Velocity Deep V rims Ultegra triple 9sp. w/XTR rr.der. size Jumbo/Large 60cm/54cm fits 6' captain 5'4 stoker. No cages pedals and saddles optional.&lt;/li&gt;&lt;li&gt;&lt;strong&gt;price:&lt;/strong&gt;0&lt;/li&gt;&lt;li&gt;&lt;strong&gt;country:&lt;/strong&gt;United States&lt;/li&gt;&lt;li&gt;&lt;strong&gt;state:&lt;/strong&gt;NM&lt;/li&gt;&lt;li&gt;&lt;strong&gt;zip:&lt;/strong&gt;87532&lt;/li&gt;&lt;li&gt;&lt;strong&gt;city:&lt;/strong&gt;Espanola&lt;/li&gt;&lt;/ul&gt;</content>
319
+ </entry>
320
+ <entry>
321
+ <id>http://data.vast.com/listings/7746972001580110582/-/item_vehicle/bike</id>
322
+ <updated>2011-03-10T21:16:23+01:00</updated>
323
+ <published>2011-01-01T21:16:07+01:00</published>
324
+ <author>
325
+ <name>www.sample.com</name>
326
+ </author>
327
+ <title type="text">SAMPLE - 2010 Yamaha B09</title>
328
+ <v:vertical>general</v:vertical>
329
+ <v:category>item_vehicle%2Cbike</v:category>
330
+ <v:item_id>7746972001580110582</v:item_id>
331
+ <v:location precision="unknown">
332
+ <v:state></v:state>
333
+ <v:country></v:country>
334
+ <v:zip></v:zip>
335
+ <v:distance>0</v:distance>
336
+ <v:city></v:city>
337
+ <v:lat precision="unknown"></v:lat>
338
+ <v:lon precision="unknown"></v:lon>
339
+ <v:address></v:address>
340
+ </v:location>
341
+ <v:price type="money" symbol="$" currency="USD" value="0"/>
342
+ <v:currency type="text">USD</v:currency>
343
+ <link rel="self" type="application/atom+xml" href="http://data.vast.com/listings/7746972001580110582/-/item_vehicle/bike?apikey="/>
344
+ <link rel="via" type="text/html" title="www.sample.com" href="http://details.vast.com/details/item_vehicle/bike/ob-Nzeze2zBiLgHEU3BYzuYO7OYbw==/"/>
345
+ <link rel="alternate" type="text/html" title="2010 Yamaha B09" href="http://details.vast.com/details/item_vehicle/bike/ob-Nzeze2zBiLgHEU3BYzuYO7OYbw==/"/>
346
+ <link rel="http://feedback.vast.com" type="text/html" title="Report incorrect result" href="http://www.vast.com/ajax/report?id=7746972001580110582&amp;category=item_vehicle/bike&amp;apikey="/>
347
+ <v:domain_name type="text">www.sample.com</v:domain_name>
348
+ <v:year type="number"></v:year>
349
+ <v:image_url type="image/jpeg">http://img.vast.com/128x96/7746972001580110582</v:image_url>
350
+ <v:large_image_url type="image/jpeg">http://img.vast.com/320x240/7746972001580110582</v:large_image_url>
351
+ <v:tiny_image_url type="image/jpeg">http://img.vast.com/59x44/7746972001580110582</v:tiny_image_url>
352
+ <v:image_count>1</v:image_count>
353
+ <v:hasimage type="boolean">yes</v:hasimage>
354
+ <v:hosted type="boolean">yes</v:hosted>
355
+ <v:hosted_type type="text">email</v:hosted_type>
356
+ <v:description type="text">No Tag or Motorcycle License Required, 50cc</v:description>
357
+ <content type="html">&lt;img src="http://img.vast.com/128x96/7746972001580110582"&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;description:&lt;/strong&gt;No Tag or Motorcycle License Required, 50cc&lt;/li&gt;&lt;/ul&gt;</content>
358
+ </entry>
359
+ <entry>
360
+ <id>http://data.vast.com/listings/5743599774919863040/-/item_vehicle/bike</id>
361
+ <updated>2011-03-10T09:03:08+01:00</updated>
362
+ <published>2011-02-04T09:03:19+01:00</published>
363
+ <author>
364
+ <name>www.sample.com</name>
365
+ </author>
366
+ <title type="text">SAMPLE - huffy catalina girls 3 speed</title>
367
+ <v:vertical>general</v:vertical>
368
+ <v:category>item_vehicle%2Cbike</v:category>
369
+ <v:item_id>5743599774919863040</v:item_id>
370
+ <v:location precision="zip">
371
+ <v:state>TN</v:state>
372
+ <v:country>United States</v:country>
373
+ <v:zip>37095</v:zip>
374
+ <v:distance>0</v:distance>
375
+ <v:city>Liberty</v:city>
376
+ <v:lat precision="unknown">36.005827</v:lat>
377
+ <v:lon precision="unknown">-85.968089</v:lon>
378
+ <v:address></v:address>
379
+ </v:location>
380
+ <v:price type="money" symbol="$" currency="USD" value="0"/>
381
+ <v:currency type="text">USD</v:currency>
382
+ <link rel="self" type="application/atom+xml" href="http://data.vast.com/listings/5743599774919863040/-/item_vehicle/bike?apikey="/>
383
+ <link rel="via" type="text/html" title="www.sample.com" href="http://details.vast.com/details/item_vehicle/bike/ob-Nzeze2zBRLiHkUCcwRTLyNA0Pw==/"/>
384
+ <link rel="alternate" type="text/html" title="huffy catalina girls 3 speed" href="http://details.vast.com/details/item_vehicle/bike/ob-Nzeze2zBRLiHkUCcwRTLyNA0Pw==/"/>
385
+ <link rel="http://feedback.vast.com" type="text/html" title="Report incorrect result" href="http://www.vast.com/ajax/report?id=5743599774919863040&amp;category=item_vehicle/bike&amp;apikey="/>
386
+ <v:domain_name type="text">www.sample.com</v:domain_name>
387
+ <v:year type="number"></v:year>
388
+ <v:image_url type="image/jpeg">http://img.vast.com/128x96/5743599774919863040</v:image_url>
389
+ <v:large_image_url type="image/jpeg">http://img.vast.com/320x240/5743599774919863040</v:large_image_url>
390
+ <v:tiny_image_url type="image/jpeg">http://img.vast.com/59x44/5743599774919863040</v:tiny_image_url>
391
+ <v:image_count>1</v:image_count>
392
+ <v:hasimage type="boolean">yes</v:hasimage>
393
+ <v:hosted type="boolean">no</v:hosted>
394
+ <v:hosted_type type="text">landing</v:hosted_type>
395
+ <v:description type="text">has all its original parts</v:description>
396
+ <content type="html">&lt;img src="http://img.vast.com/128x96/5743599774919863040"&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;description:&lt;/strong&gt;has all its original parts&lt;/li&gt;&lt;li&gt;&lt;strong&gt;price:&lt;/strong&gt;0&lt;/li&gt;&lt;li&gt;&lt;strong&gt;country:&lt;/strong&gt;United States&lt;/li&gt;&lt;li&gt;&lt;strong&gt;state:&lt;/strong&gt;TN&lt;/li&gt;&lt;li&gt;&lt;strong&gt;zip:&lt;/strong&gt;37095&lt;/li&gt;&lt;li&gt;&lt;strong&gt;city:&lt;/strong&gt;Liberty&lt;/li&gt;&lt;/ul&gt;</content>
397
+ </entry>
398
+ <entry>
399
+ <id>http://data.vast.com/listings/-2515976981155663662/-/item_vehicle/bike</id>
400
+ <updated>2011-03-10T21:16:26+01:00</updated>
401
+ <published>2010-10-13T21:16:21+02:00</published>
402
+ <author>
403
+ <name>www.sample.com</name>
404
+ </author>
405
+ <title type="text">SAMPLE - 2005 Harley Davidson Harley Davidson</title>
406
+ <v:vertical>general</v:vertical>
407
+ <v:category>item_vehicle%2Cbike</v:category>
408
+ <v:item_id>-2515976981155663662</v:item_id>
409
+ <v:location precision="unknown">
410
+ <v:state></v:state>
411
+ <v:country></v:country>
412
+ <v:zip></v:zip>
413
+ <v:distance>0</v:distance>
414
+ <v:city></v:city>
415
+ <v:lat precision="unknown"></v:lat>
416
+ <v:lon precision="unknown"></v:lon>
417
+ <v:address></v:address>
418
+ </v:location>
419
+ <v:price type="money" symbol="$" currency="USD" value="0"/>
420
+ <v:currency type="text">USD</v:currency>
421
+ <link rel="self" type="application/atom+xml" href="http://data.vast.com/listings/-2515976981155663662/-/item_vehicle/bike?apikey="/>
422
+ <link rel="via" type="text/html" title="www.sample.com" href="http://details.vast.com/details/item_vehicle/bike/ob-Nzeze2zBiLjXVpucHci7md0N1g==/"/>
423
+ <link rel="alternate" type="text/html" title="2005 Harley Davidson Harley Davidson" href="http://details.vast.com/details/item_vehicle/bike/ob-Nzeze2zBiLjXVpucHci7md0N1g==/"/>
424
+ <link rel="http://feedback.vast.com" type="text/html" title="Report incorrect result" href="http://www.vast.com/ajax/report?id=-2515976981155663662&amp;category=item_vehicle/bike&amp;apikey="/>
425
+ <v:domain_name type="text">www.sample.com</v:domain_name>
426
+ <v:year type="number"></v:year>
427
+ <v:image_url type="image/jpeg">http://img.vast.com/128x96/-2515976981155663662</v:image_url>
428
+ <v:large_image_url type="image/jpeg">http://img.vast.com/320x240/-2515976981155663662</v:large_image_url>
429
+ <v:tiny_image_url type="image/jpeg">http://img.vast.com/59x44/-2515976981155663662</v:tiny_image_url>
430
+ <v:image_count>1</v:image_count>
431
+ <v:hasimage type="boolean">yes</v:hasimage>
432
+ <v:hosted type="boolean">yes</v:hosted>
433
+ <v:hosted_type type="text">email</v:hosted_type>
434
+ <v:description type="text">Only 2557 miles, one owner, fuel injected, with windshield!</v:description>
435
+ <content type="html">&lt;img src="http://img.vast.com/128x96/-2515976981155663662"&gt;&lt;ul&gt;&lt;li&gt;&lt;strong&gt;description:&lt;/strong&gt;Only 2557 miles, one owner, fuel injected, with windshield!&lt;/li&gt;&lt;li&gt;&lt;strong&gt;price:&lt;/strong&gt;0&lt;/li&gt;&lt;/ul&gt;</content>
436
+ </entry>
437
+ </feed>
438
+
439
+ http_version: "1.1"