feedjira 2.2.0 → 3.0.0.beta1
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.
- checksums.yaml +5 -5
- data/.rubocop.yml +635 -6
- data/.travis.yml +1 -1
- data/CHANGELOG.md +6 -12
- data/CODE_OF_CONDUCT.md +74 -0
- data/Gemfile +5 -5
- data/README.md +37 -99
- data/Rakefile +5 -5
- data/feedjira.gemspec +27 -19
- data/lib/feedjira.rb +69 -41
- data/lib/feedjira/configuration.rb +3 -8
- data/lib/feedjira/core_ext.rb +3 -3
- data/lib/feedjira/core_ext/date.rb +1 -1
- data/lib/feedjira/core_ext/time.rb +2 -2
- data/lib/feedjira/date_time_utilities.rb +2 -2
- data/lib/feedjira/date_time_utilities/date_time_pattern_parser.rb +2 -2
- data/lib/feedjira/feed.rb +10 -80
- data/lib/feedjira/feed_entry_utilities.rb +4 -4
- data/lib/feedjira/parser.rb +4 -1
- data/lib/feedjira/parser/atom.rb +3 -3
- data/lib/feedjira/parser/atom_entry.rb +1 -1
- data/lib/feedjira/parser/atom_feed_burner.rb +4 -4
- data/lib/feedjira/parser/atom_feed_burner_entry.rb +1 -1
- data/lib/feedjira/parser/atom_youtube.rb +2 -2
- data/lib/feedjira/parser/atom_youtube_entry.rb +1 -1
- data/lib/feedjira/parser/google_docs_atom.rb +3 -3
- data/lib/feedjira/parser/google_docs_atom_entry.rb +1 -1
- data/lib/feedjira/parser/itunes_rss_item.rb +1 -1
- data/lib/feedjira/parser/json_feed.rb +39 -0
- data/lib/feedjira/parser/json_feed_item.rb +51 -0
- data/lib/feedjira/parser/podlove_chapter.rb +1 -1
- data/lib/feedjira/parser/rss.rb +1 -1
- data/lib/feedjira/parser/rss_entry.rb +5 -1
- data/lib/feedjira/parser/rss_feed_burner.rb +1 -1
- data/lib/feedjira/preprocessor.rb +1 -1
- data/lib/feedjira/version.rb +1 -1
- data/spec/feedjira/configuration_spec.rb +9 -16
- data/spec/feedjira/date_time_utilities_spec.rb +20 -20
- data/spec/feedjira/feed_entry_utilities_spec.rb +18 -18
- data/spec/feedjira/feed_spec.rb +15 -229
- data/spec/feedjira/feed_utilities_spec.rb +72 -72
- data/spec/feedjira/parser/atom_entry_spec.rb +34 -34
- data/spec/feedjira/parser/atom_feed_burner_entry_spec.rb +16 -16
- data/spec/feedjira/parser/atom_feed_burner_spec.rb +121 -119
- data/spec/feedjira/parser/atom_spec.rb +78 -76
- data/spec/feedjira/parser/atom_youtube_entry_spec.rb +38 -38
- data/spec/feedjira/parser/atom_youtube_spec.rb +15 -15
- data/spec/feedjira/parser/google_docs_atom_entry_spec.rb +8 -8
- data/spec/feedjira/parser/google_docs_atom_spec.rb +23 -21
- data/spec/feedjira/parser/itunes_rss_item_spec.rb +37 -37
- data/spec/feedjira/parser/itunes_rss_owner_spec.rb +5 -5
- data/spec/feedjira/parser/itunes_rss_spec.rb +118 -116
- data/spec/feedjira/parser/json_feed_item_spec.rb +79 -0
- data/spec/feedjira/parser/json_feed_spec.rb +53 -0
- data/spec/feedjira/parser/podlove_chapter_spec.rb +12 -12
- data/spec/feedjira/parser/rss_entry_spec.rb +30 -30
- data/spec/feedjira/parser/rss_feed_burner_entry_spec.rb +32 -32
- data/spec/feedjira/parser/rss_feed_burner_spec.rb +47 -45
- data/spec/feedjira/parser/rss_spec.rb +36 -36
- data/spec/feedjira/preprocessor_spec.rb +6 -6
- data/spec/feedjira_spec.rb +145 -0
- data/spec/sample_feeds.rb +27 -26
- data/spec/sample_feeds/HuffPostCanada.xml +279 -0
- data/spec/sample_feeds/json_feed.json +156 -0
- data/spec/spec_helper.rb +5 -5
- metadata +31 -49
- data/fixtures/vcr_cassettes/fetch_failure.yml +0 -62
- data/fixtures/vcr_cassettes/parse_error.yml +0 -222
- data/fixtures/vcr_cassettes/success.yml +0 -281
- data/spec/sample_feeds/InvalidDateFormat.xml +0 -20
@@ -1,89 +1,89 @@
|
|
1
|
-
require
|
1
|
+
require "spec_helper"
|
2
2
|
|
3
3
|
describe Feedjira::Parser::RSS do
|
4
|
-
describe
|
5
|
-
it
|
4
|
+
describe "#will_parse?" do
|
5
|
+
it "should return true for an RSS feed" do
|
6
6
|
expect(Feedjira::Parser::RSS).to be_able_to_parse(sample_rss_feed)
|
7
7
|
end
|
8
8
|
|
9
|
-
it
|
9
|
+
it "should return false for an atom feed" do
|
10
10
|
expect(Feedjira::Parser::RSS).to_not be_able_to_parse(sample_atom_feed)
|
11
11
|
end
|
12
12
|
|
13
|
-
it
|
13
|
+
it "should return false for an rss feedburner feed" do
|
14
14
|
able = Feedjira::Parser::RSS.able_to_parse? sample_rss_feed_burner_feed
|
15
15
|
expect(able).to eq false
|
16
16
|
end
|
17
17
|
end
|
18
18
|
|
19
|
-
describe
|
19
|
+
describe "parsing" do
|
20
20
|
before(:each) do
|
21
21
|
@feed = Feedjira::Parser::RSS.parse(sample_rss_feed)
|
22
22
|
end
|
23
23
|
|
24
|
-
it
|
25
|
-
expect(@feed.version).to eq
|
24
|
+
it "should parse the version" do
|
25
|
+
expect(@feed.version).to eq "2.0"
|
26
26
|
end
|
27
27
|
|
28
|
-
it
|
29
|
-
expect(@feed.title).to eq
|
28
|
+
it "should parse the title" do
|
29
|
+
expect(@feed.title).to eq "Tender Lovemaking"
|
30
30
|
end
|
31
31
|
|
32
|
-
it
|
33
|
-
expect(@feed.description).to eq
|
32
|
+
it "should parse the description" do
|
33
|
+
expect(@feed.description).to eq "The act of making love, tenderly."
|
34
34
|
end
|
35
35
|
|
36
|
-
it
|
37
|
-
expect(@feed.url).to eq
|
36
|
+
it "should parse the url" do
|
37
|
+
expect(@feed.url).to eq "http://tenderlovemaking.com"
|
38
38
|
end
|
39
39
|
|
40
|
-
it
|
41
|
-
expect(@feed.ttl).to eq
|
40
|
+
it "should parse the ttl" do
|
41
|
+
expect(@feed.ttl).to eq "60"
|
42
42
|
end
|
43
43
|
|
44
|
-
it
|
45
|
-
expect(@feed.last_built).to eq
|
44
|
+
it "should parse the last build date" do
|
45
|
+
expect(@feed.last_built).to eq "Sat, 07 Sep 2002 09:42:31 GMT"
|
46
46
|
end
|
47
47
|
|
48
|
-
it
|
48
|
+
it "should parse the hub urls" do
|
49
49
|
expect(@feed.hubs.count).to eq 1
|
50
|
-
expect(@feed.hubs.first).to eq
|
50
|
+
expect(@feed.hubs.first).to eq "http://pubsubhubbub.appspot.com/"
|
51
51
|
end
|
52
52
|
|
53
|
-
it
|
53
|
+
it "should provide an accessor for the feed_url" do
|
54
54
|
expect(@feed).to respond_to :feed_url
|
55
55
|
expect(@feed).to respond_to :feed_url=
|
56
56
|
end
|
57
57
|
|
58
|
-
it
|
59
|
-
expect(@feed.language).to eq
|
58
|
+
it "should parse the language" do
|
59
|
+
expect(@feed.language).to eq "en"
|
60
60
|
end
|
61
61
|
|
62
|
-
it
|
63
|
-
expect(@feed.image.url).to eq
|
62
|
+
it "should parse the image url" do
|
63
|
+
expect(@feed.image.url).to eq "https://tenderlovemaking.com/images/header-logo-text-trimmed.png"
|
64
64
|
end
|
65
65
|
|
66
|
-
it
|
67
|
-
expect(@feed.image.title).to eq
|
66
|
+
it "should parse the image title" do
|
67
|
+
expect(@feed.image.title).to eq "Tender Lovemaking"
|
68
68
|
end
|
69
69
|
|
70
|
-
it
|
71
|
-
expect(@feed.image.link).to eq
|
70
|
+
it "should parse the image link" do
|
71
|
+
expect(@feed.image.link).to eq "http://tenderlovemaking.com"
|
72
72
|
end
|
73
73
|
|
74
|
-
it
|
75
|
-
expect(@feed.image.width).to eq
|
74
|
+
it "should parse the image width" do
|
75
|
+
expect(@feed.image.width).to eq "766"
|
76
76
|
end
|
77
77
|
|
78
|
-
it
|
79
|
-
expect(@feed.image.height).to eq
|
78
|
+
it "should parse the image height" do
|
79
|
+
expect(@feed.image.height).to eq "138"
|
80
80
|
end
|
81
81
|
|
82
|
-
it
|
83
|
-
expect(@feed.image.description).to eq
|
82
|
+
it "should parse the image description" do
|
83
|
+
expect(@feed.image.description).to eq "The act of making love, tenderly."
|
84
84
|
end
|
85
85
|
|
86
|
-
it
|
86
|
+
it "should parse entries" do
|
87
87
|
expect(@feed.entries.size).to eq 10
|
88
88
|
end
|
89
89
|
end
|
@@ -1,8 +1,8 @@
|
|
1
|
-
require
|
1
|
+
require "spec_helper"
|
2
2
|
|
3
3
|
describe Feedjira::Preprocessor do
|
4
|
-
it
|
5
|
-
xml =
|
4
|
+
it "returns the xml as parsed by Nokogiri" do
|
5
|
+
xml = "<xml></xml>"
|
6
6
|
doc = Nokogiri::XML(xml).remove_namespaces!
|
7
7
|
processor = Feedjira::Preprocessor.new xml
|
8
8
|
escaped = processor.to_xml
|
@@ -10,7 +10,7 @@ describe Feedjira::Preprocessor do
|
|
10
10
|
expect(escaped).to eq doc.to_xml
|
11
11
|
end
|
12
12
|
|
13
|
-
it
|
13
|
+
it "escapes markup in xhtml content" do
|
14
14
|
processor = Feedjira::Preprocessor.new sample_atom_xhtml_feed
|
15
15
|
escaped = processor.to_xml
|
16
16
|
escaped_parts = escaped.split "\n"
|
@@ -20,10 +20,10 @@ describe Feedjira::Preprocessor do
|
|
20
20
|
expect(escaped_parts[26]).to match(/<p>$/) # content
|
21
21
|
end
|
22
22
|
|
23
|
-
it
|
23
|
+
it "leaves escaped html within pre tag" do
|
24
24
|
processor = Feedjira::Preprocessor.new(sample_atom_xhtml_with_escpaed_html_in_pre_tag_feed) # rubocop:disable Metrics/LineLength
|
25
25
|
escaped = processor.to_xml
|
26
|
-
expected_pre_tag =
|
26
|
+
expected_pre_tag = " <pre>&lt;b&gt;test&lt;b&gt;</pre>" # rubocop:disable Metrics/LineLength
|
27
27
|
expect(escaped.split("\n")[7]).to eq(expected_pre_tag)
|
28
28
|
end
|
29
29
|
end
|
@@ -0,0 +1,145 @@
|
|
1
|
+
require "spec_helper"
|
2
|
+
|
3
|
+
RSpec.describe Feedjira do
|
4
|
+
describe ".parse" do
|
5
|
+
context "allows the parser to be specified" do
|
6
|
+
it "should parse an rss feed" do
|
7
|
+
parser = Feedjira.parser_for_xml(sample_rss_feed)
|
8
|
+
feed = Feedjira.parse(sample_rss_feed, parser: parser)
|
9
|
+
|
10
|
+
expect(feed.title).to eq "Tender Lovemaking"
|
11
|
+
published = Time.parse_safely "Thu Dec 04 17:17:49 UTC 2008"
|
12
|
+
expect(feed.entries.first.published).to eq published
|
13
|
+
expect(feed.entries.size).to eq 10
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
context "when there's an available parser" do
|
18
|
+
it "should parse an rdf feed" do
|
19
|
+
feed = Feedjira.parse(sample_rdf_feed)
|
20
|
+
expect(feed.title).to eq "HREF Considered Harmful"
|
21
|
+
published = Time.parse_safely("Tue Sep 02 19:50:07 UTC 2008")
|
22
|
+
expect(feed.entries.first.published).to eq published
|
23
|
+
expect(feed.entries.size).to eq 10
|
24
|
+
end
|
25
|
+
|
26
|
+
it "should parse an rss feed" do
|
27
|
+
feed = Feedjira.parse(sample_rss_feed)
|
28
|
+
expect(feed.title).to eq "Tender Lovemaking"
|
29
|
+
published = Time.parse_safely "Thu Dec 04 17:17:49 UTC 2008"
|
30
|
+
expect(feed.entries.first.published).to eq published
|
31
|
+
expect(feed.entries.size).to eq 10
|
32
|
+
end
|
33
|
+
|
34
|
+
it "should parse an atom feed" do
|
35
|
+
feed = Feedjira.parse(sample_atom_feed)
|
36
|
+
expect(feed.title).to eq "Amazon Web Services Blog"
|
37
|
+
published = Time.parse_safely "Fri Jan 16 18:21:00 UTC 2009"
|
38
|
+
expect(feed.entries.first.published).to eq published
|
39
|
+
expect(feed.entries.size).to eq 10
|
40
|
+
end
|
41
|
+
|
42
|
+
it "should parse an feedburner atom feed" do
|
43
|
+
feed = Feedjira.parse(sample_feedburner_atom_feed)
|
44
|
+
expect(feed.title).to eq "Paul Dix Explains Nothing"
|
45
|
+
published = Time.parse_safely "Thu Jan 22 15:50:22 UTC 2009"
|
46
|
+
expect(feed.entries.first.published).to eq published
|
47
|
+
expect(feed.entries.size).to eq 5
|
48
|
+
end
|
49
|
+
|
50
|
+
it "should parse an itunes feed" do
|
51
|
+
feed = Feedjira.parse(sample_itunes_feed)
|
52
|
+
expect(feed.title).to eq "All About Everything"
|
53
|
+
published = Time.parse_safely "Wed, 15 Jun 2005 19:00:00 GMT"
|
54
|
+
expect(feed.entries.first.published).to eq published
|
55
|
+
expect(feed.entries.size).to eq 3
|
56
|
+
end
|
57
|
+
|
58
|
+
it "with nested dc:identifier it does not overwrite entry_id" do
|
59
|
+
feed = Feedjira.parse(sample_rss_feed_huffpost_ca)
|
60
|
+
expect(feed.title.strip).to eq "HuffPost Canada - Athena2 - All Posts"
|
61
|
+
expect(feed.entries.size).to eq 2
|
62
|
+
expect(feed.entries.first.id).to eq "23246627"
|
63
|
+
expect(feed.entries.last.id.strip).to eq "1"
|
64
|
+
end
|
65
|
+
end
|
66
|
+
|
67
|
+
context "when there's no available parser" do
|
68
|
+
it "raises Feedjira::NoParserAvailable" do
|
69
|
+
expect do
|
70
|
+
Feedjira.parse("I'm an invalid feed")
|
71
|
+
end.to raise_error(Feedjira::NoParserAvailable)
|
72
|
+
end
|
73
|
+
end
|
74
|
+
|
75
|
+
it "should parse an feedburner rss feed" do
|
76
|
+
feed = Feedjira.parse(sample_rss_feed_burner_feed)
|
77
|
+
expect(feed.title).to eq "TechCrunch"
|
78
|
+
published = Time.parse_safely "Wed Nov 02 17:25:27 UTC 2011"
|
79
|
+
expect(feed.entries.first.published).to eq published
|
80
|
+
expect(feed.entries.size).to eq 20
|
81
|
+
end
|
82
|
+
end
|
83
|
+
|
84
|
+
describe ".parser_for_xml" do
|
85
|
+
it "with Google Docs atom feed it returns the GoogleDocsAtom parser" do
|
86
|
+
xml = sample_google_docs_list_feed
|
87
|
+
actual_parser = Feedjira.parser_for_xml(xml)
|
88
|
+
expect(actual_parser).to eq Feedjira::Parser::GoogleDocsAtom
|
89
|
+
end
|
90
|
+
|
91
|
+
it "with an atom feed it returns the Atom parser" do
|
92
|
+
xml = sample_atom_feed
|
93
|
+
actual_parser = Feedjira.parser_for_xml(xml)
|
94
|
+
expect(actual_parser).to eq Feedjira::Parser::Atom
|
95
|
+
end
|
96
|
+
|
97
|
+
it "with an atom feedburner feed it returns the AtomFeedBurner parser" do
|
98
|
+
xml = sample_feedburner_atom_feed
|
99
|
+
actual_parser = Feedjira.parser_for_xml(xml)
|
100
|
+
expect(actual_parser).to eq Feedjira::Parser::AtomFeedBurner
|
101
|
+
end
|
102
|
+
|
103
|
+
it "with an rdf feed it returns the RSS parser" do
|
104
|
+
xml = sample_rdf_feed
|
105
|
+
actual_parser = Feedjira.parser_for_xml(xml)
|
106
|
+
expect(actual_parser).to eq Feedjira::Parser::RSS
|
107
|
+
end
|
108
|
+
|
109
|
+
it "with an rss feedburner feed it returns the RSSFeedBurner parser" do
|
110
|
+
xml = sample_rss_feed_burner_feed
|
111
|
+
actual_parser = Feedjira.parser_for_xml(xml)
|
112
|
+
expect(actual_parser).to eq Feedjira::Parser::RSSFeedBurner
|
113
|
+
end
|
114
|
+
|
115
|
+
it "with an rss 2.0 feed it returns the RSS parser" do
|
116
|
+
xml = sample_rss_feed
|
117
|
+
actual_parser = Feedjira.parser_for_xml(xml)
|
118
|
+
expect(actual_parser).to eq Feedjira::Parser::RSS
|
119
|
+
end
|
120
|
+
|
121
|
+
it "with an itunes feed it returns the RSS parser" do
|
122
|
+
xml = sample_itunes_feed
|
123
|
+
actual_parser = Feedjira.parser_for_xml(xml)
|
124
|
+
expect(actual_parser).to eq Feedjira::Parser::ITunesRSS
|
125
|
+
end
|
126
|
+
|
127
|
+
context "when parsers are configured" do
|
128
|
+
it "does not use default parsers" do
|
129
|
+
xml = "Atom asdf"
|
130
|
+
new_parser = Class.new do
|
131
|
+
def self.able_to_parse?(_)
|
132
|
+
true
|
133
|
+
end
|
134
|
+
end
|
135
|
+
|
136
|
+
Feedjira.configure { |config| config.parsers = [new_parser] }
|
137
|
+
|
138
|
+
parser = Feedjira.parser_for_xml(xml)
|
139
|
+
expect(parser).to eq(new_parser)
|
140
|
+
|
141
|
+
Feedjira.reset_configuration!
|
142
|
+
end
|
143
|
+
end
|
144
|
+
end
|
145
|
+
end
|
data/spec/sample_feeds.rb
CHANGED
@@ -2,32 +2,33 @@
|
|
2
2
|
|
3
3
|
module SampleFeeds
|
4
4
|
FEEDS = {
|
5
|
-
sample_atom_feed:
|
6
|
-
sample_atom_middleman_feed:
|
7
|
-
sample_atom_xhtml_feed:
|
8
|
-
sample_atom_feed_line_breaks:
|
9
|
-
sample_atom_entry_content:
|
10
|
-
sample_itunes_feed:
|
11
|
-
sample_itunes_feed_with_single_quotes:
|
12
|
-
sample_itunes_feed_with_spaces:
|
13
|
-
sample_podlove_feed:
|
14
|
-
sample_rdf_feed:
|
15
|
-
sample_rdf_entry_content:
|
16
|
-
sample_rss_feed_burner_feed:
|
17
|
-
sample_rss_feed_burner_entry_content:
|
18
|
-
sample_rss_feed_burner_entry_description:
|
19
|
-
sample_rss_feed:
|
20
|
-
sample_rss_entry_content:
|
21
|
-
sample_feedburner_atom_feed:
|
22
|
-
sample_feedburner_atom_feed_alternate:
|
23
|
-
sample_feedburner_atom_entry_content:
|
24
|
-
sample_wfw_feed:
|
25
|
-
sample_google_docs_list_feed:
|
26
|
-
sample_feed_burner_atom_xhtml_feed:
|
27
|
-
sample_duplicate_content_atom_feed:
|
28
|
-
sample_youtube_atom_feed:
|
29
|
-
sample_atom_xhtml_with_escpaed_html_in_pre_tag_feed:
|
30
|
-
|
5
|
+
sample_atom_feed: "AmazonWebServicesBlog.xml",
|
6
|
+
sample_atom_middleman_feed: "FeedjiraBlog.xml",
|
7
|
+
sample_atom_xhtml_feed: "pet_atom.xml",
|
8
|
+
sample_atom_feed_line_breaks: "AtomFeedWithSpacesAroundEquals.xml",
|
9
|
+
sample_atom_entry_content: "AmazonWebServicesBlogFirstEntryContent.xml",
|
10
|
+
sample_itunes_feed: "itunes.xml",
|
11
|
+
sample_itunes_feed_with_single_quotes: "ITunesWithSingleQuotedAttributes.xml",
|
12
|
+
sample_itunes_feed_with_spaces: "ITunesWithSpacesInAttributes.xml",
|
13
|
+
sample_podlove_feed: "CRE.xml",
|
14
|
+
sample_rdf_feed: "HREFConsideredHarmful.xml",
|
15
|
+
sample_rdf_entry_content: "HREFConsideredHarmfulFirstEntry.xml",
|
16
|
+
sample_rss_feed_burner_feed: "TechCrunch.xml",
|
17
|
+
sample_rss_feed_burner_entry_content: "TechCrunchFirstEntry.xml",
|
18
|
+
sample_rss_feed_burner_entry_description: "TechCrunchFirstEntryDescription.xml",
|
19
|
+
sample_rss_feed: "TenderLovemaking.xml",
|
20
|
+
sample_rss_entry_content: "TenderLovemakingFirstEntry.xml",
|
21
|
+
sample_feedburner_atom_feed: "PaulDixExplainsNothing.xml",
|
22
|
+
sample_feedburner_atom_feed_alternate: "GiantRobotsSmashingIntoOtherGiantRobots.xml",
|
23
|
+
sample_feedburner_atom_entry_content: "PaulDixExplainsNothingFirstEntryContent.xml",
|
24
|
+
sample_wfw_feed: "PaulDixExplainsNothingWFW.xml",
|
25
|
+
sample_google_docs_list_feed: "GoogleDocsList.xml",
|
26
|
+
sample_feed_burner_atom_xhtml_feed: "FeedBurnerXHTML.xml",
|
27
|
+
sample_duplicate_content_atom_feed: "DuplicateContentAtomFeed.xml",
|
28
|
+
sample_youtube_atom_feed: "youtube_atom.xml",
|
29
|
+
sample_atom_xhtml_with_escpaed_html_in_pre_tag_feed: "AtomEscapedHTMLInPreTag.xml",
|
30
|
+
sample_json_feed: "json_feed.json",
|
31
|
+
sample_rss_feed_huffpost_ca: "HuffPostCanada.xml",
|
31
32
|
}.freeze
|
32
33
|
|
33
34
|
FEEDS.each do |method, filename|
|
@@ -0,0 +1,279 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:ss="http://contenthub.aol.com/slideshow/" xmlns:media="http://search.yahoo.com/mrss/" version="2.0">
|
3
|
+
<channel>
|
4
|
+
<title>
|
5
|
+
<![CDATA[HuffPost Canada - Athena2 - All Posts]]>
|
6
|
+
</title>
|
7
|
+
<link>http://www.aol.com</link>
|
8
|
+
<description>
|
9
|
+
<![CDATA[HuffPost Canada - Athena2 - All Posts]]>
|
10
|
+
</description>
|
11
|
+
<language>en</language>
|
12
|
+
<copyright>copyright AOL 2017</copyright>
|
13
|
+
<pubDate>Tue, 17 Oct 2017 22:17:00 +0000</pubDate>
|
14
|
+
<generator>ContentHub http://www.aol.com/</generator>
|
15
|
+
<item>
|
16
|
+
<title>
|
17
|
+
<![CDATA[Winnipeg High School Orders Custom Hijabs For Muslim Athletes]]>
|
18
|
+
</title>
|
19
|
+
<description type="html">
|
20
|
+
<![CDATA[<img src="https://o.aolcdn.com/images/dims3/GLOB/crop/751x376+56+11/resize/630x315!/format/jpg/quality/85/http%3A%2F%2Fo.aolcdn.com%2Fhss%2Fstorage%2Fmidas%2Fb1726dd5e5cde1fb967d92d963537957%2F205775479%2FUntitled%2Bdesign%2B%252857%2529.png" alt="About 50 female students at Dakota Collegiate in Winnipeg wear hijabs. Now, they can get custom hijabs for their athletic uniforms." data-caption="About 50 female students at Dakota Collegiate in Winnipeg wear hijabs. Now, they can get custom hijabs for their athletic uniforms." data-credit="Dakota Collegiate/Twitter"><p>Winnipeg high school student Nusaybah Mohamed's basketball uniform will look a little different this year as she and other Muslim athletes at Dakota Collegiate now have the choice to wear a sporty looking custom-made hijab.</p><p>The black and gold garment with a Dakota Lancers logo is the result of an initiative started last year by her older sister, Amina.</p><p>The now 17-year-old who is studying sciences at the University of Manitoba was sometimes questioned by referees before high school basketball games if the safety pin used to hold her hijab together was safe for play.</p><blockquote class="pull-quote"><span class="quote">We're the second school in Canada to have done this, which is super exciting.</span><span class="attribution" style="display:block;">Nusaybah Mohamed</span></blockquote><p>Amina says she decided to look for one that's easier to wear and which would encourage Muslim women who think they can't get involved in sports because of their attire.</p><p>Dakota Collegiate found a website where it could place orders for custom hijabs.</p><p>Nusaybah, who is in Grade 11, wore her new hijab for the first time on the basketball court Monday and says the head-covering is lighter, easier to use and much faster to slip on.</p><p>"We're the second school in Canada to have done this, which is super exciting,'' said Nusaybah.</p><blockquote><h2><strong>More from HuffPost Canada:</strong></h2><br /><ul><li><a href="http://www.huffingtonpost.ca/2017/05/23/muslim-fitness-stereotype_n_16770120.html?utm_campaign=canada_dau" target="_hplink">4 Muslim Canadian Women Who Have Zero Time For Fitness Stereotypes</a></li><li><a href="http://www.huffingtonpost.ca/2017/09/25/hijabi-dolls_a_23222373/?utm_campaign=canada_dau" target="_hplink">Anonymous Neighbour Leaves 25 Hijabi Dolls Outside Ontario Mom's Door</a></li><li><a href="http://www.huffingtonpost.ca/2017/06/15/hijab-cosplay_n_17125496.html?utm_campaign=canada_dau" target="_hplink">Muslims Are Incorporating Their Hijabs Into Stunning Cosplay</a></li></ul></blockquote><p>"I'm excited for the girls that are here, including my little sister,'' said Amina. "And I know there are other Muslim women wanting to play sports or who are currently in sports.''</p><p>Dakota basketball coach Eric Sung said his varsity players have never had trouble wearing a hijab in a game.</p><p>He noted, however, that until this past summer, the International Basketball Federation had banned the wearing of hijabs, turbans, yarmulkes and other religious headgear during games.</p><p>"You're going to see more athletes who wear a hijab playing and trying to be an elite athlete,'' he said.</p><p>Sung estimated about 50 girls who attend Dakota Collegiate wear a hijab. Physical education is part of the high school's curriculum.</p><p><strong><em>Previously On HuffPost:</em></strong></p><p></p><p><!-- TAG START { player: "* CA Play In Place Autoplay ", for: "AOL Canada" } --></p><div class="vdb_player vdb_58e28f10c214e34d93b12069564e003d67b62214082cc703" data-placeholder="//img.vidible.tv/prod/2017-05/23/59249ff99e4510521813a121/5924a0106cdeb61c8f97bcf1_o_A_v2.jpg?w=1440&h=900" vdb_params="m.embeded=cms_video_plugin_cms.aol.com"><img src="https://img.vidible.tv/prod/2017-05/23/59249ff99e4510521813a121/5924a0106cdeb61c8f97bcf1_o_A_v2.jpg" style="display:none;" /><script src="//delivery.vidible.tv/jsonp/pid=58e28f10c214e34d93b12069/vid=59249ff99e4510521813a121/564e003d67b62214082cc703.js?m.embeded=cms_video_plugin_cms.aol.com" type="text/javascript"></script></div><p><!-- TAG END { date: 10/17/17 } --></p>]]>
|
21
|
+
</description>
|
22
|
+
<link>http://www.huffingtonpost.ca/2017/10/17/winnipeg-high-school-orders-custom-hijabs-for-muslim-athletes_a_23246627/</link>
|
23
|
+
<source_id>0SfWab</source_id>
|
24
|
+
<guid isPermalink="false">23246627</guid>
|
25
|
+
<dc:creator>Canadian Press</dc:creator>
|
26
|
+
<dc:publisher>AMP: HuffPost Canada</dc:publisher>
|
27
|
+
<dc:rightsHolder>AMP: HuffPost Canada</dc:rightsHolder>
|
28
|
+
<pubDate>Tue, 17 Oct 2017 22:17:00 +0000</pubDate>
|
29
|
+
<ingested>1508278845561920000</ingested>
|
30
|
+
<modified>2017-10-17T22:17:32+00:00</modified>
|
31
|
+
<category>
|
32
|
+
<![CDATA[Dakota Collegiate]]>
|
33
|
+
</category>
|
34
|
+
<category>
|
35
|
+
<![CDATA[hijab]]>
|
36
|
+
</category>
|
37
|
+
<category>
|
38
|
+
<![CDATA[Living]]>
|
39
|
+
</category>
|
40
|
+
<category>
|
41
|
+
<![CDATA[Muslim women]]>
|
42
|
+
</category>
|
43
|
+
<category>
|
44
|
+
<![CDATA[News]]>
|
45
|
+
</category>
|
46
|
+
<category>
|
47
|
+
<![CDATA[dakota-collegiate]]>
|
48
|
+
</category>
|
49
|
+
<category>
|
50
|
+
<![CDATA[living]]>
|
51
|
+
</category>
|
52
|
+
<category>
|
53
|
+
<![CDATA[muslim-women]]>
|
54
|
+
</category>
|
55
|
+
<category>
|
56
|
+
<![CDATA[news]]>
|
57
|
+
</category>
|
58
|
+
<category>
|
59
|
+
<![CDATA[LIVING]]>
|
60
|
+
</category>
|
61
|
+
<media:content url="http://o.aolcdn.com/hss/storage/midas/b1726dd5e5cde1fb967d92d963537957/205775479/Untitled+design+%2857%29.png" width="" height="" medium="image">
|
62
|
+
<media:media_html>
|
63
|
+
<![CDATA[]]>
|
64
|
+
</media:media_html>
|
65
|
+
<dc:identifier>
|
66
|
+
<![CDATA[1]]>
|
67
|
+
</dc:identifier>
|
68
|
+
<media:credit>
|
69
|
+
<![CDATA[Dakota Collegiate/Twitter]]>
|
70
|
+
</media:credit>
|
71
|
+
<media:description>
|
72
|
+
<![CDATA[About 50 female students at Dakota Collegiate in Winnipeg wear hijabs. Now, they can get custom hijabs for their athletic uniforms.]]>
|
73
|
+
</media:description>
|
74
|
+
<media:title>
|
75
|
+
<![CDATA[]]>
|
76
|
+
</media:title>
|
77
|
+
</media:content>
|
78
|
+
<media:content url="http://delivery.vidible.tv/video/redirect/59249ff99e4510521813a121.mp4?bcid=56c43fa9e4b02410f026f7e5&w=640&h=480&enc=mp4" medium="video">
|
79
|
+
<media:media_html>
|
80
|
+
<![CDATA[]]>
|
81
|
+
</media:media_html>
|
82
|
+
<dc:identifier>
|
83
|
+
<![CDATA[59249ff99e4510521813a121]]>
|
84
|
+
</dc:identifier>
|
85
|
+
<media:credit>
|
86
|
+
<![CDATA[]]>
|
87
|
+
</media:credit>
|
88
|
+
<media:description>
|
89
|
+
<![CDATA[]]>
|
90
|
+
</media:description>
|
91
|
+
<media:title>
|
92
|
+
<![CDATA[]]>
|
93
|
+
</media:title>
|
94
|
+
<media:embed>
|
95
|
+
<![CDATA[<div class="vdb_player vdb_58e28f10c214e34d93b12069564e003d67b62214082cc703" data-placeholder="//img.vidible.tv/prod/2017-05/23/59249ff99e4510521813a121/5924a0106cdeb61c8f97bcf1_o_A_v2.jpg?w=1440&h=900" vdb_params="m.embeded=cms_video_plugin_cms.aol.com"><img src="https://img.vidible.tv/prod/2017-05/23/59249ff99e4510521813a121/5924a0106cdeb61c8f97bcf1_o_A_v2.jpg" style="display:none;"/><script src="//delivery.vidible.tv/jsonp/pid=58e28f10c214e34d93b12069/vid=59249ff99e4510521813a121/564e003d67b62214082cc703.js?m.embeded=cms_video_plugin_cms.aol.com" type="text/javascript"></script></div>]]>
|
96
|
+
</media:embed>
|
97
|
+
</media:content>
|
98
|
+
</item>
|
99
|
+
<item>
|
100
|
+
<title>
|
101
|
+
<![CDATA[The Once-In-A-Lifetime Thrill Of Opening For Tom Petty]]>
|
102
|
+
</title>
|
103
|
+
<description type="html">
|
104
|
+
<![CDATA[<img src="https://o.aolcdn.com/images/dims3/GLOB/crop/1022x511+0+89/resize/630x315!/format/jpg/quality/85/http%3A%2F%2Fo.aolcdn.com%2Fhss%2Fstorage%2Fmidas%2Ff87b72980c0f8f5b9381aab09c357c1d%2F205739997%2FAdrian.jpg" alt="Adrian Sutherland, frontman for Midnight Shine, performs on the City Stage at 2017 Ottawa Bluesfest. " data-caption="Adrian Sutherland, frontman for Midnight Shine, performs on the City Stage at 2017 Ottawa Bluesfest. " data-credit="Renee Doiron for Soundcheck Entertainment"><p>Earlier this year, our agent Ralph James called us with the most exciting news of our music career to date: he secured us a spot at the 2017 RBC Ottawa Bluesfest. We were booked to play closing night, on the Main Stage, opening for Peter Wolf and Tom Petty! Every upcoming artist would have done just about anything to have that spot. But it was going to be ours.</p><p>In the days leading up to Bluesfest, I felt pretty good knowing that I'd come all this way from nowhere. My home is Attawapiskat, a remote community in northern Ontario on the coast of James Bay. Being in Attawapiskat makes you feel far removed from the rest of the world sometimes. It can be a tough place to live, and an even tougher place from which to launch a music career.</p><p><img alt="Midnight Shine CDs alongside Tom Petty's album." data-caption="Midnight Shine CDs alongside Tom Petty's album." data-credit="RoseAnna Schick / RAS Creative" data-credit-link-back="undefined" data-mep="2087386" src="http://o.aolcdn.com/hss/storage/midas/49052892778e6c4cd4c0a77a4f9eafb9/205740035/20170716_182217.jpg" style="width: 350px; height: 197px; margin: 5px; float: left;" />Landing the gig at Bluesfest, I couldn't help but think... not too bad for an Omushkego (Swampy Cree)! I felt proud, and wanted to play the best show we could, on what would be our biggest stage yet. I remember the first time playing a stage that came close to the size of the Bluesfest City Stage. There was so much space around me, I didn't know what to do with it. The other guys in the band all seemed so far away. It was a strange feeling, being exposed in front of a crowd like that.</p><p>One great discovery though, about professional stages, is that the sound guys and stage manager are top notch. They are right on cue with everything, which helps to ease the nerves. Working with a professional crew sure beats having to fashion up a mic stand with duct tape and a yard rake, something we actually had to do once for a show up north.</p><p>Finally, Bluesfest weekend arrived. <img alt="Tom Petty & The Heartbreaker's drum kit, backstage at RBC Ottawa Bluesfest. " data-caption="Tom Petty & The Heartbreaker's drum kit, backstage at RBC Ottawa Bluesfest. " data-credit="George Gillies" data-credit-link-back="undefined" data-mep="2087388" src="http://o.aolcdn.com/hss/storage/midas/519ae21335691766bbe107bfdaa5967c/205740024/TP+drums.jpg" style="margin: 5px; float: right; width: 200px; height: 267px;" />Arriving backstage at the festival site early on Sunday afternoon was overwhelming to say the least. There were buses and semis and vehicles moving about, and all kinds of people running around doing their jobs. We felt like rookies back there, but the staff and crew were so nice to us, and treated us like an important band. On that day, in that space, I suppose we were.</p><p>They showed us to our "green room," a trailer in the backstage area. We noticed the sign on a trailer just a few meters away: Tom Petty & The Heartbreakers. They were going to be right there! It was hard not to want to wait around to see if we could catch a glimpse of them. But we had work to do.</p><p><img alt="Tom Petty & The Heartbreakers' gear boxes. " data-caption="Tom Petty & The Heartbreakers' gear boxes. " data-credit="RoseAnna Schick / RAS Creative" data-credit-link-back="undefined" data-mep="2087389" src="http://o.aolcdn.com/hss/storage/midas/ba4c73d29b0aaf25625498e26737c275/205740025/20170716_161757.jpg" style="width: 300px; height: 169px; margin: 5px; float: left;" />Waiting backstage to do our sound check... I couldn't help but notice over on the side stage, a workspace full of guitars. There must have been 20 different guitars! I knew they belonged to Tom Petty, and I looked down at my only guitar, a J35 Gibson which I could barely afford to buy five years ago. I thought to myself, I wonder if I'll be able to make it in this business and one day own that many guitars.</p><p><img alt="Tom Petty & The Heartbreakers' gear boxes. " data-caption="Tom Petty & The Heartbreakers' gear boxes. " data-credit="RoseAnna Schick / RAS Creative" data-credit-link-back="undefined" data-mep="2087390" src="http://o.aolcdn.com/hss/storage/midas/210da4a84211633a7de021d5df10095c/205740026/20170716_161808.jpg" style="width: 300px; height: 169px; margin: 5px; float: left;" />I would have loved to shake Tom Petty's hand that day, and let him know just how much he inspired me. When I was a kid, the jukebox in Attawapiskat had a Tom Petty song: "Won't Back Down."<i></i>Any chance I got, I'd put my money in the jukebox and listen to it. It was a song of defiance, and gave me strength in some ways. It was also one of the first songs I taught myself to play on guitar.</p><p>We performed our best show for Bluesfest, and the organizers seemed very happy. So did the crowd, who clapped, cheered, and even shouted for an encore. We played in front of about 5000 people that day, our largest crowd yet. We had so much fun roaming around on the biggest stage we'd ever been on. I think we surprised a lot of people with our music and performance that day. We maybe even surprised ourselves a little bit. <img alt="Midnight Shine play the biggest stage at RBC Ottawa Bluesfest - the City Stage. " data-caption="Midnight Shine play the biggest stage at RBC Ottawa Bluesfest - the City Stage. " data-credit="RoseAnna Schick / RAS Creative" data-credit-link-back="undefined" data-mep="2087391" src="http://o.aolcdn.com/hss/storage/midas/fc2a3edf26fb5f7c84815bc9ec46ede7/205740010/Bluesfest+4.jpg" style="width: 400px; height: 225px; margin: 5px; float: right;" /></p><p>Being from the far north can have its disadvantages in more ways than one. On the flip-side, it has definitely helped shape who I am today. Knowing what it feels like to have very little can set you on a path of wanting more. It creates an insatiable appetite for kushki-ho-win (success). I've never been one to sit around and do nothing, and anytime I have extra time, I can't bear it.</p><p>It's kind of funny that colonizers once set out to break the Ininiw (Indian). Yet, by attempting to do so, they unintentionally created a hybrid Canadian who excelled — and continues to excel — in Indigenous society, as well as in western society. Ultimately, we have learned to navigate the best of both worlds, which is now very helpful. Today, even more than ever before, I am driven for kushki-ho-win.</p><p><img alt="The RBC Bluesfest crowd for Midnight Shine's performance. " data-caption="The RBC Bluesfest crowd for Midnight Shine's performance. " data-credit="RoseAnna Schick / RAS Creative" data-credit-link-back="undefined" data-mep="2087392" src="http://o.aolcdn.com/hss/storage/midas/2a1c6b36bcc29eeba95b434654ee1aa5/205740015/Bluesfest+10.jpg" style="width: 250px; height: 250px; margin: 5px; float: left;" />After our show, we enjoyed a special reception put on by the Bluesfest organizers, and got to meet many Indigenous people and leaders from the Odawa region. Afterwards, we sat back with our friends and family to enjoy Tom Petty's performance. And what a show! I haven't seen many concerts in my life, but if I had, I'll bet this would have been one of my favourites.</p><p>As I watched Tom Petty playing on that gigantic stage, I couldn't help but notice each time he changed guitars, the same guitars I saw backstage. While we hoped to get the chance to shake his hand that day, we never did. And now with the news of his passing, it would have meant even more to us, for that moment to have happened. But now, it never will.</p><p>I'm sad to know that the world lost Tom Petty. I'm also grateful that I once got to open for one of the greatest musicians of our time. It was an experience I'll never forget.</p><p><em><strong>Also on HuffPost:</strong></em></p><div class="vdb_player vdb_58e28f10c214e34d93b12069564e003d67b62214082cc703" data-placeholder="//img.vidible.tv/prod/2017-10/12/59df81a1cc912f37bce7001b/59df81a9c8b4d7581beb3ef2_o_A_v1.jpg?w=1440&h=900" vdb_params="m.embeded=cms_video_plugin_cms.aol.com"><img src="https://img.vidible.tv/prod/2017-10/12/59df81a1cc912f37bce7001b/59df81a9c8b4d7581beb3ef2_o_A_v1.jpg" style="display:none;" /><script src="//delivery.vidible.tv/jsonp/pid=58e28f10c214e34d93b12069/vid=59df81a1cc912f37bce7001b,59db943d4db5ff387abc4b2e,59e638bd55935e36c0c6aae5,59d37f5a4db5ff387ab8fb68,59d9dcce92fdde4c402036f2,59d3b7fe55935e36c0bdcfbc/564e003d67b62214082cc703.js?m.embeded=cms_video_plugin_cms.aol.com" type="text/javascript"></script></div></div>]]>
|
105
|
+
</description>
|
106
|
+
<link>http://www.huffingtonpost.ca/adrian-sutherland/the-once-in-a-lifetime-thrill-of-opening-for-tom-petty_a_23234370/</link>
|
107
|
+
<source_id>0SfWab</source_id>
|
108
|
+
<dc:creator>Adrian Sutherland</dc:creator>
|
109
|
+
<dc:publisher>AMP: HuffPost Canada</dc:publisher>
|
110
|
+
<dc:rightsHolder>Other</dc:rightsHolder>
|
111
|
+
<pubDate>Tue, 17 Oct 2017 21:38:00 +0000</pubDate>
|
112
|
+
<ingested>1508276397276637000</ingested>
|
113
|
+
<modified>2017-10-17T21:40:54+00:00</modified>
|
114
|
+
<category>
|
115
|
+
<![CDATA[Blogs]]>
|
116
|
+
</category>
|
117
|
+
<category>
|
118
|
+
<![CDATA[Living]]>
|
119
|
+
</category>
|
120
|
+
<category>
|
121
|
+
<![CDATA[Midnight Shine]]>
|
122
|
+
</category>
|
123
|
+
<category>
|
124
|
+
<![CDATA[tom petty]]>
|
125
|
+
</category>
|
126
|
+
<category>
|
127
|
+
<![CDATA[blogs]]>
|
128
|
+
</category>
|
129
|
+
<category>
|
130
|
+
<![CDATA[living]]>
|
131
|
+
</category>
|
132
|
+
<category>
|
133
|
+
<![CDATA[midnight-shine]]>
|
134
|
+
</category>
|
135
|
+
<category>
|
136
|
+
<![CDATA[tom-petty]]>
|
137
|
+
</category>
|
138
|
+
<category>
|
139
|
+
<![CDATA[LIVING]]>
|
140
|
+
</category>
|
141
|
+
<media:content url="http://o.aolcdn.com/hss/storage/midas/f87b72980c0f8f5b9381aab09c357c1d/205739997/Adrian.jpg" width="" height="" medium="image">
|
142
|
+
<media:media_html>
|
143
|
+
<![CDATA[]]>
|
144
|
+
</media:media_html>
|
145
|
+
<dc:identifier>
|
146
|
+
<![CDATA[1]]>
|
147
|
+
</dc:identifier>
|
148
|
+
<media:credit>
|
149
|
+
<![CDATA[Renee Doiron for Soundcheck Entertainment]]>
|
150
|
+
</media:credit>
|
151
|
+
<media:description>
|
152
|
+
<![CDATA[Adrian Sutherland, frontman for Midnight Shine, performs on the City Stage at 2017 Ottawa Bluesfest. ]]>
|
153
|
+
</media:description>
|
154
|
+
<media:title>
|
155
|
+
<![CDATA[]]>
|
156
|
+
</media:title>
|
157
|
+
</media:content>
|
158
|
+
<media:content url="http://o.aolcdn.com/hss/storage/midas/49052892778e6c4cd4c0a77a4f9eafb9/205740035/20170716_182217.jpg" width="" height="" medium="image">
|
159
|
+
<media:media_html>
|
160
|
+
<![CDATA[]]>
|
161
|
+
</media:media_html>
|
162
|
+
<dc:identifier>
|
163
|
+
<![CDATA[2]]>
|
164
|
+
</dc:identifier>
|
165
|
+
<media:credit>
|
166
|
+
<![CDATA[RoseAnna Schick / RAS Creative]]>
|
167
|
+
</media:credit>
|
168
|
+
<media:description>
|
169
|
+
<![CDATA[Midnight Shine CDs alongside Tom Petty's album.]]>
|
170
|
+
</media:description>
|
171
|
+
<media:title>
|
172
|
+
<![CDATA[]]>
|
173
|
+
</media:title>
|
174
|
+
</media:content>
|
175
|
+
<media:content url="http://o.aolcdn.com/hss/storage/midas/519ae21335691766bbe107bfdaa5967c/205740024/TP+drums.jpg" width="" height="" medium="image">
|
176
|
+
<media:media_html>
|
177
|
+
<![CDATA[]]>
|
178
|
+
</media:media_html>
|
179
|
+
<dc:identifier>
|
180
|
+
<![CDATA[3]]>
|
181
|
+
</dc:identifier>
|
182
|
+
<media:credit>
|
183
|
+
<![CDATA[George Gillies]]>
|
184
|
+
</media:credit>
|
185
|
+
<media:description>
|
186
|
+
<![CDATA[Tom Petty & The Heartbreaker's drum kit, backstage at RBC Ottawa Bluesfest. ]]>
|
187
|
+
</media:description>
|
188
|
+
<media:title>
|
189
|
+
<![CDATA[]]>
|
190
|
+
</media:title>
|
191
|
+
</media:content>
|
192
|
+
<media:content url="http://o.aolcdn.com/hss/storage/midas/ba4c73d29b0aaf25625498e26737c275/205740025/20170716_161757.jpg" width="" height="" medium="image">
|
193
|
+
<media:media_html>
|
194
|
+
<![CDATA[]]>
|
195
|
+
</media:media_html>
|
196
|
+
<dc:identifier>
|
197
|
+
<![CDATA[4]]>
|
198
|
+
</dc:identifier>
|
199
|
+
<media:credit>
|
200
|
+
<![CDATA[RoseAnna Schick / RAS Creative]]>
|
201
|
+
</media:credit>
|
202
|
+
<media:description>
|
203
|
+
<![CDATA[Tom Petty & The Heartbreakers' gear boxes. ]]>
|
204
|
+
</media:description>
|
205
|
+
<media:title>
|
206
|
+
<![CDATA[]]>
|
207
|
+
</media:title>
|
208
|
+
</media:content>
|
209
|
+
<media:content url="http://o.aolcdn.com/hss/storage/midas/210da4a84211633a7de021d5df10095c/205740026/20170716_161808.jpg" width="" height="" medium="image">
|
210
|
+
<media:media_html>
|
211
|
+
<![CDATA[]]>
|
212
|
+
</media:media_html>
|
213
|
+
<dc:identifier>
|
214
|
+
<![CDATA[5]]>
|
215
|
+
</dc:identifier>
|
216
|
+
<media:credit>
|
217
|
+
<![CDATA[RoseAnna Schick / RAS Creative]]>
|
218
|
+
</media:credit>
|
219
|
+
<media:description>
|
220
|
+
<![CDATA[Tom Petty & The Heartbreakers' gear boxes. ]]>
|
221
|
+
</media:description>
|
222
|
+
<media:title>
|
223
|
+
<![CDATA[]]>
|
224
|
+
</media:title>
|
225
|
+
</media:content>
|
226
|
+
<media:content url="http://o.aolcdn.com/hss/storage/midas/fc2a3edf26fb5f7c84815bc9ec46ede7/205740010/Bluesfest+4.jpg" width="" height="" medium="image">
|
227
|
+
<media:media_html>
|
228
|
+
<![CDATA[]]>
|
229
|
+
</media:media_html>
|
230
|
+
<dc:identifier>
|
231
|
+
<![CDATA[6]]>
|
232
|
+
</dc:identifier>
|
233
|
+
<media:credit>
|
234
|
+
<![CDATA[RoseAnna Schick / RAS Creative]]>
|
235
|
+
</media:credit>
|
236
|
+
<media:description>
|
237
|
+
<![CDATA[Midnight Shine play the biggest stage at RBC Ottawa Bluesfest - the City Stage. ]]>
|
238
|
+
</media:description>
|
239
|
+
<media:title>
|
240
|
+
<![CDATA[]]>
|
241
|
+
</media:title>
|
242
|
+
</media:content>
|
243
|
+
<media:content url="http://o.aolcdn.com/hss/storage/midas/2a1c6b36bcc29eeba95b434654ee1aa5/205740015/Bluesfest+10.jpg" width="" height="" medium="image">
|
244
|
+
<media:media_html>
|
245
|
+
<![CDATA[]]>
|
246
|
+
</media:media_html>
|
247
|
+
<dc:identifier>
|
248
|
+
<![CDATA[7]]>
|
249
|
+
</dc:identifier>
|
250
|
+
<media:credit>
|
251
|
+
<![CDATA[RoseAnna Schick / RAS Creative]]>
|
252
|
+
</media:credit>
|
253
|
+
<media:description>
|
254
|
+
<![CDATA[The RBC Bluesfest crowd for Midnight Shine's performance. ]]>
|
255
|
+
</media:description>
|
256
|
+
<media:title>
|
257
|
+
<![CDATA[]]>
|
258
|
+
</media:title>
|
259
|
+
</media:content>
|
260
|
+
<media:content url="//img.vidible.tv/prod/2017-10/12/59df81a1cc912f37bce7001b/59df81a9c8b4d7581beb3ef2_o_A_v1.jpg?w=1440&h=900" width="" height="" medium="image">
|
261
|
+
<media:media_html>
|
262
|
+
<![CDATA[]]>
|
263
|
+
</media:media_html>
|
264
|
+
<dc:identifier>
|
265
|
+
<![CDATA[8]]>
|
266
|
+
</dc:identifier>
|
267
|
+
<media:credit>
|
268
|
+
<![CDATA[]]>
|
269
|
+
</media:credit>
|
270
|
+
<media:description>
|
271
|
+
<![CDATA[]]>
|
272
|
+
</media:description>
|
273
|
+
<media:title>
|
274
|
+
<![CDATA[]]>
|
275
|
+
</media:title>
|
276
|
+
</media:content>
|
277
|
+
</item>
|
278
|
+
</channel>
|
279
|
+
</rss>
|