howcast 0.7.4 → 0.7.15

Sign up to get free protection for your applications and to get access to all the features.
Files changed (47) hide show
  1. data/.gitignore +6 -0
  2. data/.rspec +2 -0
  3. data/.rvmrc +1 -0
  4. data/Gemfile +2 -0
  5. data/Gemfile.lock +38 -0
  6. data/{README.markdown → README.md} +44 -13
  7. data/Rakefile +6 -39
  8. data/VERSION +1 -1
  9. data/fixtures/categories.xml +2230 -0
  10. data/fixtures/category.1585.xml +24 -0
  11. data/fixtures/homepage.staff_videos.xml +315 -0
  12. data/fixtures/invalid.api_key.xml +6 -0
  13. data/fixtures/playlist.4566.xml +484 -0
  14. data/fixtures/users.someone.profile.videos.xml +440 -0
  15. data/fixtures/video.233.generated.xml +1563 -0
  16. data/fixtures/video.233.xml +830 -0
  17. data/howcast.gemspec +31 -90
  18. data/lib/howcast.rb +1 -1
  19. data/lib/howcast/client.rb +1 -1
  20. data/lib/howcast/client/base.rb +232 -188
  21. data/lib/howcast/client/category.rb +31 -13
  22. data/lib/howcast/client/homepage.rb +10 -8
  23. data/lib/howcast/client/marker.rb +2 -0
  24. data/lib/howcast/client/playlist.rb +2 -0
  25. data/lib/howcast/client/search.rb +11 -11
  26. data/lib/howcast/client/type.rb +48 -0
  27. data/lib/howcast/client/user.rb +2 -0
  28. data/lib/howcast/client/utils.rb +53 -0
  29. data/lib/howcast/client/video.rb +39 -25
  30. data/lib/howcast/ext/string.rb +8 -0
  31. data/lib/howcast/hpricot/elements.rb +22 -0
  32. data/lib/howcast/version.rb +3 -0
  33. data/script/github-test.rb +24 -0
  34. data/spec/howcast/client/base_spec.rb +2 -2
  35. data/spec/howcast/client/category_spec.rb +41 -2
  36. data/spec/howcast/client/homepage_spec.rb +8 -8
  37. data/spec/howcast/client/playlist_spec.rb +6 -4
  38. data/spec/howcast/client/search_spec.rb +7 -8
  39. data/spec/howcast/client/user_spec.rb +9 -7
  40. data/spec/howcast/client/video_spec.rb +106 -22
  41. data/spec/spec_helper.rb +4 -7
  42. data/spec/xml_fixtures_helper.rb +20 -2895
  43. metadata +94 -28
  44. data/CHANGELOG +0 -108
  45. data/Manifest +0 -19
  46. data/howcast-0.7.3.gem +0 -0
  47. data/spec/string_matchers_helper.rb +0 -22
@@ -23,8 +23,8 @@ describe Howcast::Client, "homepage" do
23
23
  end
24
24
 
25
25
  it "should establish a connection with the correct homepage videos url" do
26
- @hc.should_receive(:open).with(equivalent_uri("http://www.howcast.com/homepage/staff_videos.xml?api_key=myapikey")).and_return(homepage_videos_xml)
27
- @hc.should_receive(:open).with(equivalent_uri("http://www.howcast.com/homepage/staff_playlists.xml?api_key=myapikey")).and_return(homepage_playlists_xml)
26
+ @hc.should_receive(:open).with(URI.parse "http://api.howcast.com/homepage/staff_videos.xml?api_key=myapikey").and_return(homepage_videos_xml)
27
+ @hc.should_receive(:open).with(URI.parse "http://api.howcast.com/homepage/staff_playlists.xml?api_key=myapikey").and_return(homepage_playlists_xml)
28
28
  @hc.homepage
29
29
  end
30
30
 
@@ -36,19 +36,19 @@ describe Howcast::Client, "homepage" do
36
36
  end
37
37
 
38
38
  it "should set the videos attribute in the homepage model response" do
39
- @hc.should_receive(:open).with(equivalent_uri("http://www.howcast.com/homepage/staff_videos.xml?api_key=myapikey")).and_return(homepage_videos_xml)
40
- @hc.should_receive(:open).with(equivalent_uri("http://www.howcast.com/homepage/staff_playlists.xml?api_key=myapikey")).and_return(homepage_playlists_xml)
39
+ @hc.should_receive(:open).with(URI.parse "http://api.howcast.com/homepage/staff_videos.xml?api_key=myapikey").and_return(homepage_videos_xml)
40
+ @hc.should_receive(:open).with(URI.parse "http://api.howcast.com/homepage/staff_playlists.xml?api_key=myapikey").and_return(homepage_playlists_xml)
41
41
  videos = @hc.homepage.videos
42
42
  videos.size.should == 8
43
- videos[0].title.should == "How To Display Impeccable Manners"
43
+ videos[0].title.should_not be_empty
44
44
  end
45
45
 
46
46
  it "should set the playlists attribute in the homepage model response" do
47
- @hc.should_receive(:open).with(equivalent_uri("http://www.howcast.com/homepage/staff_videos.xml?api_key=myapikey")).and_return(homepage_videos_xml)
48
- @hc.should_receive(:open).with(equivalent_uri("http://www.howcast.com/homepage/staff_playlists.xml?api_key=myapikey")).and_return(homepage_playlists_xml)
47
+ @hc.should_receive(:open).with(URI.parse "http://api.howcast.com/homepage/staff_videos.xml?api_key=myapikey").and_return(homepage_videos_xml)
48
+ @hc.should_receive(:open).with(URI.parse "http://api.howcast.com/homepage/staff_playlists.xml?api_key=myapikey").and_return(homepage_playlists_xml)
49
49
  playlists = @hc.homepage.playlists
50
50
  playlists.size.should == 2
51
- playlists[0].title.should == "Pranks For the Memories"
51
+ playlists[0].title.should_not be_empty
52
52
  playlists[0].playlist_thumbnail_url.should == "http://img.howcast.com/thumbnails/2721/ppn_milkhouse_buried_cubicle_prank_sd_medium.jpg"
53
53
  end
54
54
  end
@@ -20,7 +20,7 @@ describe Howcast::Client, "playlist" do
20
20
  end
21
21
 
22
22
  it "should establish a connection with the correct playlist url" do
23
- @hc.should_receive(:open).with(equivalent_uri("http://www.howcast.com/playlists/12345.xml?api_key=myapikey")).and_return(playlist_xml)
23
+ @hc.should_receive(:open).with(URI.parse "http://api.howcast.com/playlists/12345.xml?api_key=myapikey").and_return(playlist_xml)
24
24
  @hc.playlist(12345)
25
25
  end
26
26
 
@@ -40,7 +40,7 @@ describe Howcast::Client, "playlist" do
40
40
  end
41
41
 
42
42
  it "should set the description attribute in the playlist model response" do
43
- @hc.playlist(12345).description.should == "Become an eggs-pert! We can teach you how to test eggs for freshness, crack them, and hard-boil, poach, scramble, or fry them perfectly. We'll even let you in on a little trick for hard-boiling eggs so they peel easily."
43
+ @hc.playlist(12345).description.should_not be_empty
44
44
  end
45
45
 
46
46
  it "should set the thumbnail url in the playlist model response" do
@@ -49,7 +49,9 @@ describe Howcast::Client, "playlist" do
49
49
 
50
50
  it "should set the videos attribute in the playlist model response" do
51
51
  videos = @hc.playlist(12345).videos
52
- videos.size.should == 8
53
- videos[0].title.should == "How To Separate an Egg"
52
+ videos.size.should == 9
53
+ videos.each do |video|
54
+ video.title.should_not be_empty
55
+ end
54
56
  end
55
57
  end
@@ -35,22 +35,22 @@ describe Howcast::Client, "search" do
35
35
  it_should_behave_like "a search method"
36
36
 
37
37
  it "should establish a connection with search.xml?q=something&view=videos when query is 'something'" do
38
- @hc.should_receive(:open).with(equivalent_uri("http://www.howcast.com/search.xml?q=something&view=videos&api_key=myapikey")).and_return(videos_xml)
38
+ @hc.should_receive(:open).with(URI.parse "http://api.howcast.com/search.xml?q=something&view=videos&api_key=myapikey").and_return(videos_xml)
39
39
  @hc.search("something")
40
40
  end
41
41
 
42
42
  it "should establish a connection with search.xml?q=something&view=videos&page=2 when query is 'something' and :page => 2" do
43
- @hc.should_receive(:open).with(equivalent_uri("http://www.howcast.com/search.xml?q=something&view=videos&page=2&api_key=myapikey")).and_return(videos_xml)
43
+ @hc.should_receive(:open).with(URI.parse "http://api.howcast.com/search.xml?page=2&q=something&view=videos&api_key=myapikey").and_return(videos_xml)
44
44
  @hc.search("something", :page => 2)
45
45
  end
46
46
 
47
47
  it "should escape the query when esablishing the connection" do
48
- @hc.should_receive(:open).with(equivalent_uri("http://www.howcast.com/search.xml?q=something+%26+something&view=videos&api_key=myapikey")).and_return(videos_xml)
48
+ @hc.should_receive(:open).with(URI.parse "http://api.howcast.com/search.xml?q=something+%26+something&view=videos&api_key=myapikey").and_return(videos_xml)
49
49
  @hc.search("something & something")
50
50
  end
51
51
 
52
52
  it "should append mode=extended when passed in as an option" do
53
- @hc.should_receive(:open).with(equivalent_uri("http://www.howcast.com/search.xml?q=something&mode=extended&view=videos&api_key=myapikey")).and_return(videos_xml)
53
+ @hc.should_receive(:open).with(URI.parse "http://api.howcast.com/search.xml?mode=extended&q=something&view=videos&api_key=myapikey").and_return(videos_xml)
54
54
  @hc.search("something", :mode => :extended)
55
55
  end
56
56
 
@@ -68,18 +68,17 @@ describe Howcast::Client, "advanced_search" do
68
68
  it_should_behave_like "a search method"
69
69
 
70
70
  it "should establish a connection to the search path on howcast.com" do
71
- @hc.should_receive(:open).with(to_s_like(%r{^http://www.howcast.com/search.xml})).and_return(videos_xml)
71
+ @hc.should_receive(:open).with(URI.parse "http://api.howcast.com/search.xml?api_key=myapikey").and_return(videos_xml)
72
72
  @hc.advanced_search({})
73
73
  end
74
74
 
75
75
  it "should url-encode any passed params" do
76
- @hc.should_receive(:open).with(to_s_like(%r{q=something})).and_return(videos_xml)
76
+ @hc.should_receive(:open).with(URI.parse "http://api.howcast.com/search.xml?q=something&api_key=myapikey").and_return(videos_xml)
77
77
  @hc.advanced_search :q => "something"
78
78
  end
79
79
 
80
80
  it "should not create default params" do
81
- @hc.should_receive(:open).with(to_s_like(%r{mode=foo})).and_return(videos_xml)
82
- @hc.should_not_receive(:open).with(to_s_like(%r{view=}))
81
+ @hc.should_receive(:open).with(URI.parse "http://api.howcast.com/search.xml?mode=foo&api_key=myapikey").and_return(videos_xml)
83
82
  @hc.advanced_search :mode => "foo"
84
83
  end
85
84
  end
@@ -20,12 +20,12 @@ describe Howcast::Client, "user" do
20
20
  end
21
21
 
22
22
  it "should establish a connection with the correct user url" do
23
- @hc.should_receive(:open).with(equivalent_uri("http://www.howcast.com/users/someone/profile/videos.xml?api_key=myapikey")).and_return(user_videos_xml)
23
+ @hc.should_receive(:open).with(URI.parse "http://api.howcast.com/users/someone/profile/videos.xml?api_key=myapikey").and_return(user_videos_xml)
24
24
  @hc.user('someone')
25
25
  end
26
26
 
27
27
  it "should support a paging option" do
28
- @hc.should_receive(:open).with(equivalent_uri("http://www.howcast.com/users/someone/profile/videos/2.xml?api_key=myapikey")).and_return(user_videos_xml)
28
+ @hc.should_receive(:open).with(URI.parse "http://api.howcast.com/users/someone/profile/videos/2.xml?api_key=myapikey").and_return(user_videos_xml)
29
29
  @hc.user('someone', :page => 2)
30
30
  end
31
31
 
@@ -49,20 +49,22 @@ describe Howcast::Client, "user" do
49
49
  end
50
50
 
51
51
  it "should set the views attribute in the user model response" do
52
- @hc.user('someone').views.should == "63"
52
+ @hc.user('someone').views.should_not be_empty
53
53
  end
54
54
 
55
55
  it "should set the count attribute in the user model response" do
56
- @hc.user('someone').count.should == "1"
56
+ @hc.user('someone').count.should_not be_empty
57
57
  end
58
58
 
59
59
  it "should set the thumbnail url attribute in the user model response" do
60
- @hc.user('someone').thumbnail_url.should == "http://img.howcast.com/images/icons/user-medium.gif"
60
+ @hc.user('someone').thumbnail_url.should_not be_empty
61
61
  end
62
62
 
63
63
  it "should set the videos attribute in the user model response" do
64
64
  videos = @hc.user('someone').videos
65
- videos.size.should == 1
66
- videos[0].title.should == "How To Remove Bike Handlebar Grips"
65
+ videos.size.should == 12
66
+ videos.each do |video|
67
+ video.title.should_not be_empty
68
+ end
67
69
  end
68
70
  end
@@ -20,7 +20,7 @@ describe Howcast::Client, "video" do
20
20
  end
21
21
 
22
22
  it "should establish a connection with the correct video url" do
23
- @hc.should_receive(:open).with(equivalent_uri("http://www.howcast.com/videos/2.xml?api_key=myapikey")).and_return(video_xml)
23
+ @hc.should_receive(:open).with(URI.parse "http://api.howcast.com/videos/2.xml?api_key=myapikey").and_return(video_xml)
24
24
  @hc.video(2)
25
25
  end
26
26
 
@@ -36,6 +36,32 @@ describe Howcast::Client, "video" do
36
36
  @hc.video(2).should be_nil
37
37
  end
38
38
 
39
+ it "should set the mature-content flag in the video model response" do
40
+ @hc.video(2).mature_content?.should == true
41
+ end
42
+
43
+ it "should set the ads-allowed flag in the video model response" do
44
+ @hc.video(2).ads_allowed?.should == true
45
+ end
46
+
47
+ it "should set the type attribute in the video model response" do
48
+ type = @hc.video(2).type
49
+ type.instance_of?(Howcast::Client::Type).should be_true
50
+ type.kind.should == "HowcastOriginalGuide"
51
+ type.status.should == "proprietary"
52
+ type.name.should == "HowcastGuide"
53
+ end
54
+
55
+ it "should set the playlist-memberships attribute in the video model response" do
56
+ memberships = @hc.video(2).playlist_memberships
57
+ memberships.size.should == 9
58
+ memberships.first.instance_of?(Howcast::Client::Playlist).should be_true
59
+ memberships.each do |membership|
60
+ membership.id.should_not be_empty
61
+ membership.title.should_not be_empty
62
+ end
63
+ end
64
+
39
65
  it "should set the embed attribute in the video model response" do
40
66
  @hc.video(2).embed.should == %(<object width="425" height="352" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" id="howcastplayer"><param name="movie" value="http://www.howcast.com/flash/howcast_player.swf?file=233"></param><param name="allowFullScreen" value="true"></param><param name="allowScriptAccess" value="always"></param><embed src="http://www.howcast.com/flash/howcast_player.swf?file=233" type="application/x-shockwave-flash" width="425" height="352" allowFullScreen="true" allowScriptAccess="always" ></embed></object>)
41
67
  end
@@ -45,7 +71,7 @@ describe Howcast::Client, "video" do
45
71
  end
46
72
 
47
73
  it "should set the views attribute in the video model response" do
48
- @hc.video(2).views.should == "38"
74
+ @hc.video(2).views.should_not be_empty
49
75
  end
50
76
 
51
77
  it "should set the badges in the video model response" do
@@ -57,11 +83,11 @@ describe Howcast::Client, "video" do
57
83
  end
58
84
 
59
85
  it "should set the rating attribute in the video model response" do
60
- @hc.video(2).rating.should == "2.0"
86
+ @hc.video(2).rating.should_not be_empty
61
87
  end
62
88
 
63
89
  it "should set the description attribute in the video model response" do
64
- @hc.video(2).description.should == "You recognize the Noble Pose as the dreaded \"sit-and-reach\" from your childhood gym class. A sample <a href=\"howcast.com\">link</a>"
90
+ @hc.video(2).description.should_not be_empty
65
91
  end
66
92
 
67
93
  it "should set the permalink attribute in the video model response" do
@@ -79,6 +105,15 @@ describe Howcast::Client, "video" do
79
105
  hierarchy[0].name.should == "Health & Nutrition"
80
106
  hierarchy[1].name.should == "Exercise"
81
107
  hierarchy[2].name.should == "Yoga"
108
+ hierarchy[0].parent_id.should be_nil
109
+ hierarchy[1].parent_id.should_not be_nil
110
+ hierarchy[2].parent_id.should_not be_nil
111
+ hierarchy[0].id.should_not be_nil
112
+ hierarchy[1].id.should_not be_nil
113
+ hierarchy[2].id.should_not be_nil
114
+ hierarchy[0].permalink.should match(/http/)
115
+ hierarchy[1].permalink.should match(/http/)
116
+ hierarchy[2].permalink.should match(/http/)
82
117
  end
83
118
 
84
119
  it "should set the ingredients in the video model response" do
@@ -92,25 +127,22 @@ describe Howcast::Client, "video" do
92
127
 
93
128
  it "should set the markers in the video model response" do
94
129
  markers = @hc.video(2).markers
95
- markers.size.should == 4
130
+ markers.size.should == 9
96
131
  markers.first.instance_of?(Howcast::Client::Marker).should be_true
97
- markers[0].type.should == "Step"
98
- markers[0].textile_text.should == "Sit down on the mat with your legs straight out in front of you."
99
- markers[1].type.should == "Tip"
100
- markers[1].textile_text.should == "It's okay to slightly bend at the knees while extending into this pose."
101
- markers[2].type.should == "Step"
102
- markers[2].textile_text.should == "To release the pose, inhale, and raise your torso straight up with your arms stretched overhead, then exhale and lower your hands to the floor. Now to conquer kickball..."
103
- markers[3].type.should == "Fact"
104
- markers[3].textile_text.should == "Pop nobility Sting recently admitted that he and his wife's claims of yoga-inspired marathons of tantric sex was all a joke, saying, \"I have frantic sex, not tantric sex.\""
132
+ markers.each do |marker|
133
+ marker.textile_text.should_not be_empty
134
+ marker.type.should =~ /^(Fact|Step|Tip)$/
135
+ end
105
136
  end
106
137
 
107
138
  it "should set the related videos in the video model response" do
108
139
  related = @hc.video(2).related_videos
109
- related.size.should == 2
140
+ related.size.should == 15
110
141
  related.first.instance_of?(Howcast::Client::Video).should be_true
111
- related[0].title.should == "How To Do the Extended Triangle Pose"
112
- related[0].category_hierarchy.last.name.should == "Yoga"
113
- related[1].title.should == "How To Do a Seated Spinal Twist Pose"
142
+ related.each do |video|
143
+ video.title.should_not be_empty
144
+ video.category_hierarchy.should_not be_empty
145
+ end
114
146
  end
115
147
  end
116
148
 
@@ -120,27 +152,27 @@ describe Howcast::Client, "videos" do
120
152
  end
121
153
 
122
154
  it "should establish a connection with videos/most_recent/howcast_studios.xml by default" do
123
- @hc.should_receive(:open).with(equivalent_uri("http://www.howcast.com/videos/most_recent/howcast_studios.xml?api_key=myapikey")).and_return(videos_xml)
155
+ @hc.should_receive(:open).with(URI.parse "http://api.howcast.com/videos/most_recent/howcast_studios.xml?api_key=myapikey").and_return(videos_xml)
124
156
  @hc.videos
125
157
  end
126
158
 
127
159
  it "should establish a connection with videos/most_recent/howcast_studios/2.xml when :page => 2" do
128
- @hc.should_receive(:open).with(equivalent_uri("http://www.howcast.com/videos/most_recent/howcast_studios/2.xml?api_key=myapikey")).and_return(videos_xml)
160
+ @hc.should_receive(:open).with(URI.parse "http://api.howcast.com/videos/most_recent/howcast_studios/2.xml?api_key=myapikey").and_return(videos_xml)
129
161
  @hc.videos(:page => 2)
130
162
  end
131
163
 
132
164
  it "should establish a connection with videos/most_viewed/howcast_studios.xml when :sort => most_viewed" do
133
- @hc.should_receive(:open).with(equivalent_uri("http://www.howcast.com/videos/most_viewed/howcast_studios.xml?api_key=myapikey")).and_return(videos_xml)
165
+ @hc.should_receive(:open).with(URI.parse "http://api.howcast.com/videos/most_viewed/howcast_studios.xml?api_key=myapikey").and_return(videos_xml)
134
166
  @hc.videos(:sort => "most_viewed")
135
167
  end
136
168
 
137
169
  it "should establish a connection with videos/most_viewed/directors_program.xml when :sort => most_viewed and :filter => directors_program" do
138
- @hc.should_receive(:open).with(equivalent_uri("http://www.howcast.com/videos/most_viewed/directors_program.xml?api_key=myapikey")).and_return(videos_xml)
170
+ @hc.should_receive(:open).with(URI.parse "http://api.howcast.com/videos/most_viewed/directors_program.xml?api_key=myapikey").and_return(videos_xml)
139
171
  @hc.videos(:sort => "most_viewed", :filter => "directors_program")
140
172
  end
141
173
 
142
174
  it "should establish a connection with videos/top_rated/directors_program.xml when :sort => most_viewed and :filter => directors_program" do
143
- @hc.should_receive(:open).with(equivalent_uri("http://www.howcast.com/videos/top_rated/directors_program.xml?api_key=myapikey")).and_return(videos_xml)
175
+ @hc.should_receive(:open).with(URI.parse "http://api.howcast.com/videos/top_rated/directors_program.xml?api_key=myapikey").and_return(videos_xml)
144
176
  @hc.videos(:sort => "top_rated", :filter => "directors_program")
145
177
  end
146
178
 
@@ -164,3 +196,55 @@ describe Howcast::Client, "videos" do
164
196
  videos.last.permalink.should == "http://www.howcast.com/videos/866-How-To-Make-a-Water-Gun-Alarm-Clock"
165
197
  end
166
198
  end
199
+
200
+ describe Howcast::Client, "XML features" do
201
+ before do
202
+ @hc = Howcast::Client.new(:key => "myapikey")
203
+ @hc.stub!(:open).and_return(video_xml)
204
+ end
205
+
206
+ it "should have a to_doc method" do
207
+ @hc.video(2).should respond_to :to_doc
208
+ end
209
+
210
+ it "should have a to_doc method" do
211
+ @hc.video(2).should respond_to :to_xml
212
+ end
213
+
214
+ it "should return an xml document" do
215
+ doc = @hc.video(2).to_doc
216
+ doc.should be_an_instance_of Nokogiri::XML::Document
217
+ end
218
+
219
+ it "should map attributes to the xml document" do
220
+ video = @hc.video(2)
221
+ doc = video.to_doc
222
+ doc.xpath("/video/id").text.should == video.id
223
+ doc.xpath("/video/title").text.should == video.title
224
+ doc.xpath("/video/permalink").text.should == video.permalink
225
+ doc.xpath("/video/thumbnail_url").text.should == video.thumbnail_url
226
+ doc.xpath("/video/category_id").text.should == video.category_id
227
+ doc.xpath("/video/views").text.should == video.views
228
+ doc.xpath("/video/username").text.should == video.username
229
+ doc.xpath("/video/duration").text.should == video.duration
230
+ doc.xpath("/video/created_at").text.should == video.created_at
231
+ doc.xpath("/video/rating").text.should == video.rating
232
+ doc.xpath("/video/description").text.should == video.description
233
+ doc.xpath("/video/width").text.should == video.width
234
+ doc.xpath("/video/height").text.should == video.height
235
+ doc.xpath("/video/badges").text.should == video.badges
236
+ doc.xpath("/video/easy_steps").text.should == video.easy_steps.to_s
237
+ doc.xpath("/video/embed/object").to_xml.should == Nokogiri::XML(video.embed).root.to_xml
238
+ doc.xpath("/video/category_hierarchy/category").length.should == video.category_hierarchy.length
239
+ doc.xpath("/video/ingredients/ingredient").length.should == video.ingredients.length
240
+ doc.xpath("/video/markers/marker").length.should == video.markers.length
241
+ doc.xpath("/video/related_videos/video").length.should == video.related_videos.length
242
+ doc.xpath("/video/filename").text.should == video.filename
243
+ doc.xpath("/video/mature_content").text.should == video.mature_content?.to_s
244
+ doc.xpath("/video/ads_allowed").text.should == video.ads_allowed?.to_s
245
+ doc.xpath("/video/playlist_memberships/playlist").length.should == video.playlist_memberships.length
246
+ doc.xpath("/video/type/name").text.should == video.type.name
247
+ doc.xpath("/video/type/kind").text.should == video.type.kind
248
+ doc.xpath("/video/type/status").text.should == video.type.status
249
+ end
250
+ end
@@ -1,21 +1,18 @@
1
1
  ENV["RAILS_ENV"] ||= "test"
2
2
  begin
3
- require 'spec'
3
+ require 'rspec'
4
4
  rescue LoadError
5
5
  require 'rubygems'
6
- require 'spec'
6
+ require 'rspec'
7
7
  end
8
8
 
9
9
  require File.expand_path(File.dirname(__FILE__) + "/../lib/howcast")
10
10
  require File.expand_path(File.dirname(__FILE__) + "/output_capture_helper")
11
11
  require File.expand_path(File.dirname(__FILE__) + "/xml_fixtures_helper")
12
- require File.expand_path(File.dirname(__FILE__) + "/string_matchers_helper")
13
12
 
14
-
15
- Spec::Runner.configure do |config|
16
- config.include(OutputCaptureHelper)
13
+ RSpec.configure do |config|
14
+ config.include(OutputCaptureHelper) # HACK
17
15
  config.include(XmlFixturesHelper)
18
- config.include(StringMatchersHelper)
19
16
  config.before :each do
20
17
  start_capturing_output
21
18
  end
@@ -1,13 +1,9 @@
1
1
  module XmlFixturesHelper
2
2
  def invalid_api_key_xml
3
- <<-INVALID
4
- <?xml version="1.0" encoding="UTF-8"?>
5
- <howcast version="0.1">
6
- <error>Invalid API Key</error>
7
- </howcast>
8
- INVALID
3
+ @invalid_api_key_xml ||= load_fixture 'invalid.api_key.xml'
9
4
  end
10
5
 
6
+ # TODO:
11
7
  def blank_video_xml
12
8
  <<-VID
13
9
  <?xml version="1.0" encoding="UTF-8"?>
@@ -18,6 +14,7 @@ module XmlFixturesHelper
18
14
  VID
19
15
  end
20
16
 
17
+ # TODO:
21
18
  def blank_guides_xml
22
19
  <<-GUID
23
20
  <?xml version="1.0" encoding="UTF-8"?>
@@ -28,6 +25,7 @@ module XmlFixturesHelper
28
25
  GUID
29
26
  end
30
27
 
28
+ # TODO:
31
29
  def blank_videos_xml
32
30
  <<-VID
33
31
  <?xml version="1.0" encoding="UTF-8"?>
@@ -39,2403 +37,22 @@ module XmlFixturesHelper
39
37
  end
40
38
 
41
39
  def category_xml
42
- <<-CAT
43
- <?xml version="1.0" encoding="UTF-8"?>
44
- <howcast version="0.1">
45
- <category>
46
- <id>1585</id>
47
- <name>General African Travel</name>
48
- <parent-id>1584</parent-id>
49
- <permalink>http://www.howcast.com/categories/1585-General-African-Travel</permalink>
50
- <parents>
51
- <category>
52
- <id>1571</id>
53
- <name>Travel</name>
54
- <permalink>http://www.howcast.com/categories/1571-Travel</permalink>
55
- </category>
56
- <category>
57
- <id>1584</id>
58
- <name>African Travel</name>
59
- <parent-id>1571</parent-id>
60
- <permalink>http://www.howcast.com/categories/1584-African-Travel</permalink>
61
- </category>
62
- </parents>
63
- <subcategories>
64
- </subcategories>
65
- </category>
66
- </howcast>
67
- CAT
40
+ @category_xml ||= load_fixture 'category.1585.xml'
68
41
  end
69
42
 
70
43
  def categories_xml
71
- <<-CAT
72
- <?xml version="1.0" encoding="UTF-8"?>
73
- <howcast version="0.1">
74
- <title>Howcast - Categories</title>
75
- <categories>
76
- <category>
77
- <id>1</id>
78
- <name>Arts &amp; Media</name>
79
- <parent-id nil="true"></parent-id>
80
- <permalink>http://www.howcast.com/categories/1-Arts-and-Media</permalink>
81
- <parents>
82
- </parents>
83
- <subcategories>
84
- <category>
85
- <id>6</id>
86
- <name>Animation Techniques</name>
87
- <parent-id>1</parent-id>
88
- <permalink>http://www.howcast.com/categories/6-Animation-Techniques</permalink>
89
- </category>
90
- <category>
91
- <id>16</id>
92
- <name>Art Techniques</name>
93
- <parent-id>1</parent-id>
94
- <permalink>http://www.howcast.com/categories/16-Art-Techniques</permalink>
95
- </category>
96
- <category>
97
- <id>1060</id>
98
- <name>Books &amp; Reading</name>
99
- <parent-id>1</parent-id>
100
- <permalink>http://www.howcast.com/categories/1060-Books-and-Reading</permalink>
101
- </category>
102
- <category>
103
- <id>2</id>
104
- <name>Cartooning &amp; Manga Techniques</name>
105
- <parent-id>1</parent-id>
106
- <permalink>http://www.howcast.com/categories/2-Cartooning-and-Manga-Techniques</permalink>
107
- </category>
108
- <category>
109
- <id>9</id>
110
- <name>Film, Video &amp; Television</name>
111
- <parent-id>1</parent-id>
112
- <permalink>http://www.howcast.com/categories/9-Film-Video-and-Television</permalink>
113
- </category>
114
- <category>
115
- <id>1073</id>
116
- <name>Fine Art</name>
117
- <parent-id>1</parent-id>
118
- <permalink>http://www.howcast.com/categories/1073-Fine-Art</permalink>
119
- </category>
120
- <category>
121
- <id>1081</id>
122
- <name>Museums</name>
123
- <parent-id>1</parent-id>
124
- <permalink>http://www.howcast.com/categories/1081-Museums</permalink>
125
- </category>
126
- <category>
127
- <id>21</id>
128
- <name>Photography Techniques</name>
129
- <parent-id>1</parent-id>
130
- <permalink>http://www.howcast.com/categories/21-Photography-Techniques</permalink>
131
- </category>
132
- <category>
133
- <id>1054</id>
134
- <name>Radio</name>
135
- <parent-id>1</parent-id>
136
- <permalink>http://www.howcast.com/categories/1054-Radio</permalink>
137
- </category>
138
- </subcategories>
139
- </category>
140
- <category>
141
- <id>30</id>
142
- <name>Business &amp; Finance</name>
143
- <parent-id nil="true"></parent-id>
144
- <permalink>http://www.howcast.com/categories/30-Business-and-Finance</permalink>
145
- <parents>
146
- </parents>
147
- <subcategories>
148
- <category>
149
- <id>31</id>
150
- <name>Advertising &amp; Marketing</name>
151
- <parent-id>30</parent-id>
152
- <permalink>http://www.howcast.com/categories/31-Advertising-and-Marketing</permalink>
153
- </category>
154
- <category>
155
- <id>71</id>
156
- <name>Buying &amp; Selling a Home</name>
157
- <parent-id>30</parent-id>
158
- <permalink>http://www.howcast.com/categories/71-Buying-and-Selling-a-Home</permalink>
159
- </category>
160
- <category>
161
- <id>32</id>
162
- <name>Insurance</name>
163
- <parent-id>30</parent-id>
164
- <permalink>http://www.howcast.com/categories/32-Insurance</permalink>
165
- </category>
166
- <category>
167
- <id>66</id>
168
- <name>Investing</name>
169
- <parent-id>30</parent-id>
170
- <permalink>http://www.howcast.com/categories/66-Investing</permalink>
171
- </category>
172
- <category>
173
- <id>37</id>
174
- <name>Management &amp; Business Skills</name>
175
- <parent-id>30</parent-id>
176
- <permalink>http://www.howcast.com/categories/37-Management-and-Business-Skills</permalink>
177
- </category>
178
- <category>
179
- <id>59</id>
180
- <name>Office Life</name>
181
- <parent-id>30</parent-id>
182
- <permalink>http://www.howcast.com/categories/59-Office-Life</permalink>
183
- </category>
184
- <category>
185
- <id>47</id>
186
- <name>Personal Finance</name>
187
- <parent-id>30</parent-id>
188
- <permalink>http://www.howcast.com/categories/47-Personal-Finance</permalink>
189
- </category>
190
- <category>
191
- <id>91</id>
192
- <name>Self Employment</name>
193
- <parent-id>30</parent-id>
194
- <permalink>http://www.howcast.com/categories/91-Self-Employment</permalink>
195
- </category>
196
- <category>
197
- <id>82</id>
198
- <name>Small Business</name>
199
- <parent-id>30</parent-id>
200
- <permalink>http://www.howcast.com/categories/82-Small-Business</permalink>
201
- </category>
202
- <category>
203
- <id>77</id>
204
- <name>Taxes</name>
205
- <parent-id>30</parent-id>
206
- <permalink>http://www.howcast.com/categories/77-Taxes</permalink>
207
- </category>
208
- </subcategories>
209
- </category>
210
- <category>
211
- <id>95</id>
212
- <name>Careers &amp; Education</name>
213
- <parent-id nil="true"></parent-id>
214
- <permalink>http://www.howcast.com/categories/95-Careers-and-Education</permalink>
215
- <parents>
216
- </parents>
217
- <subcategories>
218
- <category>
219
- <id>97</id>
220
- <name>Arts Careers</name>
221
- <parent-id>95</parent-id>
222
- <permalink>http://www.howcast.com/categories/97-Arts-Careers</permalink>
223
- </category>
224
- <category>
225
- <id>98</id>
226
- <name>Business &amp; Financial Careers</name>
227
- <parent-id>95</parent-id>
228
- <permalink>http://www.howcast.com/categories/98-Business-and-Financial-Careers</permalink>
229
- </category>
230
- <category>
231
- <id>175</id>
232
- <name>College Admissions</name>
233
- <parent-id>95</parent-id>
234
- <permalink>http://www.howcast.com/categories/175-College-Admissions</permalink>
235
- </category>
236
- <category>
237
- <id>171</id>
238
- <name>College Guides</name>
239
- <parent-id>95</parent-id>
240
- <permalink>http://www.howcast.com/categories/171-College-Guides</permalink>
241
- </category>
242
- <category>
243
- <id>176</id>
244
- <name>College Life</name>
245
- <parent-id>95</parent-id>
246
- <permalink>http://www.howcast.com/categories/176-College-Life</permalink>
247
- </category>
248
- <category>
249
- <id>182</id>
250
- <name>College Scholarships &amp; Financial Aid</name>
251
- <parent-id>95</parent-id>
252
- <permalink>http://www.howcast.com/categories/182-College-Scholarships-and-Financial-Aid</permalink>
253
- </category>
254
- <category>
255
- <id>107</id>
256
- <name>Computer &amp; Internet Careers</name>
257
- <parent-id>95</parent-id>
258
- <permalink>http://www.howcast.com/categories/107-Computer-and-Internet-Careers</permalink>
259
- </category>
260
- <category>
261
- <id>108</id>
262
- <name>Education Careers</name>
263
- <parent-id>95</parent-id>
264
- <permalink>http://www.howcast.com/categories/108-Education-Careers</permalink>
265
- </category>
266
- <category>
267
- <id>96</id>
268
- <name>General Careers</name>
269
- <parent-id>95</parent-id>
270
- <permalink>http://www.howcast.com/categories/96-General-Careers</permalink>
271
- </category>
272
- <category>
273
- <id>109</id>
274
- <name>Government Careers</name>
275
- <parent-id>95</parent-id>
276
- <permalink>http://www.howcast.com/categories/109-Government-Careers</permalink>
277
- </category>
278
- <category>
279
- <id>154</id>
280
- <name>Job Hunting</name>
281
- <parent-id>95</parent-id>
282
- <permalink>http://www.howcast.com/categories/154-Job-Hunting</permalink>
283
- </category>
284
- <category>
285
- <id>113</id>
286
- <name>Legal Careers</name>
287
- <parent-id>95</parent-id>
288
- <permalink>http://www.howcast.com/categories/113-Legal-Careers</permalink>
289
- </category>
290
- <category>
291
- <id>114</id>
292
- <name>Mechanical &amp; Engineering Careers</name>
293
- <parent-id>95</parent-id>
294
- <permalink>http://www.howcast.com/categories/114-Mechanical-and-Engineering-Careers</permalink>
295
- </category>
296
- <category>
297
- <id>117</id>
298
- <name>Media &amp; Publishing Careers</name>
299
- <parent-id>95</parent-id>
300
- <permalink>http://www.howcast.com/categories/117-Media-and-Publishing-Careers</permalink>
301
- </category>
302
- <category>
303
- <id>125</id>
304
- <name>Medicine &amp; Health Careers</name>
305
- <parent-id>95</parent-id>
306
- <permalink>http://www.howcast.com/categories/125-Medicine-and-Health-Careers</permalink>
307
- </category>
308
- <category>
309
- <id>132</id>
310
- <name>Military &amp; Law Enforcement Careers</name>
311
- <parent-id>95</parent-id>
312
- <permalink>http://www.howcast.com/categories/132-Military-and-Law-Enforcement-Careers</permalink>
313
- </category>
314
- <category>
315
- <id>163</id>
316
- <name>Office Life</name>
317
- <parent-id>95</parent-id>
318
- <permalink>http://www.howcast.com/categories/163-Office-Life</permalink>
319
- </category>
320
- <category>
321
- <id>136</id>
322
- <name>Performing Arts Careers</name>
323
- <parent-id>95</parent-id>
324
- <permalink>http://www.howcast.com/categories/136-Performing-Arts-Careers</permalink>
325
- </category>
326
- <category>
327
- <id>143</id>
328
- <name>Recreation &amp; Hospitality Careers</name>
329
- <parent-id>95</parent-id>
330
- <permalink>http://www.howcast.com/categories/143-Recreation-and-Hospitality-Careers</permalink>
331
- </category>
332
- <category>
333
- <id>149</id>
334
- <name>Retail Careers</name>
335
- <parent-id>95</parent-id>
336
- <permalink>http://www.howcast.com/categories/149-Retail-Careers</permalink>
337
- </category>
338
- <category>
339
- <id>170</id>
340
- <name>Retirement</name>
341
- <parent-id>95</parent-id>
342
- <permalink>http://www.howcast.com/categories/170-Retirement</permalink>
343
- </category>
344
- <category>
345
- <id>150</id>
346
- <name>Science Careers</name>
347
- <parent-id>95</parent-id>
348
- <permalink>http://www.howcast.com/categories/150-Science-Careers</permalink>
349
- </category>
350
- <category>
351
- <id>186</id>
352
- <name>Test Preparation</name>
353
- <parent-id>95</parent-id>
354
- <permalink>http://www.howcast.com/categories/186-Test-Preparation</permalink>
355
- </category>
356
- <category>
357
- <id>151</id>
358
- <name>Travel &amp; Transportation Careers</name>
359
- <parent-id>95</parent-id>
360
- <permalink>http://www.howcast.com/categories/151-Travel-and-Transportation-Careers</permalink>
361
- </category>
362
- <category>
363
- <id>152</id>
364
- <name>Working With Animals &amp; Nature</name>
365
- <parent-id>95</parent-id>
366
- <permalink>http://www.howcast.com/categories/152-Working-With-Animals-and-Nature</permalink>
367
- </category>
368
- <category>
369
- <id>153</id>
370
- <name>Working With Children</name>
371
- <parent-id>95</parent-id>
372
- <permalink>http://www.howcast.com/categories/153-Working-With-Children</permalink>
373
- </category>
374
- </subcategories>
375
- </category>
376
- <category>
377
- <id>193</id>
378
- <name>Cars &amp; Transportation</name>
379
- <parent-id nil="true"></parent-id>
380
- <permalink>http://www.howcast.com/categories/193-Cars-and-Transportation</permalink>
381
- <parents>
382
- </parents>
383
- <subcategories>
384
- <category>
385
- <id>195</id>
386
- <name>Aircraft</name>
387
- <parent-id>193</parent-id>
388
- <permalink>http://www.howcast.com/categories/195-Aircraft</permalink>
389
- </category>
390
- <category>
391
- <id>200</id>
392
- <name>Boats &amp; Boating</name>
393
- <parent-id>193</parent-id>
394
- <permalink>http://www.howcast.com/categories/200-Boats-and-Boating</permalink>
395
- </category>
396
- <category>
397
- <id>207</id>
398
- <name>Buying &amp; Selling a Car</name>
399
- <parent-id>193</parent-id>
400
- <permalink>http://www.howcast.com/categories/207-Buying-and-Selling-a-Car</permalink>
401
- </category>
402
- <category>
403
- <id>213</id>
404
- <name>Car Customizing</name>
405
- <parent-id>193</parent-id>
406
- <permalink>http://www.howcast.com/categories/213-Car-Customizing</permalink>
407
- </category>
408
- <category>
409
- <id>214</id>
410
- <name>Car Maintenance &amp; Repair</name>
411
- <parent-id>193</parent-id>
412
- <permalink>http://www.howcast.com/categories/214-Car-Maintenance-and-Repair</permalink>
413
- </category>
414
- <category>
415
- <id>219</id>
416
- <name>Car Safety</name>
417
- <parent-id>193</parent-id>
418
- <permalink>http://www.howcast.com/categories/219-Car-Safety</permalink>
419
- </category>
420
- <category>
421
- <id>1708</id>
422
- <name>Commuting</name>
423
- <parent-id>193</parent-id>
424
- <permalink>http://www.howcast.com/categories/1708-Commuting</permalink>
425
- </category>
426
- <category>
427
- <id>225</id>
428
- <name>Driving</name>
429
- <parent-id>193</parent-id>
430
- <permalink>http://www.howcast.com/categories/225-Driving</permalink>
431
- </category>
432
- <category>
433
- <id>194</id>
434
- <name>General Transportation</name>
435
- <parent-id>193</parent-id>
436
- <permalink>http://www.howcast.com/categories/194-General-Transportation</permalink>
437
- </category>
438
- <category>
439
- <id>231</id>
440
- <name>Motorcycles</name>
441
- <parent-id>193</parent-id>
442
- <permalink>http://www.howcast.com/categories/231-Motorcycles</permalink>
443
- </category>
444
- <category>
445
- <id>235</id>
446
- <name>Other Automobiles</name>
447
- <parent-id>193</parent-id>
448
- <permalink>http://www.howcast.com/categories/235-Other-Automobiles</permalink>
449
- </category>
450
- </subcategories>
451
- </category>
452
- <category>
453
- <id>240</id>
454
- <name>Crafts &amp; Hobbies</name>
455
- <parent-id nil="true"></parent-id>
456
- <permalink>http://www.howcast.com/categories/240-Crafts-and-Hobbies</permalink>
457
- <parents>
458
- </parents>
459
- <subcategories>
460
- <category>
461
- <id>245</id>
462
- <name>Antiques &amp; Collectibles</name>
463
- <parent-id>240</parent-id>
464
- <permalink>http://www.howcast.com/categories/245-Antiques-and-Collectibles</permalink>
465
- </category>
466
- <category>
467
- <id>257</id>
468
- <name>Decorative Arts</name>
469
- <parent-id>240</parent-id>
470
- <permalink>http://www.howcast.com/categories/257-Decorative-Arts</permalink>
471
- </category>
472
- <category>
473
- <id>261</id>
474
- <name>Flowers &amp; Nature Crafts</name>
475
- <parent-id>240</parent-id>
476
- <permalink>http://www.howcast.com/categories/261-Flowers-and-Nature-Crafts</permalink>
477
- </category>
478
- <category>
479
- <id>241</id>
480
- <name>General Crafts &amp; Hobbies</name>
481
- <parent-id>240</parent-id>
482
- <permalink>http://www.howcast.com/categories/241-General-Crafts-and-Hobbies</permalink>
483
- </category>
484
- <category>
485
- <id>268</id>
486
- <name>Holiday &amp; Seasonal Crafts</name>
487
- <parent-id>240</parent-id>
488
- <permalink>http://www.howcast.com/categories/268-Holiday-and-Seasonal-Crafts</permalink>
489
- </category>
490
- <category>
491
- <id>264</id>
492
- <name>Jewelry</name>
493
- <parent-id>240</parent-id>
494
- <permalink>http://www.howcast.com/categories/264-Jewelry</permalink>
495
- </category>
496
- <category>
497
- <id>275</id>
498
- <name>Needlework</name>
499
- <parent-id>240</parent-id>
500
- <permalink>http://www.howcast.com/categories/275-Needlework</permalink>
501
- </category>
502
- <category>
503
- <id>283</id>
504
- <name>Paper Crafts</name>
505
- <parent-id>240</parent-id>
506
- <permalink>http://www.howcast.com/categories/283-Paper-Crafts</permalink>
507
- </category>
508
- <category>
509
- <id>288</id>
510
- <name>Pottery</name>
511
- <parent-id>240</parent-id>
512
- <permalink>http://www.howcast.com/categories/288-Pottery</permalink>
513
- </category>
514
- <category>
515
- <id>293</id>
516
- <name>Toys, Dolls &amp; Modelmaking</name>
517
- <parent-id>240</parent-id>
518
- <permalink>http://www.howcast.com/categories/293-Toys-Dolls-and-Modelmaking</permalink>
519
- </category>
520
- <category>
521
- <id>297</id>
522
- <name>Woodwork</name>
523
- <parent-id>240</parent-id>
524
- <permalink>http://www.howcast.com/categories/297-Woodwork</permalink>
525
- </category>
526
- </subcategories>
527
- </category>
528
- <category>
529
- <id>304</id>
530
- <name>Environment</name>
531
- <parent-id nil="true"></parent-id>
532
- <permalink>http://www.howcast.com/categories/304-Environment</permalink>
533
- <parents>
534
- </parents>
535
- <subcategories>
536
- <category>
537
- <id>306</id>
538
- <name>Animal Protection</name>
539
- <parent-id>304</parent-id>
540
- <permalink>http://www.howcast.com/categories/306-Animal-Protection</permalink>
541
- </category>
542
- <category>
543
- <id>307</id>
544
- <name>Environmental Protection</name>
545
- <parent-id>304</parent-id>
546
- <permalink>http://www.howcast.com/categories/307-Environmental-Protection</permalink>
547
- </category>
548
- <category>
549
- <id>305</id>
550
- <name>General Environment &amp; Ecology</name>
551
- <parent-id>304</parent-id>
552
- <permalink>http://www.howcast.com/categories/305-General-Environment-and-Ecology</permalink>
553
- </category>
554
- <category>
555
- <id>308</id>
556
- <name>Green Living</name>
557
- <parent-id>304</parent-id>
558
- <permalink>http://www.howcast.com/categories/308-Green-Living</permalink>
559
- </category>
560
- <category>
561
- <id>316</id>
562
- <name>Recycling</name>
563
- <parent-id>304</parent-id>
564
- <permalink>http://www.howcast.com/categories/316-Recycling</permalink>
565
- </category>
566
- </subcategories>
567
- </category>
568
- <category>
569
- <id>326</id>
570
- <name>First Aid &amp; Safety</name>
571
- <parent-id nil="true"></parent-id>
572
- <permalink>http://www.howcast.com/categories/326-First-Aid-and-Safety</permalink>
573
- <parents>
574
- </parents>
575
- <subcategories>
576
- <category>
577
- <id>328</id>
578
- <name>Blackouts</name>
579
- <parent-id>326</parent-id>
580
- <permalink>http://www.howcast.com/categories/328-Blackouts</permalink>
581
- </category>
582
- <category>
583
- <id>329</id>
584
- <name>Car Accidents</name>
585
- <parent-id>326</parent-id>
586
- <permalink>http://www.howcast.com/categories/329-Car-Accidents</permalink>
587
- </category>
588
- <category>
589
- <id>330</id>
590
- <name>Crime Prevention</name>
591
- <parent-id>326</parent-id>
592
- <permalink>http://www.howcast.com/categories/330-Crime-Prevention</permalink>
593
- </category>
594
- <category>
595
- <id>332</id>
596
- <name>Earthquakes</name>
597
- <parent-id>326</parent-id>
598
- <permalink>http://www.howcast.com/categories/332-Earthquakes</permalink>
599
- </category>
600
- <category>
601
- <id>334</id>
602
- <name>Epidemics</name>
603
- <parent-id>326</parent-id>
604
- <permalink>http://www.howcast.com/categories/334-Epidemics</permalink>
605
- </category>
606
- <category>
607
- <id>335</id>
608
- <name>Extreme Weather</name>
609
- <parent-id>326</parent-id>
610
- <permalink>http://www.howcast.com/categories/335-Extreme-Weather</permalink>
611
- </category>
612
- <category>
613
- <id>336</id>
614
- <name>Family Health &amp; Safety</name>
615
- <parent-id>326</parent-id>
616
- <permalink>http://www.howcast.com/categories/336-Family-Health-and-Safety</permalink>
617
- </category>
618
- <category>
619
- <id>342</id>
620
- <name>Fire</name>
621
- <parent-id>326</parent-id>
622
- <permalink>http://www.howcast.com/categories/342-Fire</permalink>
623
- </category>
624
- <category>
625
- <id>343</id>
626
- <name>First Aid</name>
627
- <parent-id>326</parent-id>
628
- <permalink>http://www.howcast.com/categories/343-First-Aid</permalink>
629
- </category>
630
- <category>
631
- <id>327</id>
632
- <name>General Disasters &amp; Emergency Preparedness</name>
633
- <parent-id>326</parent-id>
634
- <permalink>http://www.howcast.com/categories/327-General-Disasters-and-Emergency-Preparedness</permalink>
635
- </category>
636
- <category>
637
- <id>345</id>
638
- <name>Home Security</name>
639
- <parent-id>326</parent-id>
640
- <permalink>http://www.howcast.com/categories/345-Home-Security</permalink>
641
- </category>
642
- <category>
643
- <id>346</id>
644
- <name>Life-Saving Techniques</name>
645
- <parent-id>326</parent-id>
646
- <permalink>http://www.howcast.com/categories/346-LifeSaving-Techniques</permalink>
647
- </category>
648
- <category>
649
- <id>347</id>
650
- <name>Out Of This World</name>
651
- <parent-id>326</parent-id>
652
- <permalink>http://www.howcast.com/categories/347-Out-Of-This-World</permalink>
653
- </category>
654
- <category>
655
- <id>348</id>
656
- <name>Personal Security &amp; Self-Defense</name>
657
- <parent-id>326</parent-id>
658
- <permalink>http://www.howcast.com/categories/348-Personal-Security-and-SelfDefense</permalink>
659
- </category>
660
- <category>
661
- <id>349</id>
662
- <name>Poison Prevention</name>
663
- <parent-id>326</parent-id>
664
- <permalink>http://www.howcast.com/categories/349-Poison-Prevention</permalink>
665
- </category>
666
- <category>
667
- <id>350</id>
668
- <name>Snowstorms</name>
669
- <parent-id>326</parent-id>
670
- <permalink>http://www.howcast.com/categories/350-Snowstorms</permalink>
671
- </category>
672
- <category>
673
- <id>351</id>
674
- <name>Storms</name>
675
- <parent-id>326</parent-id>
676
- <permalink>http://www.howcast.com/categories/351-Storms</permalink>
677
- </category>
678
- <category>
679
- <id>352</id>
680
- <name>Substance Abuse</name>
681
- <parent-id>326</parent-id>
682
- <permalink>http://www.howcast.com/categories/352-Substance-Abuse</permalink>
683
- </category>
684
- <category>
685
- <id>353</id>
686
- <name>Survival Skills</name>
687
- <parent-id>326</parent-id>
688
- <permalink>http://www.howcast.com/categories/353-Survival-Skills</permalink>
689
- </category>
690
- <category>
691
- <id>354</id>
692
- <name>Terrorism</name>
693
- <parent-id>326</parent-id>
694
- <permalink>http://www.howcast.com/categories/354-Terrorism</permalink>
695
- </category>
696
- </subcategories>
697
- </category>
698
- <category>
699
- <id>355</id>
700
- <name>Food &amp; Drink</name>
701
- <parent-id nil="true"></parent-id>
702
- <permalink>http://www.howcast.com/categories/355-Food-and-Drink</permalink>
703
- <parents>
704
- </parents>
705
- <subcategories>
706
- <category>
707
- <id>1788</id>
708
- <name>African Cooking</name>
709
- <parent-id>355</parent-id>
710
- <permalink>http://www.howcast.com/categories/1788-African-Cooking</permalink>
711
- </category>
712
- <category>
713
- <id>373</id>
714
- <name>American Cooking</name>
715
- <parent-id>355</parent-id>
716
- <permalink>http://www.howcast.com/categories/373-American-Cooking</permalink>
717
- </category>
718
- <category>
719
- <id>374</id>
720
- <name>Appetizers &amp; Snacks</name>
721
- <parent-id>355</parent-id>
722
- <permalink>http://www.howcast.com/categories/374-Appetizers-and-Snacks</permalink>
723
- </category>
724
- <category>
725
- <id>375</id>
726
- <name>Asian Cooking</name>
727
- <parent-id>355</parent-id>
728
- <permalink>http://www.howcast.com/categories/375-Asian-Cooking</permalink>
729
- </category>
730
- <category>
731
- <id>361</id>
732
- <name>Bartending Guides</name>
733
- <parent-id>355</parent-id>
734
- <permalink>http://www.howcast.com/categories/361-Bartending-Guides</permalink>
735
- </category>
736
- <category>
737
- <id>364</id>
738
- <name>Beer</name>
739
- <parent-id>355</parent-id>
740
- <permalink>http://www.howcast.com/categories/364-Beer</permalink>
741
- </category>
742
- <category>
743
- <id>381</id>
744
- <name>Bread</name>
745
- <parent-id>355</parent-id>
746
- <permalink>http://www.howcast.com/categories/381-Bread</permalink>
747
- </category>
748
- <category>
749
- <id>382</id>
750
- <name>Breakfast</name>
751
- <parent-id>355</parent-id>
752
- <permalink>http://www.howcast.com/categories/382-Breakfast</permalink>
753
- </category>
754
- <category>
755
- <id>383</id>
756
- <name>Caribbean Cooking</name>
757
- <parent-id>355</parent-id>
758
- <permalink>http://www.howcast.com/categories/383-Caribbean-Cooking</permalink>
759
- </category>
760
- <category>
761
- <id>388</id>
762
- <name>Chili, Soups &amp; Stews</name>
763
- <parent-id>355</parent-id>
764
- <permalink>http://www.howcast.com/categories/388-Chili-Soups-and-Stews</permalink>
765
- </category>
766
- <category>
767
- <id>356</id>
768
- <name>Coffee, Tea and Other Drinks</name>
769
- <parent-id>355</parent-id>
770
- <permalink>http://www.howcast.com/categories/356-Coffee-Tea-and-Other-Drinks</permalink>
771
- </category>
772
- <category>
773
- <id>392</id>
774
- <name>Cooking Basics</name>
775
- <parent-id>355</parent-id>
776
- <permalink>http://www.howcast.com/categories/392-Cooking-Basics</permalink>
777
- </category>
778
- <category>
779
- <id>393</id>
780
- <name>Cooking Equipment &amp; Utensils</name>
781
- <parent-id>355</parent-id>
782
- <permalink>http://www.howcast.com/categories/393-Cooking-Equipment-and-Utensils</permalink>
783
- </category>
784
- <category>
785
- <id>439</id>
786
- <name>Dazzling Stuff</name>
787
- <parent-id>355</parent-id>
788
- <permalink>http://www.howcast.com/categories/439-Dazzling-Stuff</permalink>
789
- </category>
790
- <category>
791
- <id>398</id>
792
- <name>Desserts</name>
793
- <parent-id>355</parent-id>
794
- <permalink>http://www.howcast.com/categories/398-Desserts</permalink>
795
- </category>
796
- <category>
797
- <id>371</id>
798
- <name>Drinking</name>
799
- <parent-id>355</parent-id>
800
- <permalink>http://www.howcast.com/categories/371-Drinking</permalink>
801
- </category>
802
- <category>
803
- <id>405</id>
804
- <name>European Cooking</name>
805
- <parent-id>355</parent-id>
806
- <permalink>http://www.howcast.com/categories/405-European-Cooking</permalink>
807
- </category>
808
- <category>
809
- <id>410</id>
810
- <name>Fish</name>
811
- <parent-id>355</parent-id>
812
- <permalink>http://www.howcast.com/categories/410-Fish</permalink>
813
- </category>
814
- <category>
815
- <id>430</id>
816
- <name>Food &amp; Eating</name>
817
- <parent-id>355</parent-id>
818
- <permalink>http://www.howcast.com/categories/430-Food-and-Eating</permalink>
819
- </category>
820
- <category>
821
- <id>415</id>
822
- <name>Food on the Go</name>
823
- <parent-id>355</parent-id>
824
- <permalink>http://www.howcast.com/categories/415-Food-on-the-Go</permalink>
825
- </category>
826
- <category>
827
- <id>416</id>
828
- <name>Food Preparation and Safety</name>
829
- <parent-id>355</parent-id>
830
- <permalink>http://www.howcast.com/categories/416-Food-Preparation-and-Safety</permalink>
831
- </category>
832
- <category>
833
- <id>372</id>
834
- <name>General Cooking</name>
835
- <parent-id>355</parent-id>
836
- <permalink>http://www.howcast.com/categories/372-General-Cooking</permalink>
837
- </category>
838
- <category>
839
- <id>417</id>
840
- <name>Grilling</name>
841
- <parent-id>355</parent-id>
842
- <permalink>http://www.howcast.com/categories/417-Grilling</permalink>
843
- </category>
844
- <category>
845
- <id>418</id>
846
- <name>Holiday Cooking</name>
847
- <parent-id>355</parent-id>
848
- <permalink>http://www.howcast.com/categories/418-Holiday-Cooking</permalink>
849
- </category>
850
- <category>
851
- <id>423</id>
852
- <name>Mexican &amp; Latin American Cooking</name>
853
- <parent-id>355</parent-id>
854
- <permalink>http://www.howcast.com/categories/423-Mexican-and-Latin-American-Cooking</permalink>
855
- </category>
856
- <category>
857
- <id>424</id>
858
- <name>Middle Eastern Cooking</name>
859
- <parent-id>355</parent-id>
860
- <permalink>http://www.howcast.com/categories/424-Middle-Eastern-Cooking</permalink>
861
- </category>
862
- <category>
863
- <id>1738</id>
864
- <name>Noodles &amp; Pasta</name>
865
- <parent-id>355</parent-id>
866
- <permalink>http://www.howcast.com/categories/1738-Noodles-and-Pasta</permalink>
867
- </category>
868
- <category>
869
- <id>425</id>
870
- <name>Pizza</name>
871
- <parent-id>355</parent-id>
872
- <permalink>http://www.howcast.com/categories/425-Pizza</permalink>
873
- </category>
874
- <category>
875
- <id>426</id>
876
- <name>Produce</name>
877
- <parent-id>355</parent-id>
878
- <permalink>http://www.howcast.com/categories/426-Produce</permalink>
879
- </category>
880
- <category>
881
- <id>427</id>
882
- <name>Salads</name>
883
- <parent-id>355</parent-id>
884
- <permalink>http://www.howcast.com/categories/427-Salads</permalink>
885
- </category>
886
- <category>
887
- <id>1699</id>
888
- <name>Sandwiches</name>
889
- <parent-id>355</parent-id>
890
- <permalink>http://www.howcast.com/categories/1699-Sandwiches</permalink>
891
- </category>
892
- <category>
893
- <id>1700</id>
894
- <name>Sauces, Dressings &amp; Condiments</name>
895
- <parent-id>355</parent-id>
896
- <permalink>http://www.howcast.com/categories/1700-Sauces-Dressings-and-Condiments</permalink>
897
- </category>
898
- <category>
899
- <id>428</id>
900
- <name>Side Dishes</name>
901
- <parent-id>355</parent-id>
902
- <permalink>http://www.howcast.com/categories/428-Side-Dishes</permalink>
903
- </category>
904
- <category>
905
- <id>435</id>
906
- <name>Tobacco</name>
907
- <parent-id>355</parent-id>
908
- <permalink>http://www.howcast.com/categories/435-Tobacco</permalink>
909
- </category>
910
- <category>
911
- <id>429</id>
912
- <name>Vegetarian &amp; Vegan</name>
913
- <parent-id>355</parent-id>
914
- <permalink>http://www.howcast.com/categories/429-Vegetarian-and-Vegan</permalink>
915
- </category>
916
- <category>
917
- <id>367</id>
918
- <name>Wine</name>
919
- <parent-id>355</parent-id>
920
- <permalink>http://www.howcast.com/categories/367-Wine</permalink>
921
- </category>
922
- </subcategories>
923
- </category>
924
- <category>
925
- <id>440</id>
926
- <name>Games</name>
927
- <parent-id nil="true"></parent-id>
928
- <permalink>http://www.howcast.com/categories/440-Games</permalink>
929
- <parents>
930
- </parents>
931
- <subcategories>
932
- <category>
933
- <id>442</id>
934
- <name>Board Games &amp; Family Games</name>
935
- <parent-id>440</parent-id>
936
- <permalink>http://www.howcast.com/categories/442-Board-Games-and-Family-Games</permalink>
937
- </category>
938
- <category>
939
- <id>443</id>
940
- <name>Card Games</name>
941
- <parent-id>440</parent-id>
942
- <permalink>http://www.howcast.com/categories/443-Card-Games</permalink>
943
- </category>
944
- <category>
945
- <id>449</id>
946
- <name>Chess</name>
947
- <parent-id>440</parent-id>
948
- <permalink>http://www.howcast.com/categories/449-Chess</permalink>
949
- </category>
950
- <category>
951
- <id>450</id>
952
- <name>Computer &amp; Video Games</name>
953
- <parent-id>440</parent-id>
954
- <permalink>http://www.howcast.com/categories/450-Computer-and-Video-Games</permalink>
955
- </category>
956
- <category>
957
- <id>459</id>
958
- <name>Gambling</name>
959
- <parent-id>440</parent-id>
960
- <permalink>http://www.howcast.com/categories/459-Gambling</permalink>
961
- </category>
962
- <category>
963
- <id>441</id>
964
- <name>General Games</name>
965
- <parent-id>440</parent-id>
966
- <permalink>http://www.howcast.com/categories/441-General-Games</permalink>
967
- </category>
968
- <category>
969
- <id>466</id>
970
- <name>Magic</name>
971
- <parent-id>440</parent-id>
972
- <permalink>http://www.howcast.com/categories/466-Magic</permalink>
973
- </category>
974
- <category>
975
- <id>471</id>
976
- <name>Outdoor &amp; Party Games</name>
977
- <parent-id>440</parent-id>
978
- <permalink>http://www.howcast.com/categories/471-Outdoor-and-Party-Games</permalink>
979
- </category>
980
- <category>
981
- <id>476</id>
982
- <name>Pool</name>
983
- <parent-id>440</parent-id>
984
- <permalink>http://www.howcast.com/categories/476-Pool</permalink>
985
- </category>
986
- <category>
987
- <id>477</id>
988
- <name>Role Playing Games</name>
989
- <parent-id>440</parent-id>
990
- <permalink>http://www.howcast.com/categories/477-Role-Playing-Games</permalink>
991
- </category>
992
- <category>
993
- <id>478</id>
994
- <name>Travel Games</name>
995
- <parent-id>440</parent-id>
996
- <permalink>http://www.howcast.com/categories/478-Travel-Games</permalink>
997
- </category>
998
- <category>
999
- <id>1702</id>
1000
- <name>Yo-Yo Tricks</name>
1001
- <parent-id>440</parent-id>
1002
- <permalink>http://www.howcast.com/categories/1702-YoYo-Tricks</permalink>
1003
- </category>
1004
- </subcategories>
1005
- </category>
1006
- <category>
1007
- <id>479</id>
1008
- <name>Health &amp; Nutrition</name>
1009
- <parent-id nil="true"></parent-id>
1010
- <permalink>http://www.howcast.com/categories/479-Health-and-Nutrition</permalink>
1011
- <parents>
1012
- </parents>
1013
- <subcategories>
1014
- <category>
1015
- <id>494</id>
1016
- <name>Diet</name>
1017
- <parent-id>479</parent-id>
1018
- <permalink>http://www.howcast.com/categories/494-Diet</permalink>
1019
- </category>
1020
- <category>
1021
- <id>500</id>
1022
- <name>Diseases &amp; Disorders</name>
1023
- <parent-id>479</parent-id>
1024
- <permalink>http://www.howcast.com/categories/500-Diseases-and-Disorders</permalink>
1025
- </category>
1026
- <category>
1027
- <id>510</id>
1028
- <name>Exercise</name>
1029
- <parent-id>479</parent-id>
1030
- <permalink>http://www.howcast.com/categories/510-Exercise</permalink>
1031
- </category>
1032
- <category>
1033
- <id>480</id>
1034
- <name>General Health</name>
1035
- <parent-id>479</parent-id>
1036
- <permalink>http://www.howcast.com/categories/480-General-Health</permalink>
1037
- </category>
1038
- <category>
1039
- <id>521</id>
1040
- <name>Mental Health</name>
1041
- <parent-id>479</parent-id>
1042
- <permalink>http://www.howcast.com/categories/521-Mental-Health</permalink>
1043
- </category>
1044
- </subcategories>
1045
- </category>
1046
- <category>
1047
- <id>522</id>
1048
- <name>Holidays &amp; Celebrations</name>
1049
- <parent-id nil="true"></parent-id>
1050
- <permalink>http://www.howcast.com/categories/522-Holidays-and-Celebrations</permalink>
1051
- <parents>
1052
- </parents>
1053
- <subcategories>
1054
- <category>
1055
- <id>524</id>
1056
- <name>Bar and Bat Mitzvahs</name>
1057
- <parent-id>522</parent-id>
1058
- <permalink>http://www.howcast.com/categories/524-Bar-and-Bat-Mitzvahs</permalink>
1059
- </category>
1060
- <category>
1061
- <id>525</id>
1062
- <name>Birthdays</name>
1063
- <parent-id>522</parent-id>
1064
- <permalink>http://www.howcast.com/categories/525-Birthdays</permalink>
1065
- </category>
1066
- <category>
1067
- <id>526</id>
1068
- <name>Christmas</name>
1069
- <parent-id>522</parent-id>
1070
- <permalink>http://www.howcast.com/categories/526-Christmas</permalink>
1071
- </category>
1072
- <category>
1073
- <id>528</id>
1074
- <name>Easter</name>
1075
- <parent-id>522</parent-id>
1076
- <permalink>http://www.howcast.com/categories/528-Easter</permalink>
1077
- </category>
1078
- <category>
1079
- <id>523</id>
1080
- <name>General Holidays &amp; Parties</name>
1081
- <parent-id>522</parent-id>
1082
- <permalink>http://www.howcast.com/categories/523-General-Holidays-and-Parties</permalink>
1083
- </category>
1084
- <category>
1085
- <id>529</id>
1086
- <name>Gift Giving</name>
1087
- <parent-id>522</parent-id>
1088
- <permalink>http://www.howcast.com/categories/529-Gift-Giving</permalink>
1089
- </category>
1090
- <category>
1091
- <id>530</id>
1092
- <name>Graduations</name>
1093
- <parent-id>522</parent-id>
1094
- <permalink>http://www.howcast.com/categories/530-Graduations</permalink>
1095
- </category>
1096
- <category>
1097
- <id>531</id>
1098
- <name>Halloween</name>
1099
- <parent-id>522</parent-id>
1100
- <permalink>http://www.howcast.com/categories/531-Halloween</permalink>
1101
- </category>
1102
- <category>
1103
- <id>532</id>
1104
- <name>Halloween Crafts</name>
1105
- <parent-id>522</parent-id>
1106
- <permalink>http://www.howcast.com/categories/532-Halloween-Crafts</permalink>
1107
- </category>
1108
- <category>
1109
- <id>533</id>
1110
- <name>Independence Day</name>
1111
- <parent-id>522</parent-id>
1112
- <permalink>http://www.howcast.com/categories/533-Independence-Day</permalink>
1113
- </category>
1114
- <category>
1115
- <id>534</id>
1116
- <name>Jewish Holidays</name>
1117
- <parent-id>522</parent-id>
1118
- <permalink>http://www.howcast.com/categories/534-Jewish-Holidays</permalink>
1119
- </category>
1120
- <category>
1121
- <id>542</id>
1122
- <name>New Year's</name>
1123
- <parent-id>522</parent-id>
1124
- <permalink>http://www.howcast.com/categories/542-New-Years</permalink>
1125
- </category>
1126
- <category>
1127
- <id>552</id>
1128
- <name>Party Games</name>
1129
- <parent-id>522</parent-id>
1130
- <permalink>http://www.howcast.com/categories/552-Party-Games</permalink>
1131
- </category>
1132
- <category>
1133
- <id>543</id>
1134
- <name>Party Planning</name>
1135
- <parent-id>522</parent-id>
1136
- <permalink>http://www.howcast.com/categories/543-Party-Planning</permalink>
1137
- </category>
1138
- <category>
1139
- <id>556</id>
1140
- <name>St. Patrick's Day</name>
1141
- <parent-id>522</parent-id>
1142
- <permalink>http://www.howcast.com/categories/556-St-Patricks-Day</permalink>
1143
- </category>
1144
- <category>
1145
- <id>557</id>
1146
- <name>Thanksgiving</name>
1147
- <parent-id>522</parent-id>
1148
- <permalink>http://www.howcast.com/categories/557-Thanksgiving</permalink>
1149
- </category>
1150
- <category>
1151
- <id>558</id>
1152
- <name>Valentine's Day</name>
1153
- <parent-id>522</parent-id>
1154
- <permalink>http://www.howcast.com/categories/558-Valentines-Day</permalink>
1155
- </category>
1156
- </subcategories>
1157
- </category>
1158
- <category>
1159
- <id>559</id>
1160
- <name>House &amp; Garden</name>
1161
- <parent-id nil="true"></parent-id>
1162
- <permalink>http://www.howcast.com/categories/559-House-and-Garden</permalink>
1163
- <parents>
1164
- </parents>
1165
- <subcategories>
1166
- <category>
1167
- <id>639</id>
1168
- <name>Flower Gardening</name>
1169
- <parent-id>559</parent-id>
1170
- <permalink>http://www.howcast.com/categories/639-Flower-Gardening</permalink>
1171
- </category>
1172
- <category>
1173
- <id>642</id>
1174
- <name>Fruit, Vegetable &amp; Herb Gardening</name>
1175
- <parent-id>559</parent-id>
1176
- <permalink>http://www.howcast.com/categories/642-Fruit-Vegetable-and-Herb-Gardening</permalink>
1177
- </category>
1178
- <category>
1179
- <id>646</id>
1180
- <name>Gardening Tools &amp; Equipment</name>
1181
- <parent-id>559</parent-id>
1182
- <permalink>http://www.howcast.com/categories/646-Gardening-Tools-and-Equipment</permalink>
1183
- </category>
1184
- <category>
1185
- <id>629</id>
1186
- <name>General Gardening</name>
1187
- <parent-id>559</parent-id>
1188
- <permalink>http://www.howcast.com/categories/629-General-Gardening</permalink>
1189
- </category>
1190
- <category>
1191
- <id>560</id>
1192
- <name>General House &amp; Home</name>
1193
- <parent-id>559</parent-id>
1194
- <permalink>http://www.howcast.com/categories/560-General-House-and-Home</permalink>
1195
- </category>
1196
- <category>
1197
- <id>623</id>
1198
- <name>Home Appliances &amp; Tools</name>
1199
- <parent-id>559</parent-id>
1200
- <permalink>http://www.howcast.com/categories/623-Home-Appliances-and-Tools</permalink>
1201
- </category>
1202
- <category>
1203
- <id>577</id>
1204
- <name>Home Economics</name>
1205
- <parent-id>559</parent-id>
1206
- <permalink>http://www.howcast.com/categories/577-Home-Economics</permalink>
1207
- </category>
1208
- <category>
1209
- <id>580</id>
1210
- <name>Home Exterior</name>
1211
- <parent-id>559</parent-id>
1212
- <permalink>http://www.howcast.com/categories/580-Home-Exterior</permalink>
1213
- </category>
1214
- <category>
1215
- <id>585</id>
1216
- <name>Home Heating &amp; Cooling</name>
1217
- <parent-id>559</parent-id>
1218
- <permalink>http://www.howcast.com/categories/585-Home-Heating-and-Cooling</permalink>
1219
- </category>
1220
- <category>
1221
- <id>609</id>
1222
- <name>Home Organizing &amp; Storage</name>
1223
- <parent-id>559</parent-id>
1224
- <permalink>http://www.howcast.com/categories/609-Home-Organizing-and-Storage</permalink>
1225
- </category>
1226
- <category>
1227
- <id>591</id>
1228
- <name>Household Moving</name>
1229
- <parent-id>559</parent-id>
1230
- <permalink>http://www.howcast.com/categories/591-Household-Moving</permalink>
1231
- </category>
1232
- <category>
1233
- <id>571</id>
1234
- <name>Housekeeping</name>
1235
- <parent-id>559</parent-id>
1236
- <permalink>http://www.howcast.com/categories/571-Housekeeping</permalink>
1237
- </category>
1238
- <category>
1239
- <id>596</id>
1240
- <name>Interior Decoration</name>
1241
- <parent-id>559</parent-id>
1242
- <permalink>http://www.howcast.com/categories/596-Interior-Decoration</permalink>
1243
- </category>
1244
- <category>
1245
- <id>651</id>
1246
- <name>Landscaping</name>
1247
- <parent-id>559</parent-id>
1248
- <permalink>http://www.howcast.com/categories/651-Landscaping</permalink>
1249
- </category>
1250
- <category>
1251
- <id>655</id>
1252
- <name>Lawn Care</name>
1253
- <parent-id>559</parent-id>
1254
- <permalink>http://www.howcast.com/categories/655-Lawn-Care</permalink>
1255
- </category>
1256
- <category>
1257
- <id>603</id>
1258
- <name>Lighting &amp; Electrical</name>
1259
- <parent-id>559</parent-id>
1260
- <permalink>http://www.howcast.com/categories/603-Lighting-and-Electrical</permalink>
1261
- </category>
1262
- <category>
1263
- <id>614</id>
1264
- <name>Plumbing</name>
1265
- <parent-id>559</parent-id>
1266
- <permalink>http://www.howcast.com/categories/614-Plumbing</permalink>
1267
- </category>
1268
- <category>
1269
- <id>619</id>
1270
- <name>Remodeling</name>
1271
- <parent-id>559</parent-id>
1272
- <permalink>http://www.howcast.com/categories/619-Remodeling</permalink>
1273
- </category>
1274
- <category>
1275
- <id>659</id>
1276
- <name>Trees &amp; Bushes</name>
1277
- <parent-id>559</parent-id>
1278
- <permalink>http://www.howcast.com/categories/659-Trees-and-Bushes</permalink>
1279
- </category>
1280
- </subcategories>
1281
- </category>
1282
- <category>
1283
- <id>662</id>
1284
- <name>Kids</name>
1285
- <parent-id nil="true"></parent-id>
1286
- <permalink>http://www.howcast.com/categories/662-Kids</permalink>
1287
- <parents>
1288
- </parents>
1289
- <subcategories>
1290
- <category>
1291
- <id>663</id>
1292
- <name>Body &amp; Health</name>
1293
- <parent-id>662</parent-id>
1294
- <permalink>http://www.howcast.com/categories/663-Body-and-Health</permalink>
1295
- </category>
1296
- <category>
1297
- <id>697</id>
1298
- <name>Clothing and Dress</name>
1299
- <parent-id>662</parent-id>
1300
- <permalink>http://www.howcast.com/categories/697-Clothing-and-Dress</permalink>
1301
- </category>
1302
- <category>
1303
- <id>705</id>
1304
- <name>Cooking and Food</name>
1305
- <parent-id>662</parent-id>
1306
- <permalink>http://www.howcast.com/categories/705-Cooking-and-Food</permalink>
1307
- </category>
1308
- <category>
1309
- <id>753</id>
1310
- <name>Crafts</name>
1311
- <parent-id>662</parent-id>
1312
- <permalink>http://www.howcast.com/categories/753-Crafts</permalink>
1313
- </category>
1314
- <category>
1315
- <id>764</id>
1316
- <name>Family Life</name>
1317
- <parent-id>662</parent-id>
1318
- <permalink>http://www.howcast.com/categories/764-Family-Life</permalink>
1319
- </category>
1320
- <category>
1321
- <id>768</id>
1322
- <name>Games &amp; Activities</name>
1323
- <parent-id>662</parent-id>
1324
- <permalink>http://www.howcast.com/categories/768-Games-and-Activities</permalink>
1325
- </category>
1326
- <category>
1327
- <id>776</id>
1328
- <name>Holidays</name>
1329
- <parent-id>662</parent-id>
1330
- <permalink>http://www.howcast.com/categories/776-Holidays</permalink>
1331
- </category>
1332
- <category>
1333
- <id>791</id>
1334
- <name>Money</name>
1335
- <parent-id>662</parent-id>
1336
- <permalink>http://www.howcast.com/categories/791-Money</permalink>
1337
- </category>
1338
- <category>
1339
- <id>815</id>
1340
- <name>School</name>
1341
- <parent-id>662</parent-id>
1342
- <permalink>http://www.howcast.com/categories/815-School</permalink>
1343
- </category>
1344
- <category>
1345
- <id>823</id>
1346
- <name>Science &amp; Technology</name>
1347
- <parent-id>662</parent-id>
1348
- <permalink>http://www.howcast.com/categories/823-Science-and-Technology</permalink>
1349
- </category>
1350
- <category>
1351
- <id>832</id>
1352
- <name>Trips &amp; Vacation</name>
1353
- <parent-id>662</parent-id>
1354
- <permalink>http://www.howcast.com/categories/832-Trips-and-Vacation</permalink>
1355
- </category>
1356
- </subcategories>
1357
- </category>
1358
- <category>
1359
- <id>841</id>
1360
- <name>Language &amp; Reference</name>
1361
- <parent-id nil="true"></parent-id>
1362
- <permalink>http://www.howcast.com/categories/841-Language-and-Reference</permalink>
1363
- <parents>
1364
- </parents>
1365
- <subcategories>
1366
- <category>
1367
- <id>875</id>
1368
- <name>Etiquette</name>
1369
- <parent-id>841</parent-id>
1370
- <permalink>http://www.howcast.com/categories/875-Etiquette</permalink>
1371
- </category>
1372
- <category>
1373
- <id>854</id>
1374
- <name>Foreign Languages</name>
1375
- <parent-id>841</parent-id>
1376
- <permalink>http://www.howcast.com/categories/854-Foreign-Languages</permalink>
1377
- </category>
1378
- <category>
1379
- <id>1727</id>
1380
- <name>How To Howcast</name>
1381
- <parent-id>841</parent-id>
1382
- <permalink>http://www.howcast.com/categories/1727-How-To-Howcast</permalink>
1383
- </category>
1384
- <category>
1385
- <id>862</id>
1386
- <name>Legal Guides</name>
1387
- <parent-id>841</parent-id>
1388
- <permalink>http://www.howcast.com/categories/862-Legal-Guides</permalink>
1389
- </category>
1390
- <category>
1391
- <id>867</id>
1392
- <name>Politics &amp; Citizenship</name>
1393
- <parent-id>841</parent-id>
1394
- <permalink>http://www.howcast.com/categories/867-Politics-and-Citizenship</permalink>
1395
- </category>
1396
- <category>
1397
- <id>871</id>
1398
- <name>Public Speaking</name>
1399
- <parent-id>841</parent-id>
1400
- <permalink>http://www.howcast.com/categories/871-Public-Speaking</permalink>
1401
- </category>
1402
- <category>
1403
- <id>842</id>
1404
- <name>Reference</name>
1405
- <parent-id>841</parent-id>
1406
- <permalink>http://www.howcast.com/categories/842-Reference</permalink>
1407
- </category>
1408
- <category>
1409
- <id>846</id>
1410
- <name>Writing</name>
1411
- <parent-id>841</parent-id>
1412
- <permalink>http://www.howcast.com/categories/846-Writing</permalink>
1413
- </category>
1414
- </subcategories>
1415
- </category>
1416
- <category>
1417
- <id>901</id>
1418
- <name>Mind &amp; Body</name>
1419
- <parent-id nil="true"></parent-id>
1420
- <permalink>http://www.howcast.com/categories/901-Mind-and-Body</permalink>
1421
- <parents>
1422
- </parents>
1423
- <subcategories>
1424
- <category>
1425
- <id>903</id>
1426
- <name>Alternative Medicine &amp; Natural Healing</name>
1427
- <parent-id>901</parent-id>
1428
- <permalink>http://www.howcast.com/categories/903-Alternative-Medicine-and-Natural-Healing</permalink>
1429
- </category>
1430
- <category>
1431
- <id>1703</id>
1432
- <name>Astrology</name>
1433
- <parent-id>901</parent-id>
1434
- <permalink>http://www.howcast.com/categories/1703-Astrology</permalink>
1435
- </category>
1436
- <category>
1437
- <id>902</id>
1438
- <name>General Mind &amp; Body</name>
1439
- <parent-id>901</parent-id>
1440
- <permalink>http://www.howcast.com/categories/902-General-Mind-and-Body</permalink>
1441
- </category>
1442
- <category>
1443
- <id>909</id>
1444
- <name>Meditation</name>
1445
- <parent-id>901</parent-id>
1446
- <permalink>http://www.howcast.com/categories/909-Meditation</permalink>
1447
- </category>
1448
- <category>
1449
- <id>914</id>
1450
- <name>Mental Health &amp; Well-Being</name>
1451
- <parent-id>901</parent-id>
1452
- <permalink>http://www.howcast.com/categories/914-Mental-Health-and-WellBeing</permalink>
1453
- </category>
1454
- <category>
1455
- <id>922</id>
1456
- <name>Mindbody Healing</name>
1457
- <parent-id>901</parent-id>
1458
- <permalink>http://www.howcast.com/categories/922-Mindbody-Healing</permalink>
1459
- </category>
1460
- <category>
1461
- <id>927</id>
1462
- <name>People With Disabilities</name>
1463
- <parent-id>901</parent-id>
1464
- <permalink>http://www.howcast.com/categories/927-People-With-Disabilities</permalink>
1465
- </category>
1466
- <category>
1467
- <id>947</id>
1468
- <name>Physical Well-Being</name>
1469
- <parent-id>901</parent-id>
1470
- <permalink>http://www.howcast.com/categories/947-Physical-WellBeing</permalink>
1471
- </category>
1472
- <category>
1473
- <id>952</id>
1474
- <name>Self-Improvement</name>
1475
- <parent-id>901</parent-id>
1476
- <permalink>http://www.howcast.com/categories/952-SelfImprovement</permalink>
1477
- </category>
1478
- <category>
1479
- <id>962</id>
1480
- <name>Sports Fitness</name>
1481
- <parent-id>901</parent-id>
1482
- <permalink>http://www.howcast.com/categories/962-Sports-Fitness</permalink>
1483
- </category>
1484
- <category>
1485
- <id>967</id>
1486
- <name>Workstation Health / RSI Issues</name>
1487
- <parent-id>901</parent-id>
1488
- <permalink>http://www.howcast.com/categories/967-Workstation-Health-RSI-Issues</permalink>
1489
- </category>
1490
- <category>
1491
- <id>972</id>
1492
- <name>Yoga</name>
1493
- <parent-id>901</parent-id>
1494
- <permalink>http://www.howcast.com/categories/972-Yoga</permalink>
1495
- </category>
1496
- </subcategories>
1497
- </category>
1498
- <category>
1499
- <id>978</id>
1500
- <name>Parenting &amp; Family</name>
1501
- <parent-id nil="true"></parent-id>
1502
- <permalink>http://www.howcast.com/categories/978-Parenting-and-Family</permalink>
1503
- <parents>
1504
- </parents>
1505
- <subcategories>
1506
- <category>
1507
- <id>979</id>
1508
- <name>Baby Care</name>
1509
- <parent-id>978</parent-id>
1510
- <permalink>http://www.howcast.com/categories/979-Baby-Care</permalink>
1511
- </category>
1512
- <category>
1513
- <id>987</id>
1514
- <name>Family</name>
1515
- <parent-id>978</parent-id>
1516
- <permalink>http://www.howcast.com/categories/987-Family</permalink>
1517
- </category>
1518
- <category>
1519
- <id>994</id>
1520
- <name>Family Health &amp; Safety</name>
1521
- <parent-id>978</parent-id>
1522
- <permalink>http://www.howcast.com/categories/994-Family-Health-and-Safety</permalink>
1523
- </category>
1524
- <category>
1525
- <id>1000</id>
1526
- <name>Family Illness &amp; Death</name>
1527
- <parent-id>978</parent-id>
1528
- <permalink>http://www.howcast.com/categories/1000-Family-Illness-and-Death</permalink>
1529
- </category>
1530
- <category>
1531
- <id>1004</id>
1532
- <name>Marriage</name>
1533
- <parent-id>978</parent-id>
1534
- <permalink>http://www.howcast.com/categories/1004-Marriage</permalink>
1535
- </category>
1536
- <category>
1537
- <id>1010</id>
1538
- <name>Parenting</name>
1539
- <parent-id>978</parent-id>
1540
- <permalink>http://www.howcast.com/categories/1010-Parenting</permalink>
1541
- </category>
1542
- <category>
1543
- <id>1027</id>
1544
- <name>Pregnancy</name>
1545
- <parent-id>978</parent-id>
1546
- <permalink>http://www.howcast.com/categories/1027-Pregnancy</permalink>
1547
- </category>
1548
- </subcategories>
1549
- </category>
1550
- <category>
1551
- <id>1048</id>
1552
- <name>Performing Arts</name>
1553
- <parent-id nil="true"></parent-id>
1554
- <permalink>http://www.howcast.com/categories/1048-Performing-Arts</permalink>
1555
- <parents>
1556
- </parents>
1557
- <subcategories>
1558
- <category>
1559
- <id>1055</id>
1560
- <name>Acting</name>
1561
- <parent-id>1048</parent-id>
1562
- <permalink>http://www.howcast.com/categories/1055-Acting</permalink>
1563
- </category>
1564
- <category>
1565
- <id>1061</id>
1566
- <name>Carnivals, Festivals &amp; Amusement Parks</name>
1567
- <parent-id>1048</parent-id>
1568
- <permalink>http://www.howcast.com/categories/1061-Carnivals-Festivals-and-Amusement-Parks</permalink>
1569
- </category>
1570
- <category>
1571
- <id>1062</id>
1572
- <name>Celebrities</name>
1573
- <parent-id>1048</parent-id>
1574
- <permalink>http://www.howcast.com/categories/1062-Celebrities</permalink>
1575
- </category>
1576
- <category>
1577
- <id>1063</id>
1578
- <name>Dance</name>
1579
- <parent-id>1048</parent-id>
1580
- <permalink>http://www.howcast.com/categories/1063-Dance</permalink>
1581
- </category>
1582
- <category>
1583
- <id>1067</id>
1584
- <name>Film &amp; Television</name>
1585
- <parent-id>1048</parent-id>
1586
- <permalink>http://www.howcast.com/categories/1067-Film-and-Television</permalink>
1587
- </category>
1588
- <category>
1589
- <id>1049</id>
1590
- <name>General Performing Arts</name>
1591
- <parent-id>1048</parent-id>
1592
- <permalink>http://www.howcast.com/categories/1049-General-Performing-Arts</permalink>
1593
- </category>
1594
- <category>
1595
- <id>1076</id>
1596
- <name>Humor &amp; Comedy</name>
1597
- <parent-id>1048</parent-id>
1598
- <permalink>http://www.howcast.com/categories/1076-Humor-and-Comedy</permalink>
1599
- </category>
1600
- <category>
1601
- <id>1082</id>
1602
- <name>Music Appreciation &amp; Buying Guides</name>
1603
- <parent-id>1048</parent-id>
1604
- <permalink>http://www.howcast.com/categories/1082-Music-Appreciation-and-Buying-Guides</permalink>
1605
- </category>
1606
- <category>
1607
- <id>1088</id>
1608
- <name>Music Business</name>
1609
- <parent-id>1048</parent-id>
1610
- <permalink>http://www.howcast.com/categories/1088-Music-Business</permalink>
1611
- </category>
1612
- <category>
1613
- <id>1112</id>
1614
- <name>Music Shows and Concerts</name>
1615
- <parent-id>1048</parent-id>
1616
- <permalink>http://www.howcast.com/categories/1112-Music-Shows-and-Concerts</permalink>
1617
- </category>
1618
- <category>
1619
- <id>1095</id>
1620
- <name>Musical Instruments</name>
1621
- <parent-id>1048</parent-id>
1622
- <permalink>http://www.howcast.com/categories/1095-Musical-Instruments</permalink>
1623
- </category>
1624
- <category>
1625
- <id>1113</id>
1626
- <name>Theater</name>
1627
- <parent-id>1048</parent-id>
1628
- <permalink>http://www.howcast.com/categories/1113-Theater</permalink>
1629
- </category>
1630
- <category>
1631
- <id>1705</id>
1632
- <name>Vocals &amp; Singing</name>
1633
- <parent-id>1048</parent-id>
1634
- <permalink>http://www.howcast.com/categories/1705-Vocals-and-Singing</permalink>
1635
- </category>
1636
- </subcategories>
1637
- </category>
1638
- <category>
1639
- <id>1120</id>
1640
- <name>Personal Care &amp; Style</name>
1641
- <parent-id nil="true"></parent-id>
1642
- <permalink>http://www.howcast.com/categories/1120-Personal-Care-and-Style</permalink>
1643
- <parents>
1644
- </parents>
1645
- <subcategories>
1646
- <category>
1647
- <id>1121</id>
1648
- <name>Fashion Basics</name>
1649
- <parent-id>1120</parent-id>
1650
- <permalink>http://www.howcast.com/categories/1121-Fashion-Basics</permalink>
1651
- </category>
1652
- <category>
1653
- <id>1143</id>
1654
- <name>Hair</name>
1655
- <parent-id>1120</parent-id>
1656
- <permalink>http://www.howcast.com/categories/1143-Hair</permalink>
1657
- </category>
1658
- <category>
1659
- <id>1149</id>
1660
- <name>Hygiene</name>
1661
- <parent-id>1120</parent-id>
1662
- <permalink>http://www.howcast.com/categories/1149-Hygiene</permalink>
1663
- </category>
1664
- <category>
1665
- <id>1135</id>
1666
- <name>Personal Care &amp; Beauty</name>
1667
- <parent-id>1120</parent-id>
1668
- <permalink>http://www.howcast.com/categories/1135-Personal-Care-and-Beauty</permalink>
1669
- </category>
1670
- </subcategories>
1671
- </category>
1672
- <category>
1673
- <id>1153</id>
1674
- <name>Pets</name>
1675
- <parent-id nil="true"></parent-id>
1676
- <permalink>http://www.howcast.com/categories/1153-Pets</permalink>
1677
- <parents>
1678
- </parents>
1679
- <subcategories>
1680
- <category>
1681
- <id>1155</id>
1682
- <name>Backyard Wildlife</name>
1683
- <parent-id>1153</parent-id>
1684
- <permalink>http://www.howcast.com/categories/1155-Backyard-Wildlife</permalink>
1685
- </category>
1686
- <category>
1687
- <id>1156</id>
1688
- <name>Birds</name>
1689
- <parent-id>1153</parent-id>
1690
- <permalink>http://www.howcast.com/categories/1156-Birds</permalink>
1691
- </category>
1692
- <category>
1693
- <id>1157</id>
1694
- <name>Cats</name>
1695
- <parent-id>1153</parent-id>
1696
- <permalink>http://www.howcast.com/categories/1157-Cats</permalink>
1697
- </category>
1698
- <category>
1699
- <id>1162</id>
1700
- <name>Dogs</name>
1701
- <parent-id>1153</parent-id>
1702
- <permalink>http://www.howcast.com/categories/1162-Dogs</permalink>
1703
- </category>
1704
- <category>
1705
- <id>1167</id>
1706
- <name>Fish &amp; Aquariums</name>
1707
- <parent-id>1153</parent-id>
1708
- <permalink>http://www.howcast.com/categories/1167-Fish-and-Aquariums</permalink>
1709
- </category>
1710
- <category>
1711
- <id>1154</id>
1712
- <name>General Pets</name>
1713
- <parent-id>1153</parent-id>
1714
- <permalink>http://www.howcast.com/categories/1154-General-Pets</permalink>
1715
- </category>
1716
- <category>
1717
- <id>1170</id>
1718
- <name>Horses</name>
1719
- <parent-id>1153</parent-id>
1720
- <permalink>http://www.howcast.com/categories/1170-Horses</permalink>
1721
- </category>
1722
- <category>
1723
- <id>1174</id>
1724
- <name>Rabbits</name>
1725
- <parent-id>1153</parent-id>
1726
- <permalink>http://www.howcast.com/categories/1174-Rabbits</permalink>
1727
- </category>
1728
- <category>
1729
- <id>1175</id>
1730
- <name>Reptiles</name>
1731
- <parent-id>1153</parent-id>
1732
- <permalink>http://www.howcast.com/categories/1175-Reptiles</permalink>
1733
- </category>
1734
- <category>
1735
- <id>1176</id>
1736
- <name>Small Pets</name>
1737
- <parent-id>1153</parent-id>
1738
- <permalink>http://www.howcast.com/categories/1176-Small-Pets</permalink>
1739
- </category>
1740
- </subcategories>
1741
- </category>
1742
- <category>
1743
- <id>1177</id>
1744
- <name>Religion &amp; Spirituality</name>
1745
- <parent-id nil="true"></parent-id>
1746
- <permalink>http://www.howcast.com/categories/1177-Religion-and-Spirituality</permalink>
1747
- <parents>
1748
- </parents>
1749
- <subcategories>
1750
- <category>
1751
- <id>1179</id>
1752
- <name>Buddhism</name>
1753
- <parent-id>1177</parent-id>
1754
- <permalink>http://www.howcast.com/categories/1179-Buddhism</permalink>
1755
- </category>
1756
- <category>
1757
- <id>1183</id>
1758
- <name>Christianity</name>
1759
- <parent-id>1177</parent-id>
1760
- <permalink>http://www.howcast.com/categories/1183-Christianity</permalink>
1761
- </category>
1762
- <category>
1763
- <id>1212</id>
1764
- <name>Hinduism</name>
1765
- <parent-id>1177</parent-id>
1766
- <permalink>http://www.howcast.com/categories/1212-Hinduism</permalink>
1767
- </category>
1768
- <category>
1769
- <id>1225</id>
1770
- <name>Islam</name>
1771
- <parent-id>1177</parent-id>
1772
- <permalink>http://www.howcast.com/categories/1225-Islam</permalink>
1773
- </category>
1774
- <category>
1775
- <id>1247</id>
1776
- <name>Judaism</name>
1777
- <parent-id>1177</parent-id>
1778
- <permalink>http://www.howcast.com/categories/1247-Judaism</permalink>
1779
- </category>
1780
- <category>
1781
- <id>1271</id>
1782
- <name>New Age</name>
1783
- <parent-id>1177</parent-id>
1784
- <permalink>http://www.howcast.com/categories/1271-New-Age</permalink>
1785
- </category>
1786
- </subcategories>
1787
- </category>
1788
- <category>
1789
- <id>1296</id>
1790
- <name>Sex &amp; Relationships</name>
1791
- <parent-id nil="true"></parent-id>
1792
- <permalink>http://www.howcast.com/categories/1296-Sex-and-Relationships</permalink>
1793
- <parents>
1794
- </parents>
1795
- <subcategories>
1796
- <category>
1797
- <id>1297</id>
1798
- <name>Communication</name>
1799
- <parent-id>1296</parent-id>
1800
- <permalink>http://www.howcast.com/categories/1297-Communication</permalink>
1801
- </category>
1802
- <category>
1803
- <id>1298</id>
1804
- <name>Dating</name>
1805
- <parent-id>1296</parent-id>
1806
- <permalink>http://www.howcast.com/categories/1298-Dating</permalink>
1807
- </category>
1808
- <category>
1809
- <id>1307</id>
1810
- <name>Friends &amp; Neighbors</name>
1811
- <parent-id>1296</parent-id>
1812
- <permalink>http://www.howcast.com/categories/1307-Friends-and-Neighbors</permalink>
1813
- </category>
1814
- <category>
1815
- <id>1308</id>
1816
- <name>Gay &amp; Lesbian</name>
1817
- <parent-id>1296</parent-id>
1818
- <permalink>http://www.howcast.com/categories/1308-Gay-and-Lesbian</permalink>
1819
- </category>
1820
- <category>
1821
- <id>1309</id>
1822
- <name>Marriage</name>
1823
- <parent-id>1296</parent-id>
1824
- <permalink>http://www.howcast.com/categories/1309-Marriage</permalink>
1825
- </category>
1826
- <category>
1827
- <id>1315</id>
1828
- <name>Roommates</name>
1829
- <parent-id>1296</parent-id>
1830
- <permalink>http://www.howcast.com/categories/1315-Roommates</permalink>
1831
- </category>
1832
- <category>
1833
- <id>1316</id>
1834
- <name>Sex</name>
1835
- <parent-id>1296</parent-id>
1836
- <permalink>http://www.howcast.com/categories/1316-Sex</permalink>
1837
- </category>
1838
- <category>
1839
- <id>1321</id>
1840
- <name>Single Life</name>
1841
- <parent-id>1296</parent-id>
1842
- <permalink>http://www.howcast.com/categories/1321-Single-Life</permalink>
1843
- </category>
1844
- <category>
1845
- <id>1322</id>
1846
- <name>Weddings</name>
1847
- <parent-id>1296</parent-id>
1848
- <permalink>http://www.howcast.com/categories/1322-Weddings</permalink>
1849
- </category>
1850
- </subcategories>
1851
- </category>
1852
- <category>
1853
- <id>1334</id>
1854
- <name>Sports &amp; Fitness</name>
1855
- <parent-id nil="true"></parent-id>
1856
- <permalink>http://www.howcast.com/categories/1334-Sports-and-Fitness</permalink>
1857
- <parents>
1858
- </parents>
1859
- <subcategories>
1860
- <category>
1861
- <id>1344</id>
1862
- <name>Baseball</name>
1863
- <parent-id>1334</parent-id>
1864
- <permalink>http://www.howcast.com/categories/1344-Baseball</permalink>
1865
- </category>
1866
- <category>
1867
- <id>1349</id>
1868
- <name>Basketball</name>
1869
- <parent-id>1334</parent-id>
1870
- <permalink>http://www.howcast.com/categories/1349-Basketball</permalink>
1871
- </category>
1872
- <category>
1873
- <id>1353</id>
1874
- <name>Bikes &amp; Biking</name>
1875
- <parent-id>1334</parent-id>
1876
- <permalink>http://www.howcast.com/categories/1353-Bikes-and-Biking</permalink>
1877
- </category>
1878
- <category>
1879
- <id>1359</id>
1880
- <name>Boats &amp; Boating</name>
1881
- <parent-id>1334</parent-id>
1882
- <permalink>http://www.howcast.com/categories/1359-Boats-and-Boating</permalink>
1883
- </category>
1884
- <category>
1885
- <id>1366</id>
1886
- <name>Coaching</name>
1887
- <parent-id>1334</parent-id>
1888
- <permalink>http://www.howcast.com/categories/1366-Coaching</permalink>
1889
- </category>
1890
- <category>
1891
- <id>1371</id>
1892
- <name>Exercise</name>
1893
- <parent-id>1334</parent-id>
1894
- <permalink>http://www.howcast.com/categories/1371-Exercise</permalink>
1895
- </category>
1896
- <category>
1897
- <id>1396</id>
1898
- <name>Fishing</name>
1899
- <parent-id>1334</parent-id>
1900
- <permalink>http://www.howcast.com/categories/1396-Fishing</permalink>
1901
- </category>
1902
- <category>
1903
- <id>1382</id>
1904
- <name>Football</name>
1905
- <parent-id>1334</parent-id>
1906
- <permalink>http://www.howcast.com/categories/1382-Football</permalink>
1907
- </category>
1908
- <category>
1909
- <id>1335</id>
1910
- <name>General Sports</name>
1911
- <parent-id>1334</parent-id>
1912
- <permalink>http://www.howcast.com/categories/1335-General-Sports</permalink>
1913
- </category>
1914
- <category>
1915
- <id>1386</id>
1916
- <name>Golf</name>
1917
- <parent-id>1334</parent-id>
1918
- <permalink>http://www.howcast.com/categories/1386-Golf</permalink>
1919
- </category>
1920
- <category>
1921
- <id>1402</id>
1922
- <name>Guns &amp; Shooting</name>
1923
- <parent-id>1334</parent-id>
1924
- <permalink>http://www.howcast.com/categories/1402-Guns-and-Shooting</permalink>
1925
- </category>
1926
- <category>
1927
- <id>1392</id>
1928
- <name>Hockey</name>
1929
- <parent-id>1334</parent-id>
1930
- <permalink>http://www.howcast.com/categories/1392-Hockey</permalink>
1931
- </category>
1932
- <category>
1933
- <id>1408</id>
1934
- <name>Hunting</name>
1935
- <parent-id>1334</parent-id>
1936
- <permalink>http://www.howcast.com/categories/1408-Hunting</permalink>
1937
- </category>
1938
- <category>
1939
- <id>1417</id>
1940
- <name>Martial Arts</name>
1941
- <parent-id>1334</parent-id>
1942
- <permalink>http://www.howcast.com/categories/1417-Martial-Arts</permalink>
1943
- </category>
1944
- <category>
1945
- <id>1424</id>
1946
- <name>Olympics &amp; Olympic Sports</name>
1947
- <parent-id>1334</parent-id>
1948
- <permalink>http://www.howcast.com/categories/1424-Olympics-and-Olympic-Sports</permalink>
1949
- </category>
1950
- <category>
1951
- <id>1412</id>
1952
- <name>Outdoor Skills</name>
1953
- <parent-id>1334</parent-id>
1954
- <permalink>http://www.howcast.com/categories/1412-Outdoor-Skills</permalink>
1955
- </category>
1956
- <category>
1957
- <id>1434</id>
1958
- <name>Running</name>
1959
- <parent-id>1334</parent-id>
1960
- <permalink>http://www.howcast.com/categories/1434-Running</permalink>
1961
- </category>
1962
- <category>
1963
- <id>1437</id>
1964
- <name>Skating &amp; Skateboarding</name>
1965
- <parent-id>1334</parent-id>
1966
- <permalink>http://www.howcast.com/categories/1437-Skating-and-Skateboarding</permalink>
1967
- </category>
1968
- <category>
1969
- <id>1440</id>
1970
- <name>Soccer</name>
1971
- <parent-id>1334</parent-id>
1972
- <permalink>http://www.howcast.com/categories/1440-Soccer</permalink>
1973
- </category>
1974
- <category>
1975
- <id>1445</id>
1976
- <name>Sports Fitness</name>
1977
- <parent-id>1334</parent-id>
1978
- <permalink>http://www.howcast.com/categories/1445-Sports-Fitness</permalink>
1979
- </category>
1980
- <category>
1981
- <id>1449</id>
1982
- <name>Tennis &amp; Racquet Sports</name>
1983
- <parent-id>1334</parent-id>
1984
- <permalink>http://www.howcast.com/categories/1449-Tennis-and-Racquet-Sports</permalink>
1985
- </category>
1986
- <category>
1987
- <id>1454</id>
1988
- <name>Water Sports</name>
1989
- <parent-id>1334</parent-id>
1990
- <permalink>http://www.howcast.com/categories/1454-Water-Sports</permalink>
1991
- </category>
1992
- <category>
1993
- <id>1463</id>
1994
- <name>Winter Sports</name>
1995
- <parent-id>1334</parent-id>
1996
- <permalink>http://www.howcast.com/categories/1463-Winter-Sports</permalink>
1997
- </category>
1998
- </subcategories>
1999
- </category>
2000
- <category>
2001
- <id>1470</id>
2002
- <name>Technology</name>
2003
- <parent-id nil="true"></parent-id>
2004
- <permalink>http://www.howcast.com/categories/1470-Technology</permalink>
2005
- <parents>
2006
- </parents>
2007
- <subcategories>
2008
- <category>
2009
- <id>1752</id>
2010
- <name>Apple &amp; MacIntosh</name>
2011
- <parent-id>1470</parent-id>
2012
- <permalink>http://www.howcast.com/categories/1752-Apple-and-MacIntosh</permalink>
2013
- </category>
2014
- <category>
2015
- <id>1472</id>
2016
- <name>Computer &amp; Video Games</name>
2017
- <parent-id>1470</parent-id>
2018
- <permalink>http://www.howcast.com/categories/1472-Computer-and-Video-Games</permalink>
2019
- </category>
2020
- <category>
2021
- <id>1484</id>
2022
- <name>Computer Hardware</name>
2023
- <parent-id>1470</parent-id>
2024
- <permalink>http://www.howcast.com/categories/1484-Computer-Hardware</permalink>
2025
- </category>
2026
- <category>
2027
- <id>1494</id>
2028
- <name>Computer Software</name>
2029
- <parent-id>1470</parent-id>
2030
- <permalink>http://www.howcast.com/categories/1494-Computer-Software</permalink>
2031
- </category>
2032
- <category>
2033
- <id>1471</id>
2034
- <name>General Technology</name>
2035
- <parent-id>1470</parent-id>
2036
- <permalink>http://www.howcast.com/categories/1471-General-Technology</permalink>
2037
- </category>
2038
- <category>
2039
- <id>1502</id>
2040
- <name>Graphics Software</name>
2041
- <parent-id>1470</parent-id>
2042
- <permalink>http://www.howcast.com/categories/1502-Graphics-Software</permalink>
2043
- </category>
2044
- <category>
2045
- <id>1508</id>
2046
- <name>Home Electronics</name>
2047
- <parent-id>1470</parent-id>
2048
- <permalink>http://www.howcast.com/categories/1508-Home-Electronics</permalink>
2049
- </category>
2050
- <category>
2051
- <id>1513</id>
2052
- <name>Home Entertainment Systems</name>
2053
- <parent-id>1470</parent-id>
2054
- <permalink>http://www.howcast.com/categories/1513-Home-Entertainment-Systems</permalink>
2055
- </category>
2056
- <category>
2057
- <id>1519</id>
2058
- <name>Internet &amp; World Wide Web</name>
2059
- <parent-id>1470</parent-id>
2060
- <permalink>http://www.howcast.com/categories/1519-Internet-and-World-Wide-Web</permalink>
2061
- </category>
2062
- <category>
2063
- <id>1748</id>
2064
- <name>Networking &amp; Telecommunications</name>
2065
- <parent-id>1470</parent-id>
2066
- <permalink>http://www.howcast.com/categories/1748-Networking-and-Telecommunications</permalink>
2067
- </category>
2068
- <category>
2069
- <id>1532</id>
2070
- <name>Operating Systems</name>
2071
- <parent-id>1470</parent-id>
2072
- <permalink>http://www.howcast.com/categories/1532-Operating-Systems</permalink>
2073
- </category>
2074
- <category>
2075
- <id>1728</id>
2076
- <name>Science &amp; Technology Projects</name>
2077
- <parent-id>1470</parent-id>
2078
- <permalink>http://www.howcast.com/categories/1728-Science-and-Technology-Projects</permalink>
2079
- </category>
2080
- <category>
2081
- <id>1770</id>
2082
- <name>Small Business Technology</name>
2083
- <parent-id>1470</parent-id>
2084
- <permalink>http://www.howcast.com/categories/1770-Small-Business-Technology</permalink>
2085
- </category>
2086
- <category>
2087
- <id>1536</id>
2088
- <name>Telescopes &amp; Astronomy</name>
2089
- <parent-id>1470</parent-id>
2090
- <permalink>http://www.howcast.com/categories/1536-Telescopes-and-Astronomy</permalink>
2091
- </category>
2092
- </subcategories>
2093
- </category>
2094
- <category>
2095
- <id>1537</id>
2096
- <name>Teens</name>
2097
- <parent-id nil="true"></parent-id>
2098
- <permalink>http://www.howcast.com/categories/1537-Teens</permalink>
2099
- <parents>
2100
- </parents>
2101
- <subcategories>
2102
- <category>
2103
- <id>1538</id>
2104
- <name>Diet &amp; Health</name>
2105
- <parent-id>1537</parent-id>
2106
- <permalink>http://www.howcast.com/categories/1538-Diet-and-Health</permalink>
2107
- </category>
2108
- <category>
2109
- <id>1543</id>
2110
- <name>Jobs &amp; Money</name>
2111
- <parent-id>1537</parent-id>
2112
- <permalink>http://www.howcast.com/categories/1543-Jobs-and-Money</permalink>
2113
- </category>
2114
- <category>
2115
- <id>1546</id>
2116
- <name>Parents &amp; Family</name>
2117
- <parent-id>1537</parent-id>
2118
- <permalink>http://www.howcast.com/categories/1546-Parents-and-Family</permalink>
2119
- </category>
2120
- <category>
2121
- <id>1551</id>
2122
- <name>Relationships &amp; Dating</name>
2123
- <parent-id>1537</parent-id>
2124
- <permalink>http://www.howcast.com/categories/1551-Relationships-and-Dating</permalink>
2125
- </category>
2126
- <category>
2127
- <id>1557</id>
2128
- <name>School &amp; Studying</name>
2129
- <parent-id>1537</parent-id>
2130
- <permalink>http://www.howcast.com/categories/1557-School-and-Studying</permalink>
2131
- </category>
2132
- <category>
2133
- <id>1563</id>
2134
- <name>Social Issues</name>
2135
- <parent-id>1537</parent-id>
2136
- <permalink>http://www.howcast.com/categories/1563-Social-Issues</permalink>
2137
- </category>
2138
- <category>
2139
- <id>1569</id>
2140
- <name>Style</name>
2141
- <parent-id>1537</parent-id>
2142
- <permalink>http://www.howcast.com/categories/1569-Style</permalink>
2143
- </category>
2144
- <category>
2145
- <id>1570</id>
2146
- <name>Teen Life</name>
2147
- <parent-id>1537</parent-id>
2148
- <permalink>http://www.howcast.com/categories/1570-Teen-Life</permalink>
2149
- </category>
2150
- </subcategories>
2151
- </category>
2152
- <category>
2153
- <id>1571</id>
2154
- <name>Travel</name>
2155
- <parent-id nil="true"></parent-id>
2156
- <permalink>http://www.howcast.com/categories/1571-Travel</permalink>
2157
- <parents>
2158
- </parents>
2159
- <subcategories>
2160
- <category>
2161
- <id>1584</id>
2162
- <name>African Travel</name>
2163
- <parent-id>1571</parent-id>
2164
- <permalink>http://www.howcast.com/categories/1584-African-Travel</permalink>
2165
- </category>
2166
- <category>
2167
- <id>1590</id>
2168
- <name>Asian Travel</name>
2169
- <parent-id>1571</parent-id>
2170
- <permalink>http://www.howcast.com/categories/1590-Asian-Travel</permalink>
2171
- </category>
2172
- <category>
2173
- <id>1599</id>
2174
- <name>Australia &amp; New Zealand Travel</name>
2175
- <parent-id>1571</parent-id>
2176
- <permalink>http://www.howcast.com/categories/1599-Australia-and-New-Zealand-Travel</permalink>
2177
- </category>
2178
- <category>
2179
- <id>1768</id>
2180
- <name>Canadian Travel</name>
2181
- <parent-id>1571</parent-id>
2182
- <permalink>http://www.howcast.com/categories/1768-Canadian-Travel</permalink>
2183
- </category>
2184
- <category>
2185
- <id>1602</id>
2186
- <name>Caribbean Travel</name>
2187
- <parent-id>1571</parent-id>
2188
- <permalink>http://www.howcast.com/categories/1602-Caribbean-Travel</permalink>
2189
- </category>
2190
- <category>
2191
- <id>1608</id>
2192
- <name>European Travel</name>
2193
- <parent-id>1571</parent-id>
2194
- <permalink>http://www.howcast.com/categories/1608-European-Travel</permalink>
2195
- </category>
2196
- <category>
2197
- <id>1572</id>
2198
- <name>General Travel</name>
2199
- <parent-id>1571</parent-id>
2200
- <permalink>http://www.howcast.com/categories/1572-General-Travel</permalink>
2201
- </category>
2202
- <category>
2203
- <id>1631</id>
2204
- <name>General U.S. Travel</name>
2205
- <parent-id>1571</parent-id>
2206
- <permalink>http://www.howcast.com/categories/1631-General-US-Travel</permalink>
2207
- </category>
2208
- <category>
2209
- <id>1618</id>
2210
- <name>Latin American Travel</name>
2211
- <parent-id>1571</parent-id>
2212
- <permalink>http://www.howcast.com/categories/1618-Latin-American-Travel</permalink>
2213
- </category>
2214
- <category>
2215
- <id>1625</id>
2216
- <name>Middle Eastern Travel</name>
2217
- <parent-id>1571</parent-id>
2218
- <permalink>http://www.howcast.com/categories/1625-Middle-Eastern-Travel</permalink>
2219
- </category>
2220
- <category>
2221
- <id>1632</id>
2222
- <name>Travel To New England</name>
2223
- <parent-id>1571</parent-id>
2224
- <permalink>http://www.howcast.com/categories/1632-Travel-To-New-England</permalink>
2225
- </category>
2226
- <category>
2227
- <id>1640</id>
2228
- <name>Travel To the Middle Atlantic States</name>
2229
- <parent-id>1571</parent-id>
2230
- <permalink>http://www.howcast.com/categories/1640-Travel-To-the-Middle-Atlantic-States</permalink>
2231
- </category>
2232
- <category>
2233
- <id>1658</id>
2234
- <name>Travel To the Midwest</name>
2235
- <parent-id>1571</parent-id>
2236
- <permalink>http://www.howcast.com/categories/1658-Travel-To-the-Midwest</permalink>
2237
- </category>
2238
- <category>
2239
- <id>1677</id>
2240
- <name>Travel To the Pacific Northwest</name>
2241
- <parent-id>1571</parent-id>
2242
- <permalink>http://www.howcast.com/categories/1677-Travel-To-the-Pacific-Northwest</permalink>
2243
- </category>
2244
- <category>
2245
- <id>1648</id>
2246
- <name>Travel To the Southern US</name>
2247
- <parent-id>1571</parent-id>
2248
- <permalink>http://www.howcast.com/categories/1648-Travel-To-the-Southern-US</permalink>
2249
- </category>
2250
- <category>
2251
- <id>1664</id>
2252
- <name>Travel To the Southwest</name>
2253
- <parent-id>1571</parent-id>
2254
- <permalink>http://www.howcast.com/categories/1664-Travel-To-the-Southwest</permalink>
2255
- </category>
2256
- <category>
2257
- <id>1669</id>
2258
- <name>Travel To the Western US</name>
2259
- <parent-id>1571</parent-id>
2260
- <permalink>http://www.howcast.com/categories/1669-Travel-To-the-Western-US</permalink>
2261
- </category>
2262
- <category>
2263
- <id>1684</id>
2264
- <name>Travel To U.S. Cities</name>
2265
- <parent-id>1571</parent-id>
2266
- <permalink>http://www.howcast.com/categories/1684-Travel-To-US-Cities</permalink>
2267
- </category>
2268
- </subcategories>
2269
- </category>
2270
- </categories>
2271
- </howcast>
2272
- CAT
44
+ @categories_xml ||= load_fixture 'categories.xml'
2273
45
  end
2274
46
 
2275
47
  def video_xml
2276
- <<-VID
2277
- <?xml version="1.0" encoding="UTF-8"?>
2278
- <howcast version="0.1">
2279
- <video>
2280
- <category-id>2</category-id>
2281
- <duration>22</duration>
2282
- <id>233</id>
2283
- <category-hierarchy>
2284
- <category id="479">Health &amp; Nutrition</category>
2285
- <category parent_id="479" id="510">Exercise</category>
2286
- <category parent_id="510" id="515">Yoga</category>
2287
- </category-hierarchy>
2288
- <easy-steps>true</easy-steps>
2289
- <badges>Howcast Studios</badges>
2290
- <title>How To Do a Noble Pose</title>
2291
- <filename>/system/videos/2/33/02/233.flv</filename>
2292
- <embed>
2293
- <![CDATA[<object width="425" height="352" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" id="howcastplayer"><param name="movie" value="http://www.howcast.com/flash/howcast_player.swf?file=233"></param><param name="allowFullScreen" value="true"></param><param name="allowScriptAccess" value="always"></param><embed src="http://www.howcast.com/flash/howcast_player.swf?file=233" type="application/x-shockwave-flash" width="425" height="352" allowFullScreen="true" allowScriptAccess="always" ></embed></object>]]>
2294
- </embed>
2295
- <description>
2296
- <![CDATA[You recognize the Noble Pose as the dreaded "sit-and-reach" from your childhood gym class. A sample <a href="howcast.com">link</a>]]>
2297
- </description>
2298
- <permalink>http://www.howcast.com/videos/233-How-To-Do-a-Noble-Pose</permalink>
2299
- <username>joekulak</username>
2300
- <thumbnail-url>http://www.howcast.com/system/thumbnails/233/Mind.How_to_Do_the_Noble_Pose_SD_xxlarge.jpg</thumbnail-url>
2301
- <views>38</views>
2302
- <rating>2.0</rating>
2303
- <created-at>#{Time.now.rfc822}</created-at>
2304
- <ingredients>
2305
- <ingredient>
2306
- <![CDATA[Comfortable clothing suitable for stretching and moving]]>
2307
- </ingredient>
2308
- <ingredient>
2309
- <![CDATA[A calm place where you won't be distracted or disturbed]]>
2310
- </ingredient>
2311
- <ingredient>
2312
- <![CDATA[A yoga mat or folded blanket]]>
2313
- </ingredient>
2314
- <ingredient>
2315
- <![CDATA[A belt or strap]]>
2316
- </ingredient>
2317
- </ingredients>
2318
- <markers>
2319
- <marker>
2320
- <id>3716</id>
2321
- <position>1</position>
2322
- <timemarker>32</timemarker>
2323
- <type>Step</type>
2324
- <thumbnail-url>http://img.howcast.com/system/thumbnails/233/32.jpg</thumbnail-url>
2325
- <title>Sit down on mat</title>
2326
- <textile-text>
2327
- <![CDATA[Sit down on the mat with your legs straight out in front of you.]]>
2328
- </textile-text>
2329
- <text>
2330
- <![CDATA[<p>Sit down on the mat with your legs straight out in front of you.</p>]]>
2331
- </text>
2332
- </marker>
2333
- <marker>
2334
- <id>3719</id>
2335
- <position>4</position>
2336
- <timemarker>48</timemarker>
2337
- <type>Tip</type>
2338
- <thumbnail-url></thumbnail-url>
2339
- <title></title>
2340
- <textile-text>
2341
- <![CDATA[It's okay to slightly bend at the knees while extending into this pose.]]>
2342
- </textile-text>
2343
- <text>
2344
- <![CDATA[<p>It&#8217;s okay to slightly bend at the knees while extending into this pose.</p>]]>
2345
- </text>
2346
- </marker>
2347
- <marker>
2348
- <id>3723</id>
2349
- <position>8</position>
2350
- <timemarker>70</timemarker>
2351
- <type>Step</type>
2352
- <thumbnail-url>http://img.howcast.com/system/thumbnails/233/70.jpg</thumbnail-url>
2353
- <title>Release pose</title>
2354
- <textile-text>
2355
- <![CDATA[To release the pose, inhale, and raise your torso straight up with your arms stretched overhead, then exhale and lower your hands to the floor. Now to conquer kickball...]]>
2356
- </textile-text>
2357
- <text>
2358
- <![CDATA[<p>To release the pose, inhale, and raise your torso straight up with your arms stretched overhead, then exhale and lower your hands to the floor. Now to conquer kickball&#8230;</p>]]>
2359
- </text>
2360
- </marker>
2361
- <marker>
2362
- <id>3724</id>
2363
- <position>9</position>
2364
- <timemarker>81</timemarker>
2365
- <type>Fact</type>
2366
- <thumbnail-url></thumbnail-url>
2367
- <title></title>
2368
- <textile-text>
2369
- <![CDATA[Pop nobility Sting recently admitted that he and his wife's claims of yoga-inspired marathons of tantric sex was all a joke, saying, "I have frantic sex, not tantric sex."]]>
2370
- </textile-text>
2371
- <text>
2372
- <![CDATA[<p>Pop nobility Sting recently admitted that he and his wife&#8217;s claims of yoga-inspired marathons of tantric sex was all a joke, saying, &#8220;I have frantic sex, not tantric sex.&#8221;</p>]]>
2373
- </text>
2374
- </marker>
2375
- </markers>
2376
- <related-videos>
2377
- <video>
2378
- <category-id>515</category-id>
2379
- <id>224</id>
2380
- <title>How To Do the Extended Triangle Pose</title>
2381
- <views>2470</views>
2382
- <type>HowcastGuide</type>
2383
- <created-at>Wed, 05 Dec 2007 20:07:04 -0800</created-at>
2384
- <rating>6</rating>
2385
- <username>joekulak</username>
2386
- <description>
2387
- <![CDATA[What do paintings on a wall, car tires, and promising horoscopes have in common? They all require proper alignment. It's not the easiest skill to acquire, but the Extended Triangle Pose will help hone it.]]>
2388
- </description>
2389
- <embed>
2390
- <![CDATA[<object width="425" height="352" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" id="howcastplayer"><param name="movie" value="http://www.howcast.com/flash/howcast_player.swf?file=224"></param><param name="allowFullScreen" value="true"></param><param name="allowScriptAccess" value="always"></param><embed src="http://www.howcast.com/flash/howcast_player.swf?file=224" type="application/x-shockwave-flash" width="425" height="352" allowFullScreen="true" allowScriptAccess="always" ></embed></object>]]>
2391
- </embed>
2392
- <duration>146</duration>
2393
- <filename>http://media.howcast.com/system/videos/0/24/02/224.flv</filename>
2394
- <tags>DIY, Instructional, tutorial, Do It Yourself, Tips, Essential Skills, Learn to, yoga, pose, position, body, exercise, stretch, meditation, extended, triangle, utthita, trikonasana, warrior</tags>
2395
- <category-hierarchy>
2396
- <category id="479">Health &amp; Nutrition</category>
2397
- <category parent_id="479" id="510">Exercise</category>
2398
- <category parent_id="510" id="515">Yoga</category>
2399
- </category-hierarchy>
2400
- <comment-count>0</comment-count>
2401
- <thumbnail-url>http://img.howcast.com/system/thumbnails/224/Mind.How_to_Do_the_Extended_Triangle_Pose_SD_xxlarge_maintained_aspect.jpg</thumbnail-url>
2402
- <permalink>http://www.howcast.com/videos/224-How-To-Do-the-Extended-Triangle-Pose</permalink>
2403
- <content_rating>nonadult</content_rating>
2404
- </video>
2405
- <video>
2406
- <category-id>515</category-id>
2407
- <id>225</id>
2408
- <title>How To Do a Seated Spinal Twist Pose</title>
2409
- <views>3461</views>
2410
- <type>HowcastGuide</type>
2411
- <created-at>Wed, 05 Dec 2007 20:07:08 -0800</created-at>
2412
- <rating>8</rating>
2413
- <username>joekulak</username>
2414
- <description>
2415
- <![CDATA[According to Hindu mythology, this pose was originated by a yogi who spent 12 years in the belly of a fish, eavesdropping on Shiva's secret yoga instructions in an ocean cave. All you have to do is sit on a mat.]]>
2416
- </description>
2417
- <embed>
2418
- <![CDATA[<object width="425" height="352" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" id="howcastplayer"><param name="movie" value="http://www.howcast.com/flash/howcast_player.swf?file=225"></param><param name="allowFullScreen" value="true"></param><param name="allowScriptAccess" value="always"></param><embed src="http://www.howcast.com/flash/howcast_player.swf?file=225" type="application/x-shockwave-flash" width="425" height="352" allowFullScreen="true" allowScriptAccess="always" ></embed></object>]]>
2419
- </embed>
2420
- <duration>143</duration>
2421
- <filename>http://media.howcast.com/system/videos/1/25/02/225.flv</filename>
2422
- <tags>DIY, Instructional, tutorial, Do It Yourself, Tips, Essential Skills, Learn to, yoga, pose, position, body, exercise, stretch, meditation, seated, spinal, twist, Ardha, Matsyendrasana</tags>
2423
- <category-hierarchy>
2424
- <category id="479">Health &amp; Nutrition</category>
2425
- <category parent_id="479" id="510">Exercise</category>
2426
- <category parent_id="510" id="515">Yoga</category>
2427
- </category-hierarchy>
2428
- <comment-count>0</comment-count>
2429
- <thumbnail-url>http://img.howcast.com/system/thumbnails/225/Mind.How_to_Do_a_Seated_Spinal_Twist_Pose_SD_xxlarge_maintained_aspect.jpg</thumbnail-url>
2430
- <permalink>http://www.howcast.com/videos/225-How-To-Do-a-Seated-Spinal-Twist-Pose</permalink>
2431
- <content_rating>nonadult</content_rating>
2432
- </video>
2433
- </related-videos>
2434
- </video>
2435
- </howcast>
2436
- VID
48
+ @video_xml ||= load_fixture 'video.233.xml'
49
+ end
50
+
51
+ def video_generated_xml
52
+ @video_generated_xml ||= load_fixture 'video.233.generated.xml'
2437
53
  end
2438
54
 
55
+ # TODO:
2439
56
  def videos_xml
2440
57
  <<-VID
2441
58
  <?xml version="1.0" encoding="UTF-8"?>
@@ -2487,514 +104,18 @@ module XmlFixturesHelper
2487
104
  end
2488
105
 
2489
106
  def user_videos_xml
2490
- <<-VID
2491
- <?xml version="1.0" encoding="UTF-8"?>
2492
- <howcast version="0.1">
2493
- <title>Howcast - mrmark86's videos</title>
2494
- <firstname>Mark</firstname>
2495
- <count>1</count>
2496
- <lastname>Rogers</lastname>
2497
- <login>mrmark86</login>
2498
- <thumbnail-url>http://img.howcast.com/images/icons/user-medium.gif</thumbnail-url>
2499
- <views>63</views>
2500
- <videos>
2501
- <video>
2502
- <category-id>1356</category-id>
2503
- <id>329098</id>
2504
- <title>How To Remove Bike Handlebar Grips</title>
2505
- <views>165</views>
2506
- <type>HowcastGuide</type>
2507
- <created-at>Sun, 14 Mar 2010 11:02:07 -0700</created-at>
2508
- <rating>0</rating>
2509
- <username>mrmark86</username>
2510
- <description>
2511
- <![CDATA[Remove your handlebar grips in just a few minutes with these tips.]]>
2512
- </description>
2513
- <embed>
2514
- <![CDATA[<object width="425" height="352" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" id="howcastplayer"><param name="movie" value="http://www.howcast.com/flash/howcast_player.swf?file=329098"></param><param name="allowFullScreen" value="true"></param><param name="allowScriptAccess" value="always"></param><embed src="http://www.howcast.com/flash/howcast_player.swf?file=329098" type="application/x-shockwave-flash" width="425" height="352" allowFullScreen="true" allowScriptAccess="always" ></embed></object>]]>
2515
- </embed>
2516
- <duration>61</duration>
2517
- <filename>http://media.howcast.com/system/videos/6/16/57/32/325716.flv</filename>
2518
- <tags>sports, fitness, bikes, biking, bicycles, handles, grips, removal, tools, screwdriver</tags>
2519
- <category-hierarchy>
2520
- <category id="1334">Sports &amp; Fitness</category>
2521
- <category parent_id="1334" id="1353">Bikes &amp; Biking</category>
2522
- <category parent_id="1353" id="1356">Biking Equipment</category>
2523
- </category-hierarchy>
2524
- <comment-count>0</comment-count>
2525
- <thumbnail-url>http://img.howcast.com/thumbnails/329098/RemoveBikeHandlebarGrips_xxlarge_maintained_aspect.png</thumbnail-url>
2526
- <permalink>http://www.howcast.com/videos/329098-How-To-Remove-Bike-Handlebar-Grips</permalink>
2527
- <content_rating>nonadult</content_rating>
2528
- </video>
2529
- </videos>
2530
- </howcast>
2531
- VID
107
+ @user_videos_xml ||= load_fixture 'users.someone.profile.videos.xml'
2532
108
  end
2533
109
 
2534
110
  def homepage_videos_xml
2535
- <<-VID
2536
- <?xml version="1.0" encoding="UTF-8"?>
2537
- <howcast version="0.1">
2538
- <title>Howcast - Staff Picks</title>
2539
- <videos>
2540
- <video>
2541
- <category-id>876</category-id>
2542
- <id>92193</id>
2543
- <title>How To Display Impeccable Manners</title>
2544
- <views>4420</views>
2545
- <type>HowcastGuide</type>
2546
- <created-at>Mon, 08 Dec 2008 06:01:37 -0800</created-at>
2547
- <rating>18</rating>
2548
- <username>Jordana_Giorgio</username>
2549
- <description>
2550
- <![CDATA[You’ll probably never have to greet the Queen, but everyone should know some basic etiquette rules. ]]>
2551
- </description>
2552
- <embed>
2553
- <![CDATA[<object width="425" height="273" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" id="howcastplayer"><param name="movie" value="http://www.howcast.com/flash/howcast_player.swf?file=92193"></param><param name="allowFullScreen" value="true"></param><param name="allowScriptAccess" value="always"></param><embed src="http://www.howcast.com/flash/howcast_player.swf?file=92193" type="application/x-shockwave-flash" width="425" height="273" allowFullScreen="true" allowScriptAccess="always" ></embed></object>]]>
2554
- </embed>
2555
- <duration>113</duration>
2556
- <filename>http://media.howcast.com/system/videos/3/93/21/09/92193.flv</filename>
2557
- <tags>etiquette, practicing, work, office, social, niceties, basics, decorum, public, acting</tags>
2558
- <category-hierarchy>
2559
- <category id="841">Language &amp; Reference</category>
2560
- <category parent_id="841" id="875">Etiquette</category>
2561
- <category parent_id="875" id="876">General Etiquette</category>
2562
- </category-hierarchy>
2563
- <comment-count>2</comment-count>
2564
- <thumbnail-url>http://img.howcast.com/thumbnails/92193/impeccable_manners_hd_1_xxlarge_maintained_aspect.jpg</thumbnail-url>
2565
- <permalink>http://www.howcast.com/videos/92193-How-To-Display-Impeccable-Manners</permalink>
2566
- <content_rating>nonadult</content_rating>
2567
- </video>
2568
- <video>
2569
- <category-id>496</category-id>
2570
- <id>359329</id>
2571
- <title>Health To Go: How To Eat Healthy on the Go</title>
2572
- <views>127</views>
2573
- <type>HowcastGuide</type>
2574
- <created-at>Fri, 12 Mar 2010 12:15:56 -0800</created-at>
2575
- <rating>0</rating>
2576
- <username>Howcast</username>
2577
- <description>
2578
- <![CDATA[On the run and out of healthy options? Save plastic takeout containers, fill them with peanut butter or hummus, and take along some raw vegetables. Bingo!]]>
2579
- </description>
2580
- <embed>
2581
- <![CDATA[<object width="425" height="273" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" id="howcastplayer"><param name="movie" value="http://www.howcast.com/flash/howcast_player.swf?file=359329"></param><param name="allowFullScreen" value="true"></param><param name="allowScriptAccess" value="always"></param><embed src="http://www.howcast.com/flash/howcast_player.swf?file=359329" type="application/x-shockwave-flash" width="425" height="273" allowFullScreen="true" allowScriptAccess="always" ></embed></object>]]>
2582
- </embed>
2583
- <duration>20</duration>
2584
- <filename>http://media.howcast.com/system/videos/0/78/65/32/326578.flv</filename>
2585
- <tags>diet, food, nutrition, vegetables, to-go, eat, healthy, pack, lunch, snack</tags>
2586
- <category-hierarchy>
2587
- <category id="479">Health &amp; Nutrition</category>
2588
- <category parent_id="479" id="494">Diet</category>
2589
- <category parent_id="494" id="496">Better Health</category>
2590
- </category-hierarchy>
2591
- <comment-count>0</comment-count>
2592
- <thumbnail-url>http://img.howcast.com/thumbnails/359329/ge_health-to-go_jungle_thumb_xxlarge_maintained_aspect.jpg</thumbnail-url>
2593
- <permalink>http://www.howcast.com/videos/359329-Health-To-Go-How-To-Eat-Healthy-on-the-Go</permalink>
2594
- <content_rating>nonadult</content_rating>
2595
- </video>
2596
- <video>
2597
- <category-id>1728</category-id>
2598
- <id>372018</id>
2599
- <title>How To Make a TV Remote Jammer</title>
2600
- <views>0</views>
2601
- <type>HowcastGuide</type>
2602
- <created-at>Thu, 18 Mar 2010 04:02:21 -0700</created-at>
2603
- <rating>1</rating>
2604
- <username>gigafide</username>
2605
- <description>
2606
- <![CDATA[Tired of remote control jockeys speeding through the channels? Here's your chance to stop them dead in their tracks.]]>
2607
- </description>
2608
- <embed>
2609
- <![CDATA[<object width="425" height="273" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" id="howcastplayer"><param name="movie" value="http://www.howcast.com/flash/howcast_player.swf?file=372018"></param><param name="allowFullScreen" value="true"></param><param name="allowScriptAccess" value="always"></param><embed src="http://www.howcast.com/flash/howcast_player.swf?file=372018" type="application/x-shockwave-flash" width="425" height="273" allowFullScreen="true" allowScriptAccess="always" ></embed></object>]]>
2610
- </embed>
2611
- <duration>202</duration>
2612
- <filename>http://media.howcast.com/system/videos/6/06/00/35/350006.flv</filename>
2613
- <tags>channel, circuit, control, signal, interfere, project, make, tv, remote, jammer, create, resistor</tags>
2614
- <category-hierarchy>
2615
- <category id="1470">Technology</category>
2616
- <category parent_id="1470" id="1728">Science &amp; Technology Projects</category>
2617
- </category-hierarchy>
2618
- <comment-count>0</comment-count>
2619
- <thumbnail-url>http://img.howcast.com/thumbnails/372018/make_a_tv_remote_jammer_thumb_xxlarge_maintained_aspect.jpg</thumbnail-url>
2620
- <permalink>http://www.howcast.com/videos/372018-How-To-Make-a-TV-Remote-Jammer</permalink>
2621
- <content_rating>nonadult</content_rating>
2622
- </video>
2623
- <video>
2624
- <category-id>884</category-id>
2625
- <id>185824</id>
2626
- <title>How To Pick a Wedgie in Public</title>
2627
- <views>4798</views>
2628
- <type>HowcastGuide</type>
2629
- <created-at>Wed, 27 May 2009 14:34:04 -0700</created-at>
2630
- <rating>9</rating>
2631
- <username>michaelrsanchez</username>
2632
- <description>
2633
- <![CDATA[Discomfort. Embarrassment. The wedgie. Get rid of the problem with these simple tips.]]>
2634
- </description>
2635
- <embed>
2636
- <![CDATA[<object width="425" height="273" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" id="howcastplayer"><param name="movie" value="http://www.howcast.com/flash/howcast_player.swf?file=185824"></param><param name="allowFullScreen" value="true"></param><param name="allowScriptAccess" value="always"></param><embed src="http://www.howcast.com/flash/howcast_player.swf?file=185824" type="application/x-shockwave-flash" width="425" height="273" allowFullScreen="true" allowScriptAccess="always" ></embed></object>]]>
2637
- </embed>
2638
- <duration>71</duration>
2639
- <filename>http://media.howcast.com/system/videos/2/24/58/18/185824.flv</filename>
2640
- <tags>etiquette, picking, wedgie, socially, awkward, situations, adjusting, underwear, panties, public</tags>
2641
- <category-hierarchy>
2642
- <category id="841">Language &amp; Reference</category>
2643
- <category parent_id="841" id="875">Etiquette</category>
2644
- <category parent_id="875" id="884">Socially Awkward Situations</category>
2645
- </category-hierarchy>
2646
- <comment-count>2</comment-count>
2647
- <thumbnail-url>http://img.howcast.com/thumbnails/185824/pick_wedgie_public_xxlarge_maintained_aspect.jpg</thumbnail-url>
2648
- <permalink>http://www.howcast.com/videos/185824-How-To-Pick-a-Wedgie-in-Public</permalink>
2649
- <content_rating>nonadult</content_rating>
2650
- </video>
2651
- <video>
2652
- <category-id>1034</category-id>
2653
- <id>217432</id>
2654
- <title>How To Have a Healthy Pregnancy</title>
2655
- <views>701</views>
2656
- <type>HowcastGuide</type>
2657
- <created-at>Mon, 16 Nov 2009 15:15:42 -0800</created-at>
2658
- <rating>1</rating>
2659
- <username>CinemaSlam</username>
2660
- <description>
2661
- <![CDATA[When you're expecting, you're not just eating for two – you're living for two. Here's how to have the healthiest pregnancy possible. ]]>
2662
- </description>
2663
- <embed>
2664
- <![CDATA[<object width="425" height="273" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" id="howcastplayer"><param name="movie" value="http://www.howcast.com/flash/howcast_player.swf?file=217432"></param><param name="allowFullScreen" value="true"></param><param name="allowScriptAccess" value="always"></param><embed src="http://www.howcast.com/flash/howcast_player.swf?file=217432" type="application/x-shockwave-flash" width="425" height="273" allowFullScreen="true" allowScriptAccess="always" ></embed></object>]]>
2665
- </embed>
2666
- <duration>176</duration>
2667
- <filename>http://media.howcast.com/system/videos/4/59/25/28/282559.flv</filename>
2668
- <tags>DIY, Instructional, tutorial, Do It Yourself, Tips, Essential Skills, Learn to, parenting, family, pregnancy, health, fitness, have, having, healthy, safe, pregnant, child, baby, kid</tags>
2669
- <category-hierarchy>
2670
- <category id="978">Parenting &amp; Family</category>
2671
- <category parent_id="978" id="1027">Pregnancy</category>
2672
- <category parent_id="1027" id="1034">Pregnancy Health &amp; Fitness</category>
2673
- </category-hierarchy>
2674
- <comment-count>0</comment-count>
2675
- <thumbnail-url>http://img.howcast.com/thumbnails/217432/HealthyPregnancy_xxlarge_maintained_aspect.png</thumbnail-url>
2676
- <permalink>http://www.howcast.com/videos/217432-How-To-Have-a-Healthy-Pregnancy</permalink>
2677
- <content_rating>nonadult</content_rating>
2678
- </video>
2679
- <video>
2680
- <category-id>492</category-id>
2681
- <id>194715</id>
2682
- <title>How To Soothe an Upset Stomach</title>
2683
- <views>26292</views>
2684
- <type>HowcastGuide</type>
2685
- <created-at>Fri, 12 Jun 2009 11:03:20 -0700</created-at>
2686
- <rating>5</rating>
2687
- <username>theprohouse</username>
2688
- <description>
2689
- <![CDATA[Everyone gets an upset stomach from time to time. The first line of defense in this high-tech age is still old-time remedies!]]>
2690
- </description>
2691
- <embed>
2692
- <![CDATA[<object width="425" height="352" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" id="howcastplayer"><param name="movie" value="http://www.howcast.com/flash/howcast_player.swf?file=194715"></param><param name="allowFullScreen" value="true"></param><param name="allowScriptAccess" value="always"></param><embed src="http://www.howcast.com/flash/howcast_player.swf?file=194715" type="application/x-shockwave-flash" width="425" height="352" allowFullScreen="true" allowScriptAccess="always" ></embed></object>]]>
2693
- </embed>
2694
- <duration>92</duration>
2695
- <filename>http://media.howcast.com/system/videos/3/15/47/19/194715.flv</filename>
2696
- <tags>DIY, Instructional, tutorial, indigestion, cramps, Bloating, diarrhea, flu, aches, pains</tags>
2697
- <category-hierarchy>
2698
- <category id="479">Health &amp; Nutrition</category>
2699
- <category parent_id="479" id="480">General Health</category>
2700
- <category parent_id="480" id="492">Stomach &amp; Digestion</category>
2701
- </category-hierarchy>
2702
- <comment-count>2</comment-count>
2703
- <thumbnail-url>http://img.howcast.com/thumbnails/194715/Picture_1_xxlarge_maintained_aspect.png</thumbnail-url>
2704
- <permalink>http://www.howcast.com/videos/194715-How-To-Soothe-an-Upset-Stomach</permalink>
2705
- <content_rating>nonadult</content_rating>
2706
- </video>
2707
- <video>
2708
- <category-id>1728</category-id>
2709
- <id>202712</id>
2710
- <title>How To Get an Egg Through a Bottleneck</title>
2711
- <views>4574</views>
2712
- <type>HowcastGuide</type>
2713
- <created-at>Fri, 10 Jul 2009 12:48:01 -0700</created-at>
2714
- <rating>20</rating>
2715
- <username>sen1710</username>
2716
- <description>
2717
- <![CDATA[Be the life of the party – without wearing a lampshade or starting a conga line – by getting an egg into a bottle. ]]>
2718
- </description>
2719
- <embed>
2720
- <![CDATA[<object width="425" height="273" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" id="howcastplayer"><param name="movie" value="http://www.howcast.com/flash/howcast_player.swf?file=202712"></param><param name="allowFullScreen" value="true"></param><param name="allowScriptAccess" value="always"></param><embed src="http://www.howcast.com/flash/howcast_player.swf?file=202712" type="application/x-shockwave-flash" width="425" height="273" allowFullScreen="true" allowScriptAccess="always" ></embed></object>]]>
2721
- </embed>
2722
- <duration>60</duration>
2723
- <filename>http://media.howcast.com/system/videos/6/12/27/20/202712.flv</filename>
2724
- <tags>holidays, celebrations, parties, party, tricks, games, getting, egg, fitting, magic</tags>
2725
- <category-hierarchy>
2726
- <category id="1470">Technology</category>
2727
- <category parent_id="1470" id="1728">Science &amp; Technology Projects</category>
2728
- </category-hierarchy>
2729
- <comment-count>1</comment-count>
2730
- <thumbnail-url>http://img.howcast.com/thumbnails/202712/Picture_3_xxlarge_maintained_aspect.png</thumbnail-url>
2731
- <permalink>http://www.howcast.com/videos/202712-How-To-Get-an-Egg-Through-a-Bottleneck</permalink>
2732
- <content_rating>nonadult</content_rating>
2733
- </video>
2734
- <video>
2735
- <category-id>496</category-id>
2736
- <id>218307</id>
2737
- <title>How To Develop Healthy Eating Habits</title>
2738
- <views>2506</views>
2739
- <type>HowcastGuide</type>
2740
- <created-at>Mon, 24 Aug 2009 07:47:32 -0700</created-at>
2741
- <rating>8</rating>
2742
- <username>Equilibrio</username>
2743
- <description>
2744
- <![CDATA[Good health is just a matter of taking a new approach to eating and making simple changes.]]>
2745
- </description>
2746
- <embed>
2747
- <![CDATA[<object width="425" height="273" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" id="howcastplayer"><param name="movie" value="http://www.howcast.com/flash/howcast_player.swf?file=218307"></param><param name="allowFullScreen" value="true"></param><param name="allowScriptAccess" value="always"></param><embed src="http://www.howcast.com/flash/howcast_player.swf?file=218307" type="application/x-shockwave-flash" width="425" height="273" allowFullScreen="true" allowScriptAccess="always" ></embed></object>]]>
2748
- </embed>
2749
- <duration>98</duration>
2750
- <filename>http://media.howcast.com/system/videos/5/12/68/22/226812.flv</filename>
2751
- <tags>eating, habits, develop, healthy, health, nutrition, better health, food, eat</tags>
2752
- <category-hierarchy>
2753
- <category id="479">Health &amp; Nutrition</category>
2754
- <category parent_id="479" id="494">Diet</category>
2755
- <category parent_id="494" id="496">Better Health</category>
2756
- </category-hierarchy>
2757
- <comment-count>4</comment-count>
2758
- <thumbnail-url>http://img.howcast.com/thumbnails/218307/Picture_1_xxlarge_maintained_aspect.png</thumbnail-url>
2759
- <permalink>http://www.howcast.com/videos/218307-How-To-Develop-Healthy-Eating-Habits</permalink>
2760
- <content_rating>nonadult</content_rating>
2761
- </video>
2762
- </videos>
2763
- </howcast>
2764
- VID
111
+ @homepage_videos_xml ||= load_fixture 'homepage.staff_videos.xml'
2765
112
  end
2766
113
 
2767
114
  def playlist_xml
2768
- <<-PLAYLIST
2769
- <?xml version="1.0" encoding="UTF-8"?>
2770
- <howcast version="0.1">
2771
- <title>Howcast - Eggs-Travaganza!</title>
2772
- <permalink>http://www.howcast.com/playlists/4566-EggsTravaganza</permalink>
2773
- <description>Become an eggs-pert! We can teach you how to test eggs for freshness, crack them, and hard-boil, poach, scramble, or fry them perfectly. We'll even let you in on a little trick for hard-boiling eggs so they peel easily.</description>
2774
- <playlist-thumbnail-url>http://img.howcast.com/thumbnails/1072/hpn_a011_perfect_scrambled_eggs_sd_medium.jpg</playlist-thumbnail-url>
2775
- <id>4566</id>
2776
- <videos>
2777
- <video>
2778
- <category-id>392</category-id>
2779
- <id>21314</id>
2780
- <title>How To Separate an Egg</title>
2781
- <views>4808</views>
2782
- <type>HowcastGuide</type>
2783
- <created-at>Fri, 01 Aug 2008 17:00:40 -0700</created-at>
2784
- <rating>11</rating>
2785
- <username>michaelrsanchez</username>
2786
- <description>
2787
- <![CDATA[You may have to break a few eggs to make an omelet, but if you want to make a soufflé—or an angel food cake, or a custard—you’ll need to separate them too.]]>
2788
- </description>
2789
- <embed>
2790
- <![CDATA[<object width="425" height="352" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" id="howcastplayer"><param name="movie" value="http://www.howcast.com/flash/howcast_player.swf?file=21314"></param><param name="allowFullScreen" value="true"></param><param name="allowScriptAccess" value="always"></param><embed src="http://www.howcast.com/flash/howcast_player.swf?file=21314" type="application/x-shockwave-flash" width="425" height="352" allowFullScreen="true" allowScriptAccess="always" ></embed></object>]]>
2791
- </embed>
2792
- <duration>85</duration>
2793
- <filename>http://media.howcast.com/system/videos/6/14/13/02/21314.flv</filename>
2794
- <tags>DIY, Instructional, tutorial, Do It Yourself, Tips, Essential Skills, Learn to, egg, separate, cooking</tags>
2795
- <category-hierarchy>
2796
- <category id="355">Food &amp; Drink</category>
2797
- <category parent_id="355" id="392">Cooking Basics</category>
2798
- </category-hierarchy>
2799
- <comment-count>2</comment-count>
2800
- <thumbnail-url>http://img.howcast.com/thumbnails/21314/40_xxlarge_maintained_aspect.jpg</thumbnail-url>
2801
- <permalink>http://www.howcast.com/videos/21314-How-To-Separate-an-Egg</permalink>
2802
- <content_rating>nonadult</content_rating>
2803
- </video>
2804
- <video>
2805
- <category-id>392</category-id>
2806
- <id>191496</id>
2807
- <title>How To Test Eggs For Freshness</title>
2808
- <views>4920</views>
2809
- <type>HowcastGuide</type>
2810
- <created-at>Wed, 10 Jun 2009 07:47:21 -0700</created-at>
2811
- <rating>27</rating>
2812
- <username>lorishe09</username>
2813
- <description>
2814
- <![CDATA[It's easy to find out if your eggs can be scrambled, fried, or used in a recipe - or if they need to be tossed in the trash.]]>
2815
- </description>
2816
- <embed>
2817
- <![CDATA[<object width="425" height="352" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" id="howcastplayer"><param name="movie" value="http://www.howcast.com/flash/howcast_player.swf?file=191496"></param><param name="allowFullScreen" value="true"></param><param name="allowScriptAccess" value="always"></param><embed src="http://www.howcast.com/flash/howcast_player.swf?file=191496" type="application/x-shockwave-flash" width="425" height="352" allowFullScreen="true" allowScriptAccess="always" ></embed></object>]]>
2818
- </embed>
2819
- <duration>86</duration>
2820
- <filename>http://media.howcast.com/system/videos/4/96/14/19/191496.flv</filename>
2821
- <tags>DIY, Instructional, tutorial, Do It Yourself, Tips, breakfast, Dairy, milk, flour, farm</tags>
2822
- <category-hierarchy>
2823
- <category id="355">Food &amp; Drink</category>
2824
- <category parent_id="355" id="392">Cooking Basics</category>
2825
- </category-hierarchy>
2826
- <comment-count>4</comment-count>
2827
- <thumbnail-url>http://img.howcast.com/thumbnails/191496/Picture_1_xxlarge_maintained_aspect.png</thumbnail-url>
2828
- <permalink>http://www.howcast.com/videos/191496-How-To-Test-Eggs-For-Freshness</permalink>
2829
- <content_rating>nonadult</content_rating>
2830
- </video>
2831
- <video>
2832
- <category-id>392</category-id>
2833
- <id>282247</id>
2834
- <title>How To Crack an Egg</title>
2835
- <views>1565</views>
2836
- <type>HowcastGuide</type>
2837
- <created-at>Fri, 04 Dec 2009 09:16:18 -0800</created-at>
2838
- <rating>0</rating>
2839
- <username>lazydiamond</username>
2840
- <description>
2841
- <![CDATA[No need to walk on eggshells if you're looking to make scrambled eggs or your favorite homemade cookies – take a crack at this simple task.]]>
2842
- </description>
2843
- <embed>
2844
- <![CDATA[<object width="425" height="273" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" id="howcastplayer"><param name="movie" value="http://www.howcast.com/flash/howcast_player.swf?file=282247"></param><param name="allowFullScreen" value="true"></param><param name="allowScriptAccess" value="always"></param><embed src="http://www.howcast.com/flash/howcast_player.swf?file=282247" type="application/x-shockwave-flash" width="425" height="273" allowFullScreen="true" allowScriptAccess="always" ></embed></object>]]>
2845
- </embed>
2846
- <duration>67</duration>
2847
- <filename>http://media.howcast.com/system/videos/0/58/97/28/289758.flv</filename>
2848
- <tags>egg, shell, cracking, splitting, beating, preparing, cooking, kitchen, baking, bowl, breaking, yolk</tags>
2849
- <category-hierarchy>
2850
- <category id="355">Food &amp; Drink</category>
2851
- <category parent_id="355" id="392">Cooking Basics</category>
2852
- </category-hierarchy>
2853
- <comment-count>0</comment-count>
2854
- <thumbnail-url>http://img.howcast.com/thumbnails/282247/CrackEgg_xxlarge_maintained_aspect.png</thumbnail-url>
2855
- <permalink>http://www.howcast.com/videos/282247-How-To-Crack-an-Egg</permalink>
2856
- <content_rating>nonadult</content_rating>
2857
- </video>
2858
- <video>
2859
- <category-id>382</category-id>
2860
- <id>258250</id>
2861
- <title>How To Hard-Boil an Egg</title>
2862
- <views>1013</views>
2863
- <type>HowcastGuide</type>
2864
- <created-at>Tue, 20 Oct 2009 15:17:37 -0700</created-at>
2865
- <rating>3</rating>
2866
- <username>michaelrsanchez</username>
2867
- <description>
2868
- <![CDATA[Making the perfect hard-boiled egg is a science. Follow these simple steps to have that perfect creamy yellow yolk.]]>
2869
- </description>
2870
- <embed>
2871
- <![CDATA[<object width="425" height="273" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" id="howcastplayer"><param name="movie" value="http://www.howcast.com/flash/howcast_player.swf?file=258250"></param><param name="allowFullScreen" value="true"></param><param name="allowScriptAccess" value="always"></param><embed src="http://www.howcast.com/flash/howcast_player.swf?file=258250" type="application/x-shockwave-flash" width="425" height="273" allowFullScreen="true" allowScriptAccess="always" ></embed></object>]]>
2872
- </embed>
2873
- <duration>90</duration>
2874
- <filename>http://media.howcast.com/system/videos/5/82/46/26/264682.flv</filename>
2875
- <tags>eggs,boiling,hard-boiling,hard,cooking,making,breakfast,recipes,food,preparing,correctly</tags>
2876
- <category-hierarchy>
2877
- <category id="355">Food &amp; Drink</category>
2878
- <category parent_id="355" id="382">Breakfast</category>
2879
- </category-hierarchy>
2880
- <comment-count>0</comment-count>
2881
- <thumbnail-url>http://img.howcast.com/thumbnails/258250/HardBoilEgg_xxlarge_maintained_aspect.png</thumbnail-url>
2882
- <permalink>http://www.howcast.com/videos/258250-How-To-HardBoil-an-Egg</permalink>
2883
- <content_rating>nonadult</content_rating>
2884
- </video>
2885
- <video>
2886
- <category-id>382</category-id>
2887
- <id>29259</id>
2888
- <title>How To Poach an Egg</title>
2889
- <views>22398</views>
2890
- <type>HowcastGuide</type>
2891
- <created-at>Tue, 02 Sep 2008 10:03:03 -0700</created-at>
2892
- <rating>64</rating>
2893
- <username>michaelrsanchez</username>
2894
- <description>
2895
- <![CDATA[Good news for egg lovers: You don't need a drop of oil or butter for this preparation, which makes poaching one of the healthiest ways to put a protein powerhouse on your plate.]]>
2896
- </description>
2897
- <embed>
2898
- <![CDATA[<object width="425" height="352" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" id="howcastplayer"><param name="movie" value="http://www.howcast.com/flash/howcast_player.swf?file=29259"></param><param name="allowFullScreen" value="true"></param><param name="allowScriptAccess" value="always"></param><embed src="http://www.howcast.com/flash/howcast_player.swf?file=29259" type="application/x-shockwave-flash" width="425" height="352" allowFullScreen="true" allowScriptAccess="always" ></embed></object>]]>
2899
- </embed>
2900
- <duration>104</duration>
2901
- <filename>http://media.howcast.com/system/videos/6/59/92/02/29259.flv</filename>
2902
- <tags>DIY, Instructional, tutorial, Do It Yourself, Tips, Essential Skills, Learn to, egg, poach, breakfast</tags>
2903
- <category-hierarchy>
2904
- <category id="355">Food &amp; Drink</category>
2905
- <category parent_id="355" id="382">Breakfast</category>
2906
- </category-hierarchy>
2907
- <comment-count>9</comment-count>
2908
- <thumbnail-url>http://img.howcast.com/thumbnails/29259/Picture_8_xxlarge_maintained_aspect.png</thumbnail-url>
2909
- <permalink>http://www.howcast.com/videos/29259-How-To-Poach-an-Egg</permalink>
2910
- <content_rating>nonadult</content_rating>
2911
- </video>
2912
- <video>
2913
- <category-id>382</category-id>
2914
- <id>2578</id>
2915
- <title>How To Hard-Boil an Egg So It Peels Easily</title>
2916
- <views>22406</views>
2917
- <type>HowcastGuide</type>
2918
- <created-at>Tue, 18 Mar 2008 11:08:10 -0700</created-at>
2919
- <rating>33</rating>
2920
- <username>SheriffThompson</username>
2921
- <description>
2922
- <![CDATA[Have you ever thrown out a perfectly good hard-boiled egg because you got so frustrated trying to peel it? Here’s how to cook the perfectly-peelable egg. ]]>
2923
- </description>
2924
- <embed>
2925
- <![CDATA[<object width="425" height="352" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" id="howcastplayer"><param name="movie" value="http://www.howcast.com/flash/howcast_player.swf?file=2578"></param><param name="allowFullScreen" value="true"></param><param name="allowScriptAccess" value="always"></param><embed src="http://www.howcast.com/flash/howcast_player.swf?file=2578" type="application/x-shockwave-flash" width="425" height="352" allowFullScreen="true" allowScriptAccess="always" ></embed></object>]]>
2926
- </embed>
2927
- <duration>99</duration>
2928
- <filename>http://media.howcast.com/system/videos/2/78/25/2578.flv</filename>
2929
- <tags>boil, boiled, boiling, cook, cooking, DIY, Do It Yourself, easily, easy, egg, eggs, Essential Skills, food, hard-boil, hard-boiled, Instructional, Learn to, make, making, peel, peeling, Tips, tutorial</tags>
2930
- <category-hierarchy>
2931
- <category id="355">Food &amp; Drink</category>
2932
- <category parent_id="355" id="382">Breakfast</category>
2933
- </category-hierarchy>
2934
- <comment-count>8</comment-count>
2935
- <thumbnail-url>http://img.howcast.com/thumbnails/2578/ppn_rich_hard_boil_egg_sd_xxlarge_maintained_aspect.jpg</thumbnail-url>
2936
- <permalink>http://www.howcast.com/videos/2578-How-To-HardBoil-an-Egg-So-It-Peels-Easily</permalink>
2937
- <content_rating>nonadult</content_rating>
2938
- </video>
2939
- <video>
2940
- <category-id>382</category-id>
2941
- <id>1072</id>
2942
- <title>How To Make Perfect Scrambled Eggs</title>
2943
- <views>19760</views>
2944
- <type>HowcastGuide</type>
2945
- <created-at>Tue, 05 Feb 2008 13:28:45 -0800</created-at>
2946
- <rating>23</rating>
2947
- <username>pjvaldez</username>
2948
- <description>
2949
- <![CDATA[Everyone and their mother claims to make the best scrambled eggs. We're no different—we're just not your mom.]]>
2950
- </description>
2951
- <embed>
2952
- <![CDATA[<object width="425" height="352" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" id="howcastplayer"><param name="movie" value="http://www.howcast.com/flash/howcast_player.swf?file=1072"></param><param name="allowFullScreen" value="true"></param><param name="allowScriptAccess" value="always"></param><embed src="http://www.howcast.com/flash/howcast_player.swf?file=1072" type="application/x-shockwave-flash" width="425" height="352" allowFullScreen="true" allowScriptAccess="always" ></embed></object>]]>
2953
- </embed>
2954
- <duration>133</duration>
2955
- <filename>http://media.howcast.com/system/videos/1/72/10/1072.flv</filename>
2956
- <tags>breakfast, cook, DIY, Do It Yourself, eggs, Essential Skills, food, Instructional, Learn to, scrambled, Tips, tutorial</tags>
2957
- <category-hierarchy>
2958
- <category id="355">Food &amp; Drink</category>
2959
- <category parent_id="355" id="382">Breakfast</category>
2960
- </category-hierarchy>
2961
- <comment-count>2</comment-count>
2962
- <thumbnail-url>http://img.howcast.com/thumbnails/1072/hpn_a011_perfect_scrambled_eggs_sd_xxlarge_maintained_aspect.jpg</thumbnail-url>
2963
- <permalink>http://www.howcast.com/videos/1072-How-To-Make-Perfect-Scrambled-Eggs</permalink>
2964
- <content_rating>nonadult</content_rating>
2965
- </video>
2966
- <video>
2967
- <category-id>382</category-id>
2968
- <id>29262</id>
2969
- <title>How To Fry an Egg</title>
2970
- <views>25419</views>
2971
- <type>HowcastGuide</type>
2972
- <created-at>Tue, 02 Sep 2008 10:45:47 -0700</created-at>
2973
- <rating>32</rating>
2974
- <username>michaelrsanchez</username>
2975
- <description>
2976
- <![CDATA[They say if it's hot enough, you can fry an egg on the sidewalk. But if concrete's not your thing, a skillet works, too.]]>
2977
- </description>
2978
- <embed>
2979
- <![CDATA[<object width="425" height="352" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" id="howcastplayer"><param name="movie" value="http://www.howcast.com/flash/howcast_player.swf?file=29262"></param><param name="allowFullScreen" value="true"></param><param name="allowScriptAccess" value="always"></param><embed src="http://www.howcast.com/flash/howcast_player.swf?file=29262" type="application/x-shockwave-flash" width="425" height="352" allowFullScreen="true" allowScriptAccess="always" ></embed></object>]]>
2980
- </embed>
2981
- <duration>93</duration>
2982
- <filename>http://media.howcast.com/system/videos/2/62/92/02/29262.flv</filename>
2983
- <tags>DIY, Instructional, tutorial, Do It Yourself, Tips, Essential Skills, Learn to, fry, egg, breakfast</tags>
2984
- <category-hierarchy>
2985
- <category id="355">Food &amp; Drink</category>
2986
- <category parent_id="355" id="382">Breakfast</category>
2987
- </category-hierarchy>
2988
- <comment-count>10</comment-count>
2989
- <thumbnail-url>http://img.howcast.com/thumbnails/29262/Picture_7_xxlarge_maintained_aspect.png</thumbnail-url>
2990
- <permalink>http://www.howcast.com/videos/29262-How-To-Fry-an-Egg</permalink>
2991
- <content_rating>nonadult</content_rating>
2992
- </video>
2993
- </videos>
2994
- </howcast>
2995
- PLAYLIST
115
+ @playlist_xml ||= load_fixture 'playlist.4566.xml'
2996
116
  end
2997
117
 
118
+ # TODO:
2998
119
  def homepage_playlists_xml
2999
120
  <<-PLAYLISTS
3000
121
  <?xml version="1.0" encoding="UTF-8"?>
@@ -3025,4 +146,8 @@ module XmlFixturesHelper
3025
146
  </howcast>
3026
147
  PLAYLISTS
3027
148
  end
149
+
150
+ def load_fixture fixture
151
+ File.read File.expand_path(File.join(File.dirname(__FILE__), "../fixtures/#{fixture}"))
152
+ end
3028
153
  end