firstfm 0.7.0 → 0.8.0
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 +7 -0
- data/Gemfile +4 -4
- data/Gemfile.lock +49 -18
- data/VERSION.yml +1 -1
- data/firstfm.gemspec +27 -32
- data/lib/firstfm.rb +2 -3
- data/lib/firstfm/artist.rb +25 -44
- data/lib/firstfm/geo.rb +32 -33
- data/lib/firstfm/location.rb +8 -8
- data/lib/firstfm/track.rb +15 -15
- data/lib/firstfm/user.rb +9 -9
- data/lib/firstfm/venue.rb +16 -16
- data/test/fixtures/artist.json +229 -0
- data/test/fixtures/artists.json +890 -0
- data/test/fixtures/events.json +173 -0
- data/test/fixtures/geo_event.json +98 -0
- data/test/fixtures/geo_events.json +845 -0
- data/test/fixtures/geo_get_metro_artist_chart.json +77 -0
- data/test/fixtures/get_correction.json +14 -0
- data/test/fixtures/get_correction_blank.json +1 -0
- data/test/fixtures/top_tracks.json +1711 -0
- data/test/fixtures/tracks.json +679 -0
- data/test/fixtures/user_artists.json +78 -0
- data/test/fixtures/venues.json +98 -0
- data/test/test_artist.rb +23 -32
- data/test/test_geo.rb +75 -75
- data/test/test_track.rb +10 -11
- data/test/test_user.rb +6 -7
- data/test/test_venue.rb +23 -44
- metadata +40 -78
- data/test/fixtures/artist.xml +0 -112
- data/test/fixtures/artists.xml +0 -371
- data/test/fixtures/event.xml +0 -54
- data/test/fixtures/events.xml +0 -128
- data/test/fixtures/geo_event.xml +0 -54
- data/test/fixtures/geo_events.xml +0 -109
- data/test/fixtures/geo_get_metro_artist_chart.xml +0 -29
- data/test/fixtures/get_correction.xml +0 -11
- data/test/fixtures/get_correction_blank.xml +0 -5
- data/test/fixtures/get_images.xml +0 -913
- data/test/fixtures/top_tracks.xml +0 -844
- data/test/fixtures/tracks.xml +0 -362
- data/test/fixtures/user_artists.xml +0 -29
- data/test/fixtures/venue.xml +0 -32
- data/test/fixtures/venues.xml +0 -54
data/test/test_track.rb
CHANGED
|
@@ -1,23 +1,22 @@
|
|
|
1
1
|
require 'helper'
|
|
2
|
-
|
|
2
|
+
|
|
3
3
|
class TestTrack < Test::Unit::TestCase
|
|
4
|
-
|
|
4
|
+
|
|
5
5
|
def test_should_search_tracks
|
|
6
|
-
FakeWeb.register_uri(:get, %r|http://ws.audioscrobbler.com/|, :body => File.read(File.dirname(__FILE__) + "/fixtures/tracks.
|
|
6
|
+
FakeWeb.register_uri(:get, %r|http://ws.audioscrobbler.com/|, :body => File.read(File.dirname(__FILE__) + "/fixtures/tracks.json"))
|
|
7
7
|
tracks = Firstfm::Track.search("Believe")
|
|
8
8
|
assert_equal 30, tracks.size
|
|
9
|
-
assert_equal
|
|
9
|
+
assert_equal 888, tracks.total_pages
|
|
10
10
|
assert_equal 1, tracks.current_page
|
|
11
|
-
assert_equal
|
|
11
|
+
assert_equal 26620, tracks.total_entries
|
|
12
12
|
track = tracks.first
|
|
13
13
|
#raise track.inspect
|
|
14
|
-
assert_equal "Believe
|
|
15
|
-
assert_equal
|
|
16
|
-
assert_equal "http://www.last.fm/music/
|
|
14
|
+
assert_equal "Believe", track.name
|
|
15
|
+
assert_equal 248, track.listeners
|
|
16
|
+
assert_equal "http://www.last.fm/music/BELIEVE/_/Believe", track.url
|
|
17
17
|
assert_equal nil, track.mbid
|
|
18
|
-
assert track.streamable
|
|
19
18
|
assert_equal 4, track.images.size
|
|
20
|
-
assert_equal "
|
|
19
|
+
assert_equal "BELIEVE", track.artist.name
|
|
21
20
|
end
|
|
22
|
-
|
|
21
|
+
|
|
23
22
|
end
|
data/test/test_user.rb
CHANGED
|
@@ -1,19 +1,18 @@
|
|
|
1
1
|
require 'helper'
|
|
2
|
-
|
|
2
|
+
|
|
3
3
|
class TestUser < Test::Unit::TestCase
|
|
4
|
-
|
|
4
|
+
|
|
5
5
|
def test_should_get_top_artists
|
|
6
|
-
FakeWeb.register_uri(:get, %r|http://ws.audioscrobbler.com/|, :body => File.read(File.dirname(__FILE__) + "/fixtures/user_artists.
|
|
6
|
+
FakeWeb.register_uri(:get, %r|http://ws.audioscrobbler.com/|, :body => File.read(File.dirname(__FILE__) + "/fixtures/user_artists.json"))
|
|
7
7
|
artists = Firstfm::User.get_top_artists("RJ")
|
|
8
8
|
assert_equal 2, artists.size
|
|
9
|
-
assert_equal
|
|
9
|
+
assert_equal 8778, artists.total_entries
|
|
10
10
|
artist = artists.first
|
|
11
11
|
assert_equal "Dream Theater", artist.name
|
|
12
|
-
assert_equal
|
|
12
|
+
assert_equal 1859, artist.playcount
|
|
13
13
|
assert_equal "http://www.last.fm/music/Dream+Theater", artist.url
|
|
14
14
|
assert_equal "28503ab7-8bf2-4666-a7bd-2644bfc7cb1d", artist.mbid
|
|
15
|
-
assert artist.streamable
|
|
16
15
|
assert_equal 5, artist.images.size
|
|
17
16
|
end
|
|
18
|
-
|
|
17
|
+
|
|
19
18
|
end
|
data/test/test_venue.rb
CHANGED
|
@@ -1,71 +1,50 @@
|
|
|
1
1
|
require 'helper'
|
|
2
|
-
|
|
2
|
+
|
|
3
3
|
class TestVenue < Test::Unit::TestCase
|
|
4
|
-
|
|
4
|
+
|
|
5
5
|
def test_should_search_venues
|
|
6
|
-
FakeWeb.register_uri(:get, %r|http://ws.audioscrobbler.com/|, :body => File.read(File.dirname(__FILE__) + "/fixtures/venues.
|
|
6
|
+
FakeWeb.register_uri(:get, %r|http://ws.audioscrobbler.com/|, :body => File.read(File.dirname(__FILE__) + "/fixtures/venues.json"))
|
|
7
7
|
venues = Firstfm::Venue.search("arena")
|
|
8
8
|
assert_equal 2, venues.size
|
|
9
9
|
venue = venues.first
|
|
10
10
|
assert_equal "Arena", venue.name
|
|
11
11
|
assert_equal "Baumgasse 80", venue.location.street
|
|
12
12
|
venue = venues.last
|
|
13
|
-
assert_equal "
|
|
14
|
-
assert_equal "
|
|
13
|
+
assert_equal "10319137", venue.id
|
|
14
|
+
assert_equal "-23.515061", venue.location.lat
|
|
15
15
|
end
|
|
16
|
-
|
|
17
|
-
def test_should_search_venues_with_one_venue_as_result
|
|
18
|
-
FakeWeb.register_uri(:get, %r|http://ws.audioscrobbler.com/|, :body => File.read(File.dirname(__FILE__) + "/fixtures/venue.xml"))
|
|
19
|
-
venues = Firstfm::Venue.search("arena")
|
|
20
|
-
assert_equal 1, venues.size
|
|
21
|
-
venue = venues.first
|
|
22
|
-
assert_equal "Arena", venue.name
|
|
23
|
-
assert_equal "8778545", venue.id
|
|
24
|
-
assert_equal "Baumgasse 80", venue.location.street
|
|
25
|
-
end
|
|
26
|
-
|
|
16
|
+
|
|
27
17
|
def test_should_get_events
|
|
28
|
-
FakeWeb.register_uri(:get, %r|http://ws.audioscrobbler.com/|, :body => File.read(File.dirname(__FILE__) + "/fixtures/events.
|
|
18
|
+
FakeWeb.register_uri(:get, %r|http://ws.audioscrobbler.com/|, :body => File.read(File.dirname(__FILE__) + "/fixtures/events.json"))
|
|
29
19
|
events = Firstfm::Venue.get_events(8908030)
|
|
30
20
|
assert_equal 2, events.size
|
|
31
|
-
|
|
21
|
+
|
|
32
22
|
event = events.first
|
|
33
|
-
assert_equal "
|
|
34
|
-
assert_equal "
|
|
23
|
+
assert_equal "Sun Ra Arkestra", event.title
|
|
24
|
+
assert_equal "4167492", event.id
|
|
35
25
|
assert_equal "Cafe OTO", event.venue.name
|
|
36
|
-
|
|
26
|
+
|
|
37
27
|
event = events.last
|
|
38
|
-
assert_equal "
|
|
39
|
-
assert_equal "
|
|
28
|
+
assert_equal "Alessandro Cortini", event.title
|
|
29
|
+
assert_equal "4175250", event.id
|
|
40
30
|
assert_equal "Cafe OTO", event.venue.name
|
|
41
31
|
end
|
|
42
|
-
|
|
43
|
-
def test_should_get_events_with_one_event_as_result
|
|
44
|
-
FakeWeb.register_uri(:get, %r|http://ws.audioscrobbler.com/|, :body => File.read(File.dirname(__FILE__) + "/fixtures/event.xml"))
|
|
45
|
-
events = Firstfm::Venue.get_events(8908030)
|
|
46
|
-
assert_equal 1, events.size
|
|
47
|
-
|
|
48
|
-
event = events.first
|
|
49
|
-
assert_equal "U.S. Girls", event.title
|
|
50
|
-
assert_equal "1313175", event.id
|
|
51
|
-
assert_equal "Cafe OTO", event.venue.name
|
|
52
|
-
end
|
|
53
|
-
|
|
32
|
+
|
|
54
33
|
def test_should_get_events_from_single_venue
|
|
55
|
-
FakeWeb.register_uri(:get, %r|http://ws.audioscrobbler.com/|, :body => File.read(File.dirname(__FILE__) + "/fixtures/
|
|
34
|
+
FakeWeb.register_uri(:get, %r|http://ws.audioscrobbler.com/|, :body => File.read(File.dirname(__FILE__) + "/fixtures/venues.json"))
|
|
56
35
|
venues = Firstfm::Venue.search("arena")
|
|
57
36
|
venue = venues.first
|
|
58
37
|
venue.id = 8908030
|
|
59
|
-
|
|
60
|
-
FakeWeb.register_uri(:get, %r|http://ws.audioscrobbler.com/|, :body => File.read(File.dirname(__FILE__) + "/fixtures/
|
|
61
|
-
|
|
38
|
+
|
|
39
|
+
FakeWeb.register_uri(:get, %r|http://ws.audioscrobbler.com/|, :body => File.read(File.dirname(__FILE__) + "/fixtures/events.json"))
|
|
40
|
+
|
|
62
41
|
events = venue.get_events
|
|
63
|
-
assert_equal
|
|
64
|
-
|
|
42
|
+
assert_equal 2, events.size
|
|
43
|
+
|
|
65
44
|
event = events.first
|
|
66
|
-
assert_equal "
|
|
67
|
-
assert_equal "
|
|
45
|
+
assert_equal "Sun Ra Arkestra", event.title
|
|
46
|
+
assert_equal "4167492", event.id
|
|
68
47
|
assert_equal "Cafe OTO", event.venue.name
|
|
69
48
|
end
|
|
70
|
-
|
|
49
|
+
|
|
71
50
|
end
|
metadata
CHANGED
|
@@ -1,142 +1,111 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: firstfm
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
5
|
-
prerelease:
|
|
4
|
+
version: 0.8.0
|
|
6
5
|
platform: ruby
|
|
7
6
|
authors:
|
|
8
7
|
- Aleksandr Lossenko
|
|
9
8
|
autorequire:
|
|
10
9
|
bindir: bin
|
|
11
10
|
cert_chain: []
|
|
12
|
-
date:
|
|
11
|
+
date: 2015-08-16 00:00:00.000000000 Z
|
|
13
12
|
dependencies:
|
|
14
13
|
- !ruby/object:Gem::Dependency
|
|
15
14
|
name: httparty
|
|
16
15
|
requirement: !ruby/object:Gem::Requirement
|
|
17
|
-
none: false
|
|
18
16
|
requirements:
|
|
19
|
-
- - ~>
|
|
17
|
+
- - "~>"
|
|
20
18
|
- !ruby/object:Gem::Version
|
|
21
|
-
version: 0.
|
|
19
|
+
version: 0.13.5
|
|
22
20
|
type: :runtime
|
|
23
21
|
prerelease: false
|
|
24
22
|
version_requirements: !ruby/object:Gem::Requirement
|
|
25
|
-
none: false
|
|
26
23
|
requirements:
|
|
27
|
-
- - ~>
|
|
24
|
+
- - "~>"
|
|
28
25
|
- !ruby/object:Gem::Version
|
|
29
|
-
version: 0.
|
|
30
|
-
- !ruby/object:Gem::Dependency
|
|
31
|
-
name: crack
|
|
32
|
-
requirement: !ruby/object:Gem::Requirement
|
|
33
|
-
none: false
|
|
34
|
-
requirements:
|
|
35
|
-
- - ~>
|
|
36
|
-
- !ruby/object:Gem::Version
|
|
37
|
-
version: 0.3.2
|
|
38
|
-
type: :runtime
|
|
39
|
-
prerelease: false
|
|
40
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
41
|
-
none: false
|
|
42
|
-
requirements:
|
|
43
|
-
- - ~>
|
|
44
|
-
- !ruby/object:Gem::Version
|
|
45
|
-
version: 0.3.2
|
|
26
|
+
version: 0.13.5
|
|
46
27
|
- !ruby/object:Gem::Dependency
|
|
47
28
|
name: will_paginate
|
|
48
29
|
requirement: !ruby/object:Gem::Requirement
|
|
49
|
-
none: false
|
|
50
30
|
requirements:
|
|
51
|
-
- - ~>
|
|
31
|
+
- - "~>"
|
|
52
32
|
- !ruby/object:Gem::Version
|
|
53
|
-
version: 3.0.
|
|
33
|
+
version: 3.0.7
|
|
54
34
|
type: :runtime
|
|
55
35
|
prerelease: false
|
|
56
36
|
version_requirements: !ruby/object:Gem::Requirement
|
|
57
|
-
none: false
|
|
58
37
|
requirements:
|
|
59
|
-
- - ~>
|
|
38
|
+
- - "~>"
|
|
60
39
|
- !ruby/object:Gem::Version
|
|
61
|
-
version: 3.0.
|
|
40
|
+
version: 3.0.7
|
|
62
41
|
- !ruby/object:Gem::Dependency
|
|
63
42
|
name: chronic
|
|
64
43
|
requirement: !ruby/object:Gem::Requirement
|
|
65
|
-
none: false
|
|
66
44
|
requirements:
|
|
67
|
-
- - ~>
|
|
45
|
+
- - "~>"
|
|
68
46
|
- !ruby/object:Gem::Version
|
|
69
|
-
version: 0.
|
|
47
|
+
version: 0.10.2
|
|
70
48
|
type: :runtime
|
|
71
49
|
prerelease: false
|
|
72
50
|
version_requirements: !ruby/object:Gem::Requirement
|
|
73
|
-
none: false
|
|
74
51
|
requirements:
|
|
75
|
-
- - ~>
|
|
52
|
+
- - "~>"
|
|
76
53
|
- !ruby/object:Gem::Version
|
|
77
|
-
version: 0.
|
|
54
|
+
version: 0.10.2
|
|
78
55
|
- !ruby/object:Gem::Dependency
|
|
79
56
|
name: rake
|
|
80
57
|
requirement: !ruby/object:Gem::Requirement
|
|
81
|
-
none: false
|
|
82
58
|
requirements:
|
|
83
|
-
- -
|
|
59
|
+
- - ">="
|
|
84
60
|
- !ruby/object:Gem::Version
|
|
85
61
|
version: '0'
|
|
86
62
|
type: :development
|
|
87
63
|
prerelease: false
|
|
88
64
|
version_requirements: !ruby/object:Gem::Requirement
|
|
89
|
-
none: false
|
|
90
65
|
requirements:
|
|
91
|
-
- -
|
|
66
|
+
- - ">="
|
|
92
67
|
- !ruby/object:Gem::Version
|
|
93
68
|
version: '0'
|
|
94
69
|
- !ruby/object:Gem::Dependency
|
|
95
70
|
name: bundler
|
|
96
71
|
requirement: !ruby/object:Gem::Requirement
|
|
97
|
-
none: false
|
|
98
72
|
requirements:
|
|
99
|
-
- -
|
|
73
|
+
- - ">="
|
|
100
74
|
- !ruby/object:Gem::Version
|
|
101
75
|
version: '0'
|
|
102
76
|
type: :development
|
|
103
77
|
prerelease: false
|
|
104
78
|
version_requirements: !ruby/object:Gem::Requirement
|
|
105
|
-
none: false
|
|
106
79
|
requirements:
|
|
107
|
-
- -
|
|
80
|
+
- - ">="
|
|
108
81
|
- !ruby/object:Gem::Version
|
|
109
82
|
version: '0'
|
|
110
83
|
- !ruby/object:Gem::Dependency
|
|
111
84
|
name: jeweler
|
|
112
85
|
requirement: !ruby/object:Gem::Requirement
|
|
113
|
-
none: false
|
|
114
86
|
requirements:
|
|
115
|
-
- -
|
|
87
|
+
- - ">="
|
|
116
88
|
- !ruby/object:Gem::Version
|
|
117
89
|
version: '0'
|
|
118
90
|
type: :development
|
|
119
91
|
prerelease: false
|
|
120
92
|
version_requirements: !ruby/object:Gem::Requirement
|
|
121
|
-
none: false
|
|
122
93
|
requirements:
|
|
123
|
-
- -
|
|
94
|
+
- - ">="
|
|
124
95
|
- !ruby/object:Gem::Version
|
|
125
96
|
version: '0'
|
|
126
97
|
- !ruby/object:Gem::Dependency
|
|
127
98
|
name: fakeweb
|
|
128
99
|
requirement: !ruby/object:Gem::Requirement
|
|
129
|
-
none: false
|
|
130
100
|
requirements:
|
|
131
|
-
- -
|
|
101
|
+
- - ">="
|
|
132
102
|
- !ruby/object:Gem::Version
|
|
133
103
|
version: '0'
|
|
134
104
|
type: :development
|
|
135
105
|
prerelease: false
|
|
136
106
|
version_requirements: !ruby/object:Gem::Requirement
|
|
137
|
-
none: false
|
|
138
107
|
requirements:
|
|
139
|
-
- -
|
|
108
|
+
- - ">="
|
|
140
109
|
- !ruby/object:Gem::Version
|
|
141
110
|
version: '0'
|
|
142
111
|
description: Firstfm is a ruby wrapper for the Last.fm APIs ( http://www.last.fm/api
|
|
@@ -149,7 +118,7 @@ extra_rdoc_files:
|
|
|
149
118
|
- LICENSE.txt
|
|
150
119
|
- README.rdoc
|
|
151
120
|
files:
|
|
152
|
-
- .rvmrc
|
|
121
|
+
- ".rvmrc"
|
|
153
122
|
- Gemfile
|
|
154
123
|
- Gemfile.lock
|
|
155
124
|
- LICENSE.txt
|
|
@@ -167,21 +136,18 @@ files:
|
|
|
167
136
|
- lib/firstfm/track.rb
|
|
168
137
|
- lib/firstfm/user.rb
|
|
169
138
|
- lib/firstfm/venue.rb
|
|
170
|
-
- test/fixtures/artist.
|
|
171
|
-
- test/fixtures/artists.
|
|
172
|
-
- test/fixtures/
|
|
173
|
-
- test/fixtures/
|
|
174
|
-
- test/fixtures/
|
|
175
|
-
- test/fixtures/
|
|
176
|
-
- test/fixtures/
|
|
177
|
-
- test/fixtures/
|
|
178
|
-
- test/fixtures/
|
|
179
|
-
- test/fixtures/
|
|
180
|
-
- test/fixtures/
|
|
181
|
-
- test/fixtures/
|
|
182
|
-
- test/fixtures/user_artists.xml
|
|
183
|
-
- test/fixtures/venue.xml
|
|
184
|
-
- test/fixtures/venues.xml
|
|
139
|
+
- test/fixtures/artist.json
|
|
140
|
+
- test/fixtures/artists.json
|
|
141
|
+
- test/fixtures/events.json
|
|
142
|
+
- test/fixtures/geo_event.json
|
|
143
|
+
- test/fixtures/geo_events.json
|
|
144
|
+
- test/fixtures/geo_get_metro_artist_chart.json
|
|
145
|
+
- test/fixtures/get_correction.json
|
|
146
|
+
- test/fixtures/get_correction_blank.json
|
|
147
|
+
- test/fixtures/top_tracks.json
|
|
148
|
+
- test/fixtures/tracks.json
|
|
149
|
+
- test/fixtures/user_artists.json
|
|
150
|
+
- test/fixtures/venues.json
|
|
185
151
|
- test/helper.rb
|
|
186
152
|
- test/test_artist.rb
|
|
187
153
|
- test/test_geo.rb
|
|
@@ -191,29 +157,25 @@ files:
|
|
|
191
157
|
homepage: http://github.com/egze/firstfm
|
|
192
158
|
licenses:
|
|
193
159
|
- MIT
|
|
160
|
+
metadata: {}
|
|
194
161
|
post_install_message:
|
|
195
162
|
rdoc_options: []
|
|
196
163
|
require_paths:
|
|
197
164
|
- lib
|
|
198
165
|
required_ruby_version: !ruby/object:Gem::Requirement
|
|
199
|
-
none: false
|
|
200
166
|
requirements:
|
|
201
|
-
- -
|
|
167
|
+
- - ">="
|
|
202
168
|
- !ruby/object:Gem::Version
|
|
203
169
|
version: '0'
|
|
204
|
-
segments:
|
|
205
|
-
- 0
|
|
206
|
-
hash: -964110322330808442
|
|
207
170
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
208
|
-
none: false
|
|
209
171
|
requirements:
|
|
210
|
-
- -
|
|
172
|
+
- - ">="
|
|
211
173
|
- !ruby/object:Gem::Version
|
|
212
174
|
version: '0'
|
|
213
175
|
requirements: []
|
|
214
176
|
rubyforge_project:
|
|
215
|
-
rubygems_version:
|
|
177
|
+
rubygems_version: 2.2.2
|
|
216
178
|
signing_key:
|
|
217
|
-
specification_version:
|
|
179
|
+
specification_version: 4
|
|
218
180
|
summary: A ruby wrapper for the Last.fm APIs
|
|
219
181
|
test_files: []
|
data/test/fixtures/artist.xml
DELETED
|
@@ -1,112 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
<?xml version="1.0" encoding="utf-8"?>
|
|
3
|
-
<lfm status="ok">
|
|
4
|
-
<artist>
|
|
5
|
-
<name>Cher</name>
|
|
6
|
-
<mbid>bfcc6d75-a6a5-4bc6-8282-47aec8531818</mbid>
|
|
7
|
-
<url>http://www.last.fm/music/Cher</url>
|
|
8
|
-
<image size="small">http://userserve-ak.last.fm/serve/34/62203963.png</image>
|
|
9
|
-
<image size="medium">http://userserve-ak.last.fm/serve/64/62203963.png</image>
|
|
10
|
-
<image size="large">http://userserve-ak.last.fm/serve/126/62203963.png</image>
|
|
11
|
-
<image size="extralarge">http://userserve-ak.last.fm/serve/252/62203963.png</image>
|
|
12
|
-
<image size="mega">http://userserve-ak.last.fm/serve/500/62203963/Cher.png</image>
|
|
13
|
-
<streamable>1</streamable>
|
|
14
|
-
<stats>
|
|
15
|
-
<listeners>779214</listeners>
|
|
16
|
-
<playcount>8071984</playcount>
|
|
17
|
-
</stats>
|
|
18
|
-
|
|
19
|
-
<similar>
|
|
20
|
-
<artist>
|
|
21
|
-
<name>Sonny & Cher</name>
|
|
22
|
-
<url>http://www.last.fm/music/Sonny+&+Cher</url>
|
|
23
|
-
<image size="small">http://userserve-ak.last.fm/serve/34/71168880.png</image>
|
|
24
|
-
<image size="medium">http://userserve-ak.last.fm/serve/64/71168880.png</image>
|
|
25
|
-
<image size="large">http://userserve-ak.last.fm/serve/126/71168880.png</image>
|
|
26
|
-
<image size="extralarge">http://userserve-ak.last.fm/serve/252/71168880.png</image>
|
|
27
|
-
<image size="mega">http://userserve-ak.last.fm/serve/500/71168880/Sonny++Cher.png</image>
|
|
28
|
-
|
|
29
|
-
</artist>
|
|
30
|
-
<artist>
|
|
31
|
-
<name>Cyndi Lauper</name>
|
|
32
|
-
<url>http://www.last.fm/music/Cyndi+Lauper</url>
|
|
33
|
-
<image size="small">http://userserve-ak.last.fm/serve/34/76537198.png</image>
|
|
34
|
-
<image size="medium">http://userserve-ak.last.fm/serve/64/76537198.png</image>
|
|
35
|
-
<image size="large">http://userserve-ak.last.fm/serve/126/76537198.png</image>
|
|
36
|
-
<image size="extralarge">http://userserve-ak.last.fm/serve/252/76537198.png</image>
|
|
37
|
-
<image size="mega">http://userserve-ak.last.fm/serve/_/76537198/Cyndi+Lauper+++I+have+a+dream.png</image>
|
|
38
|
-
|
|
39
|
-
</artist>
|
|
40
|
-
<artist>
|
|
41
|
-
<name>Madonna</name>
|
|
42
|
-
<url>http://www.last.fm/music/Madonna</url>
|
|
43
|
-
<image size="small">http://userserve-ak.last.fm/serve/34/8451547.jpg</image>
|
|
44
|
-
<image size="medium">http://userserve-ak.last.fm/serve/64/8451547.jpg</image>
|
|
45
|
-
<image size="large">http://userserve-ak.last.fm/serve/126/8451547.jpg</image>
|
|
46
|
-
<image size="extralarge">http://userserve-ak.last.fm/serve/252/8451547.jpg</image>
|
|
47
|
-
<image size="mega">http://userserve-ak.last.fm/serve/_/8451547/Madonna+Confessions+on+a+Dance+Floor+p.jpg</image>
|
|
48
|
-
|
|
49
|
-
</artist>
|
|
50
|
-
<artist>
|
|
51
|
-
<name>Kylie Minogue</name>
|
|
52
|
-
<url>http://www.last.fm/music/Kylie+Minogue</url>
|
|
53
|
-
<image size="small">http://userserve-ak.last.fm/serve/34/75585696.png</image>
|
|
54
|
-
<image size="medium">http://userserve-ak.last.fm/serve/64/75585696.png</image>
|
|
55
|
-
<image size="large">http://userserve-ak.last.fm/serve/126/75585696.png</image>
|
|
56
|
-
<image size="extralarge">http://userserve-ak.last.fm/serve/252/75585696.png</image>
|
|
57
|
-
<image size="mega">http://userserve-ak.last.fm/serve/_/75585696/Kylie+Minogue+simplemente+Kylie.png</image>
|
|
58
|
-
|
|
59
|
-
</artist>
|
|
60
|
-
<artist>
|
|
61
|
-
<name>Tina Turner</name>
|
|
62
|
-
<url>http://www.last.fm/music/Tina+Turner</url>
|
|
63
|
-
<image size="small">http://userserve-ak.last.fm/serve/34/74998404.jpg</image>
|
|
64
|
-
<image size="medium">http://userserve-ak.last.fm/serve/64/74998404.jpg</image>
|
|
65
|
-
<image size="large">http://userserve-ak.last.fm/serve/126/74998404.jpg</image>
|
|
66
|
-
<image size="extralarge">http://userserve-ak.last.fm/serve/252/74998404.jpg</image>
|
|
67
|
-
<image size="mega">http://userserve-ak.last.fm/serve/_/74998404/Tina+Turner+Queen+3.jpg</image>
|
|
68
|
-
|
|
69
|
-
</artist>
|
|
70
|
-
</similar>
|
|
71
|
-
<tags>
|
|
72
|
-
<tag>
|
|
73
|
-
<name>pop</name>
|
|
74
|
-
<url>http://www.last.fm/tag/pop</url>
|
|
75
|
-
</tag>
|
|
76
|
-
<tag>
|
|
77
|
-
<name>female vocalists</name>
|
|
78
|
-
<url>http://www.last.fm/tag/female%20vocalists</url>
|
|
79
|
-
</tag>
|
|
80
|
-
<tag>
|
|
81
|
-
<name>80s</name>
|
|
82
|
-
<url>http://www.last.fm/tag/80s</url>
|
|
83
|
-
</tag>
|
|
84
|
-
<tag>
|
|
85
|
-
<name>dance</name>
|
|
86
|
-
<url>http://www.last.fm/tag/dance</url>
|
|
87
|
-
</tag>
|
|
88
|
-
<tag>
|
|
89
|
-
<name>rock</name>
|
|
90
|
-
<url>http://www.last.fm/tag/rock</url>
|
|
91
|
-
</tag>
|
|
92
|
-
</tags>
|
|
93
|
-
<bio>
|
|
94
|
-
<published>Fri, 13 Jul 2012 09:56:53 +0000</published>
|
|
95
|
-
<summary><![CDATA[Cher (born Cherilyn Sarkisian on May 20, 1946) is an American singer, actress, songwriter, author and entertainer. Among her many career accomplishments in music, television and film, she has won an Academy Award, a Grammy Award, an Emmy Award and three Golden Globe Awards among others. Referred to as the Goddess of Pop, Cher first rose to prominence in 1965 as one half of the pop/rock duo Sonny & Cher.]]></summary>
|
|
96
|
-
<content><![CDATA[Cher (born Cherilyn Sarkisian on May 20, 1946) is an American singer, actress, songwriter, author and entertainer. Among her many career accomplishments in music, television and film, she has won an Academy Award, a Grammy Award, an Emmy Award and three Golden Globe Awards among others.
|
|
97
|
-
|
|
98
|
-
Referred to as the Goddess of Pop, Cher first rose to prominence in 1965 as one half of the pop/rock duo Sonny & Cher. She also established herself as a solo recording artist, releasing 25 albums, contributing to numerous compilations, and tallying 34 Billboard Top 40 entries over her career, both solo and with Sonny. These include eighteen Top 10 singles and five number one singles (four solo). Cher has had 16 top ten hits in the UK between 1965 and 2003, four of which reached number one (two solo, one with Sonny, one as part of a charity single).
|
|
99
|
-
|
|
100
|
-
In a career surpassing 40 years, Cher has been described as an enduring pop icon and one of the most popular female artists in music history. Since her debut in 1964, Cher has sold as a solo artist over 180 million records worldwide and an estimated 70 million singles and with duo Sonny and Cher over 80 million records becoming one of the biggest-selling artists of all time.
|
|
101
|
-
|
|
102
|
-
She became a television star in the 1970s and a film actress in the 1980s. In 1987, she won the Academy Award for Best Actress for her role in the romantic comedy Moonstruck.
|
|
103
|
-
|
|
104
|
-
During 2007, in the seventh volume of Chrome Hearts, Cher once again confirmed that she is working on her twenty-sixth studio album. The genre of the album is due to be hardcore dance and the album will be available in late 2012.
|
|
105
|
-
|
|
106
|
-
On February 7, 2008 Cher, at 61, announced that she had reached a deal to perform 200 shows over three years live at the Colosseum at Caesar's Palace in Las Vegas. Her new show, entitled Cher at the Colosseum, debuted on May 6, 2008. The show reportedly includes 18 dancers, 4 aerialists, and multiple costumes designed by Bob Mackie. Choreography will be directed by Doriana Sanchez who also worked with Cher on her past three major tours. Her show will perform four nights a week for a month, and a second leg of the show will continue in August. Cher will share the stage on a rotating basis with contemporaries Bette Midler (whose The Showgirl Must Go On opened on February 20, 2008) and Elton John (whose The Red Piano which opened in 2004, will continues its run of about 50 shows a year).
|
|
107
|
-
|
|
108
|
-
Cher made her musical debut and first film role in a decade in <em>Burlesque</em>, starring alongside Christina Aguilera, who also made her musical and film debut. The film was released in November 2010.
|
|
109
|
-
|
|
110
|
-
User-contributed text is available under the Creative Commons By-SA License and may also be available under the GNU FDL.]]></content>
|
|
111
|
-
</bio>
|
|
112
|
-
</artist></lfm>
|