howcast 0.7.4 → 0.7.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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