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.
Files changed (45) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +4 -4
  3. data/Gemfile.lock +49 -18
  4. data/VERSION.yml +1 -1
  5. data/firstfm.gemspec +27 -32
  6. data/lib/firstfm.rb +2 -3
  7. data/lib/firstfm/artist.rb +25 -44
  8. data/lib/firstfm/geo.rb +32 -33
  9. data/lib/firstfm/location.rb +8 -8
  10. data/lib/firstfm/track.rb +15 -15
  11. data/lib/firstfm/user.rb +9 -9
  12. data/lib/firstfm/venue.rb +16 -16
  13. data/test/fixtures/artist.json +229 -0
  14. data/test/fixtures/artists.json +890 -0
  15. data/test/fixtures/events.json +173 -0
  16. data/test/fixtures/geo_event.json +98 -0
  17. data/test/fixtures/geo_events.json +845 -0
  18. data/test/fixtures/geo_get_metro_artist_chart.json +77 -0
  19. data/test/fixtures/get_correction.json +14 -0
  20. data/test/fixtures/get_correction_blank.json +1 -0
  21. data/test/fixtures/top_tracks.json +1711 -0
  22. data/test/fixtures/tracks.json +679 -0
  23. data/test/fixtures/user_artists.json +78 -0
  24. data/test/fixtures/venues.json +98 -0
  25. data/test/test_artist.rb +23 -32
  26. data/test/test_geo.rb +75 -75
  27. data/test/test_track.rb +10 -11
  28. data/test/test_user.rb +6 -7
  29. data/test/test_venue.rb +23 -44
  30. metadata +40 -78
  31. data/test/fixtures/artist.xml +0 -112
  32. data/test/fixtures/artists.xml +0 -371
  33. data/test/fixtures/event.xml +0 -54
  34. data/test/fixtures/events.xml +0 -128
  35. data/test/fixtures/geo_event.xml +0 -54
  36. data/test/fixtures/geo_events.xml +0 -109
  37. data/test/fixtures/geo_get_metro_artist_chart.xml +0 -29
  38. data/test/fixtures/get_correction.xml +0 -11
  39. data/test/fixtures/get_correction_blank.xml +0 -5
  40. data/test/fixtures/get_images.xml +0 -913
  41. data/test/fixtures/top_tracks.xml +0 -844
  42. data/test/fixtures/tracks.xml +0 -362
  43. data/test/fixtures/user_artists.xml +0 -29
  44. data/test/fixtures/venue.xml +0 -32
  45. 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.xml"))
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 1880, tracks.total_pages
9
+ assert_equal 888, tracks.total_pages
10
10
  assert_equal 1, tracks.current_page
11
- assert_equal 56384, tracks.total_entries
11
+ assert_equal 26620, tracks.total_entries
12
12
  track = tracks.first
13
13
  #raise track.inspect
14
- assert_equal "Believe Me Natalie", track.name
15
- assert_equal 494607, track.listeners
16
- assert_equal "http://www.last.fm/music/The+Killers/_/Believe+Me+Natalie", track.url
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 "The Killers", track.artist.name
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.xml"))
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 5702, artists.total_entries
9
+ assert_equal 8778, artists.total_entries
10
10
  artist = artists.first
11
11
  assert_equal "Dream Theater", artist.name
12
- assert_equal 1797, artist.playcount
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.xml"))
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 "8781374", venue.id
14
- assert_equal "41.056222", venue.location.lat
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.xml"))
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 "U.S. Girls", event.title
34
- assert_equal "1313175", event.id
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 "Shogun Kunitoki", event.title
39
- assert_equal "1372916", event.id
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/venue.xml"))
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/event.xml"))
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 1, events.size
64
-
42
+ assert_equal 2, events.size
43
+
65
44
  event = events.first
66
- assert_equal "U.S. Girls", event.title
67
- assert_equal "1313175", event.id
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.7.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: 2013-07-14 00:00:00.000000000 Z
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.10.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.10.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.4
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.4
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.9.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.9.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.xml
171
- - test/fixtures/artists.xml
172
- - test/fixtures/event.xml
173
- - test/fixtures/events.xml
174
- - test/fixtures/geo_event.xml
175
- - test/fixtures/geo_events.xml
176
- - test/fixtures/geo_get_metro_artist_chart.xml
177
- - test/fixtures/get_correction.xml
178
- - test/fixtures/get_correction_blank.xml
179
- - test/fixtures/get_images.xml
180
- - test/fixtures/top_tracks.xml
181
- - test/fixtures/tracks.xml
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: 1.8.25
177
+ rubygems_version: 2.2.2
216
178
  signing_key:
217
- specification_version: 3
179
+ specification_version: 4
218
180
  summary: A ruby wrapper for the Last.fm APIs
219
181
  test_files: []
@@ -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 &amp; Cher</name>
22
- <url>http://www.last.fm/music/Sonny+&amp;+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 &amp; 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 &amp; 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>