lastfm 1.3.0 → 1.4.0
Sign up to get free protection for your applications and to get access to all the features.
- data/README.rdoc +24 -11
- data/VERSION +1 -1
- data/lib/lastfm.rb +25 -15
- data/lib/lastfm/method_category/artist.rb +9 -0
- data/lib/lastfm/method_category/event.rb +9 -0
- data/lib/lastfm/method_category/tag.rb +9 -0
- data/lib/lastfm/method_category/user.rb +34 -17
- data/spec/fixtures/album_get_info.xml +168 -157
- data/spec/fixtures/artist_get_events.xml +13 -13
- data/spec/fixtures/artist_get_info.xml +93 -93
- data/spec/fixtures/artist_get_similar.xml +12 -0
- data/spec/fixtures/artist_get_tags.xml +13 -0
- data/spec/fixtures/event_get_info.xml +39 -0
- data/spec/fixtures/geo_get_events.xml +4 -4
- data/spec/fixtures/library_get_artists.xml +1 -0
- data/spec/fixtures/library_get_tracks.xml +15 -14
- data/spec/fixtures/ng.xml +2 -1
- data/spec/fixtures/ok.xml +87 -102
- data/spec/fixtures/tag_get_top_artists.xml +60 -0
- data/spec/fixtures/track_get_correction.xml +2 -1
- data/spec/fixtures/track_get_info.xml +47 -53
- data/spec/fixtures/track_get_info_force_array.xml +28 -31
- data/spec/fixtures/track_get_similar.xml +75 -5078
- data/spec/fixtures/track_get_tags.xml +10 -10
- data/spec/fixtures/track_get_top_fans.xml +23 -26
- data/spec/fixtures/track_get_top_tags.xml +13 -13
- data/spec/fixtures/track_search.xml +31 -33
- data/spec/fixtures/user_get_friends.xml +2 -1
- data/spec/fixtures/user_get_info.xml +2 -1
- data/spec/fixtures/user_get_loved_tracks.xml +23 -22
- data/spec/fixtures/user_get_neighbours.xml +54 -502
- data/spec/fixtures/user_get_personal_tags.xml +29 -0
- data/spec/fixtures/user_get_personal_tags_albums.xml +21 -0
- data/spec/fixtures/user_get_personal_tags_artists.xml +62 -0
- data/spec/fixtures/user_get_personal_tags_tracks.xml +87 -0
- data/spec/fixtures/user_get_recent_tracks.xml +2 -1
- data/spec/fixtures/user_get_top_albums.xml +22 -22
- data/spec/fixtures/user_get_top_artists.xml +22 -22
- data/spec/fixtures/user_get_top_tags.xml +30 -0
- data/spec/fixtures/user_get_top_tracks.xml +24 -23
- data/spec/lastfm_spec.rb +33 -516
- data/spec/method_specs/album_spec.rb +30 -0
- data/spec/method_specs/artist_spec.rb +79 -0
- data/spec/method_specs/event_spec.rb +17 -0
- data/spec/method_specs/geo_spec.rb +33 -0
- data/spec/method_specs/library_spec.rb +37 -0
- data/spec/method_specs/tag_spec.rb +25 -0
- data/spec/method_specs/track_spec.rb +224 -0
- data/spec/method_specs/user_spec.rb +214 -0
- data/spec/response_spec.rb +4 -4
- data/spec/spec_helper.rb +15 -0
- data/spec/util_spec.rb +4 -4
- metadata +34 -15
data/README.rdoc
CHANGED
@@ -21,12 +21,31 @@ A Ruby interface for Last.fm Web Services v2.0
|
|
21
21
|
|
22
22
|
It supports methods which require {authentication}[http://www.last.fm/api/authentication].
|
23
23
|
|
24
|
+
=== Album
|
25
|
+
|
26
|
+
* {album.getInfo}[http://www.last.fm/api/show?service=290]
|
27
|
+
|
28
|
+
=== Artist
|
29
|
+
|
30
|
+
* {artist.getEvents}[http://www.lastfm.jp/api/show?service=117]
|
31
|
+
* {artist.getInfo}[http://www.last.fm/api/show?service=267]
|
32
|
+
* {artist.getSimilar}[http://www.last.fm/api/show?service=267]
|
33
|
+
* {artist.getTags}[http://www.last.fm/api/show?service=267]
|
34
|
+
|
24
35
|
=== Auth
|
25
36
|
|
26
37
|
* {auth.getMobileSession}[http://www.lastfm.jp/api/show?service=266]
|
27
38
|
* {auth.getToken}[http://www.lastfm.jp/api/show?service=265]
|
28
39
|
* {auth.getSession}[http://www.lastfm.jp/api/show?service=125]
|
29
40
|
|
41
|
+
=== Event
|
42
|
+
|
43
|
+
* {event.getInfo}[http://www.lastfm.jp/api/show/event.getInfo]
|
44
|
+
|
45
|
+
=== Tag
|
46
|
+
|
47
|
+
* {tag.getTopArtists}[http://www.lastfm.jp/api/show/tag.getTopArtists]
|
48
|
+
|
30
49
|
=== Track
|
31
50
|
|
32
51
|
* {track.addTags}[http://www.lastfm.jp/api/show?service=304]
|
@@ -44,25 +63,18 @@ It supports methods which require {authentication}[http://www.last.fm/api/authen
|
|
44
63
|
* {track.share}[http://www.lastfm.jp/api/show?service=305]
|
45
64
|
* {track.updateNowPlaying}[http://www.lastfm.jp/api/show?service=454]
|
46
65
|
|
47
|
-
=== Album
|
48
|
-
|
49
|
-
* {album.getInfo}[http://www.last.fm/api/show?service=290]
|
50
|
-
|
51
|
-
=== Artist
|
52
|
-
|
53
|
-
* {artist.getEvents}[http://www.lastfm.jp/api/show?service=117]
|
54
|
-
* {artist.getInfo}[http://www.last.fm/api/show?service=267]
|
55
|
-
|
56
66
|
=== User
|
57
67
|
|
58
68
|
* {user.getFriends}[http://www.lastfm.jp/api/show?service=263]
|
59
69
|
* {user.getInfo}[http://www.lastfm.jp/api/show?service=344]
|
60
70
|
* {user.getLovedTracks}[http://www.lastfm.jp/api/show/user.getLovedTracks]
|
61
71
|
* {user.getNeighbours}[http://www.lastfm.jp/api/show?service=264]
|
72
|
+
* {user.getPersonalTags}[http://www.lastfm.jp/api/show/user.getPersonalTags]
|
73
|
+
* {user.getRecentTracks}[http://www.lastfm.jp/api/show?service=278]
|
62
74
|
* {user.getTopArtists}[http://www.lastfm.jp/api/show/user.getTopArtists]
|
63
|
-
* {user.
|
75
|
+
* {user.getTopAlbums}[http://www.lastfm.jp/api/show/user.getTopAlbums]
|
76
|
+
* {user.getTopTags}[http://www.lastfm.jp/api/show/user.getTopTags]
|
64
77
|
* {user.getTopTracks}[http://www.lastfm.jp/api/show/user.getTopTracks]
|
65
|
-
* {user.getRecentTracks}[http://www.lastfm.jp/api/show?service=278]
|
66
78
|
|
67
79
|
=== Geo
|
68
80
|
|
@@ -101,6 +113,7 @@ It supports methods which require {authentication}[http://www.last.fm/api/authen
|
|
101
113
|
* {Kyle Fleming}[https://github.com/Garthex]
|
102
114
|
* {Lucas}[https://github.com/lfzawacki]
|
103
115
|
* {Johan Oskarsson}[https://github.com/johanoskarsson]
|
116
|
+
* {Paul Miller}[https://github.com/paulmillr]
|
104
117
|
|
105
118
|
== Note on Patches/Pull Requests
|
106
119
|
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
1.
|
1
|
+
1.4.0
|
data/lib/lastfm.rb
CHANGED
@@ -6,13 +6,15 @@ require 'active_support/core_ext/string/inflections'
|
|
6
6
|
require 'lastfm/util'
|
7
7
|
require 'lastfm/response'
|
8
8
|
require 'lastfm/method_category/base'
|
9
|
-
require 'lastfm/method_category/auth'
|
10
|
-
require 'lastfm/method_category/track'
|
11
|
-
require 'lastfm/method_category/artist'
|
12
9
|
require 'lastfm/method_category/album'
|
13
|
-
require 'lastfm/method_category/
|
10
|
+
require 'lastfm/method_category/artist'
|
11
|
+
require 'lastfm/method_category/auth'
|
12
|
+
require 'lastfm/method_category/event'
|
14
13
|
require 'lastfm/method_category/geo'
|
15
14
|
require 'lastfm/method_category/library'
|
15
|
+
require 'lastfm/method_category/tag'
|
16
|
+
require 'lastfm/method_category/track'
|
17
|
+
require 'lastfm/method_category/user'
|
16
18
|
|
17
19
|
class Lastfm
|
18
20
|
API_ROOT = 'http://ws.audioscrobbler.com/2.0'
|
@@ -37,24 +39,20 @@ class Lastfm
|
|
37
39
|
@api_secret = api_secret
|
38
40
|
end
|
39
41
|
|
40
|
-
def
|
41
|
-
MethodCategory::
|
42
|
-
end
|
43
|
-
|
44
|
-
def track
|
45
|
-
MethodCategory::Track.new(self)
|
42
|
+
def album
|
43
|
+
MethodCategory::Album.new(self)
|
46
44
|
end
|
47
45
|
|
48
46
|
def artist
|
49
47
|
MethodCategory::Artist.new(self)
|
50
48
|
end
|
51
|
-
|
52
|
-
def
|
53
|
-
MethodCategory::
|
49
|
+
|
50
|
+
def auth
|
51
|
+
MethodCategory::Auth.new(self)
|
54
52
|
end
|
55
53
|
|
56
|
-
def
|
57
|
-
MethodCategory::
|
54
|
+
def event
|
55
|
+
MethodCategory::Event.new(self)
|
58
56
|
end
|
59
57
|
|
60
58
|
def geo
|
@@ -65,6 +63,18 @@ class Lastfm
|
|
65
63
|
MethodCategory::Library.new(self)
|
66
64
|
end
|
67
65
|
|
66
|
+
def tag
|
67
|
+
MethodCategory::Tag.new(self)
|
68
|
+
end
|
69
|
+
|
70
|
+
def track
|
71
|
+
MethodCategory::Track.new(self)
|
72
|
+
end
|
73
|
+
|
74
|
+
def user
|
75
|
+
MethodCategory::User.new(self)
|
76
|
+
end
|
77
|
+
|
68
78
|
def request(method, params = {}, http_method = :get, with_signature = false, with_session = false)
|
69
79
|
params[:method] = method
|
70
80
|
params[:api_key] = @api_key
|
@@ -4,9 +4,18 @@ class Lastfm
|
|
4
4
|
regular_method :get_info, [:artist], [] do |response|
|
5
5
|
response.xml['artist']
|
6
6
|
end
|
7
|
+
|
7
8
|
regular_method :get_events, [:artist], [] do |response|
|
8
9
|
response.xml['events']['event']
|
9
10
|
end
|
11
|
+
|
12
|
+
regular_method :get_similar, [:artist], [] do |response|
|
13
|
+
response.xml['similarartists']['artist']
|
14
|
+
end
|
15
|
+
|
16
|
+
regular_method :get_tags, [:artist], [[:user, nil], [:mbid, nil], [:autocorrect, nil]] do |response|
|
17
|
+
response.xml['tags']['tag']
|
18
|
+
end
|
10
19
|
end
|
11
20
|
end
|
12
21
|
end
|
@@ -1,40 +1,57 @@
|
|
1
1
|
class Lastfm
|
2
2
|
module MethodCategory
|
3
3
|
class User < Base
|
4
|
-
regular_method :
|
5
|
-
response.xml['
|
6
|
-
end
|
7
|
-
|
8
|
-
regular_method :get_top_albums, [:user], [[:period, nil], [:limit, nil], [:page, nil]] do |response|
|
9
|
-
response.xml['topalbums']['album']
|
10
|
-
end
|
11
|
-
|
12
|
-
regular_method :get_top_artists, [:user], [[:period, nil], [:limit, nil], [:page, nil]] do |response|
|
13
|
-
response.xml['topartists']['artist']
|
4
|
+
regular_method :get_friends, [:user], [[:recenttracks, nil], [:limit, nil], [:page, nil]] do |response|
|
5
|
+
response.xml['friends']['user']
|
14
6
|
end
|
15
7
|
|
16
|
-
regular_method :
|
17
|
-
response.xml['
|
8
|
+
regular_method :get_info, [:user], [] do |response|
|
9
|
+
response.xml['user'][0]
|
18
10
|
end
|
19
11
|
|
20
12
|
regular_method :get_loved_tracks, [:user], [[:period, nil], [:limit, nil], [:page, nil]] do |response|
|
21
13
|
response.xml['lovedtracks']['track']
|
22
14
|
end
|
23
15
|
|
24
|
-
regular_method :get_friends, [:user], [[:recenttracks, nil], [:limit, nil], [:page, nil]] do |response|
|
25
|
-
response.xml['friends']['user']
|
26
|
-
end
|
27
|
-
|
28
16
|
regular_method :get_neighbours, [:user], [[:recenttracks, nil], [:limit, nil], [:page, nil]] do |response|
|
29
17
|
neighbours = response.xml['neighbours']['user']
|
30
|
-
#
|
18
|
+
# Ignore first "user" as this is an attribute, not an object.
|
31
19
|
neighbours.delete_at(0) if neighbours[0].is_a? String
|
32
20
|
neighbours
|
33
21
|
end
|
34
22
|
|
23
|
+
regular_method :get_personal_tags, [:user, :tag], [[:taggingtype, 'artist'], [:limit, nil], [:page, nil]] do |response|
|
24
|
+
taggings = response.xml['taggings']
|
25
|
+
result = if taggings['artists']
|
26
|
+
taggings['artists']['artist']
|
27
|
+
elsif taggings['albums']
|
28
|
+
taggings['albums']['album']
|
29
|
+
elsif taggings['tracks']
|
30
|
+
taggings['tracks']['track']
|
31
|
+
end
|
32
|
+
|
33
|
+
Lastfm::Util::force_array(result)
|
34
|
+
end
|
35
|
+
|
35
36
|
regular_method :get_recent_tracks, [:user], [[:limit, nil], [:page, nil], [:to, nil], [:from, nil]] do |response|
|
36
37
|
response.xml['recenttracks']['track']
|
37
38
|
end
|
39
|
+
|
40
|
+
regular_method :get_top_albums, [:user], [[:period, nil], [:limit, nil], [:page, nil]] do |response|
|
41
|
+
response.xml['topalbums']['album']
|
42
|
+
end
|
43
|
+
|
44
|
+
regular_method :get_top_artists, [:user], [[:period, nil], [:limit, nil], [:page, nil]] do |response|
|
45
|
+
response.xml['topartists']['artist']
|
46
|
+
end
|
47
|
+
|
48
|
+
regular_method :get_top_tags, [:user], [[:limit, nil]] do |response|
|
49
|
+
response.xml['toptags']['tag']
|
50
|
+
end
|
51
|
+
|
52
|
+
regular_method :get_top_tracks, [:user], [[:period, nil], [:limit, nil], [:page, nil]] do |response|
|
53
|
+
response.xml['toptracks']['track']
|
54
|
+
end
|
38
55
|
end
|
39
56
|
end
|
40
57
|
end
|
@@ -1,157 +1,167 @@
|
|
1
|
-
<?xml version="1.0" encoding="utf-8"?>
|
2
|
-
<lfm status="ok">
|
3
|
-
<album>
|
4
|
-
<name>Believe</name>
|
5
|
-
<artist>Cher</artist>
|
6
|
-
<id>2026126</id>
|
7
|
-
<mbid>61bf0388-b8a9-48f4-81d1-7eb02706dfb0</mbid>
|
8
|
-
<url>http://www.last.fm/music/Cher/Believe</url>
|
9
|
-
<releasedate> 6 Apr 1999, 00:00</releasedate>
|
10
|
-
<image size="small">http://userserve-ak.last.fm/serve/34s/42806845.png</image>
|
11
|
-
<image size="medium">http://userserve-ak.last.fm/serve/64s/42806845.png</image>
|
12
|
-
<image size="large">http://userserve-ak.last.fm/serve/174s/42806845.png</image>
|
13
|
-
<image size="extralarge">http://userserve-ak.last.fm/serve/300x300/42806845.png</image>
|
14
|
-
<image size="mega">http://userserve-ak.last.fm/serve/_/42806845/Believe++600++600+PNG.png</image>
|
15
|
-
|
16
|
-
<playcount>838056</playcount>
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
<
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
<
|
48
|
-
<
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
<
|
59
|
-
<
|
60
|
-
<
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
<
|
70
|
-
<
|
71
|
-
<
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
<
|
81
|
-
<mbid
|
82
|
-
<url>http://www.last.fm/music/Cher</url>
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
<name>
|
92
|
-
<
|
93
|
-
<
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
<
|
104
|
-
<
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
<
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
<
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
<tag>
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
<tag>
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
<
|
154
|
-
<
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
2
|
+
<lfm status="ok">
|
3
|
+
<album>
|
4
|
+
<name>Believe</name>
|
5
|
+
<artist>Cher</artist>
|
6
|
+
<id>2026126</id>
|
7
|
+
<mbid>61bf0388-b8a9-48f4-81d1-7eb02706dfb0</mbid>
|
8
|
+
<url>http://www.last.fm/music/Cher/Believe</url>
|
9
|
+
<releasedate> 6 Apr 1999, 00:00</releasedate>
|
10
|
+
<image size="small">http://userserve-ak.last.fm/serve/34s/42806845.png</image>
|
11
|
+
<image size="medium">http://userserve-ak.last.fm/serve/64s/42806845.png</image>
|
12
|
+
<image size="large">http://userserve-ak.last.fm/serve/174s/42806845.png</image>
|
13
|
+
<image size="extralarge">http://userserve-ak.last.fm/serve/300x300/42806845.png</image>
|
14
|
+
<image size="mega">http://userserve-ak.last.fm/serve/_/42806845/Believe++600++600+PNG.png</image>
|
15
|
+
<listeners>179749</listeners>
|
16
|
+
<playcount>838056</playcount>
|
17
|
+
<tracks>
|
18
|
+
<track rank="1">
|
19
|
+
<name>Believe</name>
|
20
|
+
<duration>239</duration>
|
21
|
+
<mbid/>
|
22
|
+
<url>http://www.last.fm/music/Cher/_/Believe</url>
|
23
|
+
<streamable fulltrack="0">1</streamable>
|
24
|
+
<artist>
|
25
|
+
<name>Cher</name>
|
26
|
+
<mbid>bfcc6d75-a6a5-4bc6-8282-47aec8531818</mbid>
|
27
|
+
<url>http://www.last.fm/music/Cher</url>
|
28
|
+
</artist>
|
29
|
+
</track>
|
30
|
+
<track rank="2">
|
31
|
+
<name>The Power</name>
|
32
|
+
<duration>235</duration>
|
33
|
+
<mbid/>
|
34
|
+
<url>http://www.last.fm/music/Cher/_/The+Power</url>
|
35
|
+
<streamable fulltrack="0">0</streamable>
|
36
|
+
<artist>
|
37
|
+
<name>Cher</name>
|
38
|
+
<mbid>bfcc6d75-a6a5-4bc6-8282-47aec8531818</mbid>
|
39
|
+
<url>http://www.last.fm/music/Cher</url>
|
40
|
+
</artist>
|
41
|
+
</track>
|
42
|
+
<track rank="3">
|
43
|
+
<name>Runaway</name>
|
44
|
+
<duration>285</duration>
|
45
|
+
<mbid/>
|
46
|
+
<url>http://www.last.fm/music/Cher/_/Runaway</url>
|
47
|
+
<streamable fulltrack="0">0</streamable>
|
48
|
+
<artist>
|
49
|
+
<name>Cher</name>
|
50
|
+
<mbid>bfcc6d75-a6a5-4bc6-8282-47aec8531818</mbid>
|
51
|
+
<url>http://www.last.fm/music/Cher</url>
|
52
|
+
</artist>
|
53
|
+
</track>
|
54
|
+
<track rank="4">
|
55
|
+
<name>All Or Nothing</name>
|
56
|
+
<duration>237</duration>
|
57
|
+
<mbid/>
|
58
|
+
<url>http://www.last.fm/music/Cher/_/All+Or+Nothing</url>
|
59
|
+
<streamable fulltrack="0">1</streamable>
|
60
|
+
<artist>
|
61
|
+
<name>Cher</name>
|
62
|
+
<mbid>bfcc6d75-a6a5-4bc6-8282-47aec8531818</mbid>
|
63
|
+
<url>http://www.last.fm/music/Cher</url>
|
64
|
+
</artist>
|
65
|
+
</track>
|
66
|
+
<track rank="5">
|
67
|
+
<name>Strong Enough</name>
|
68
|
+
<duration>223</duration>
|
69
|
+
<mbid/>
|
70
|
+
<url>http://www.last.fm/music/Cher/_/Strong+Enough</url>
|
71
|
+
<streamable fulltrack="0">1</streamable>
|
72
|
+
<artist>
|
73
|
+
<name>Cher</name>
|
74
|
+
<mbid>bfcc6d75-a6a5-4bc6-8282-47aec8531818</mbid>
|
75
|
+
<url>http://www.last.fm/music/Cher</url>
|
76
|
+
</artist>
|
77
|
+
</track>
|
78
|
+
<track rank="6">
|
79
|
+
<name>Dov'è l'amore</name>
|
80
|
+
<duration>257</duration>
|
81
|
+
<mbid/>
|
82
|
+
<url>http://www.last.fm/music/Cher/_/Dov%27%C3%A8+l%27amore</url>
|
83
|
+
<streamable fulltrack="0">0</streamable>
|
84
|
+
<artist>
|
85
|
+
<name>Cher</name>
|
86
|
+
<mbid>bfcc6d75-a6a5-4bc6-8282-47aec8531818</mbid>
|
87
|
+
<url>http://www.last.fm/music/Cher</url>
|
88
|
+
</artist>
|
89
|
+
</track>
|
90
|
+
<track rank="7">
|
91
|
+
<name>Takin' Back My Heart</name>
|
92
|
+
<duration>271</duration>
|
93
|
+
<mbid/>
|
94
|
+
<url>http://www.last.fm/music/Cher/_/Takin%27+Back+My+Heart</url>
|
95
|
+
<streamable fulltrack="0">0</streamable>
|
96
|
+
<artist>
|
97
|
+
<name>Cher</name>
|
98
|
+
<mbid>bfcc6d75-a6a5-4bc6-8282-47aec8531818</mbid>
|
99
|
+
<url>http://www.last.fm/music/Cher</url>
|
100
|
+
</artist>
|
101
|
+
</track>
|
102
|
+
<track rank="8">
|
103
|
+
<name>Taxi Taxi</name>
|
104
|
+
<duration>302</duration>
|
105
|
+
<mbid/>
|
106
|
+
<url>http://www.last.fm/music/Cher/_/Taxi+Taxi</url>
|
107
|
+
<streamable fulltrack="0">0</streamable>
|
108
|
+
<artist>
|
109
|
+
<name>Cher</name>
|
110
|
+
<mbid>bfcc6d75-a6a5-4bc6-8282-47aec8531818</mbid>
|
111
|
+
<url>http://www.last.fm/music/Cher</url>
|
112
|
+
</artist>
|
113
|
+
</track>
|
114
|
+
<track rank="9">
|
115
|
+
<name>Love Is the Groove</name>
|
116
|
+
<duration>270</duration>
|
117
|
+
<mbid/>
|
118
|
+
<url>http://www.last.fm/music/Cher/_/Love+Is+the+Groove</url>
|
119
|
+
<streamable fulltrack="0">0</streamable>
|
120
|
+
<artist>
|
121
|
+
<name>Cher</name>
|
122
|
+
<mbid>bfcc6d75-a6a5-4bc6-8282-47aec8531818</mbid>
|
123
|
+
<url>http://www.last.fm/music/Cher</url>
|
124
|
+
</artist>
|
125
|
+
</track>
|
126
|
+
<track rank="10">
|
127
|
+
<name>We All Sleep Alone</name>
|
128
|
+
<duration>233</duration>
|
129
|
+
<mbid/>
|
130
|
+
<url>http://www.last.fm/music/Cher/_/We+All+Sleep+Alone</url>
|
131
|
+
<streamable fulltrack="0">1</streamable>
|
132
|
+
<artist>
|
133
|
+
<name>Cher</name>
|
134
|
+
<mbid>bfcc6d75-a6a5-4bc6-8282-47aec8531818</mbid>
|
135
|
+
<url>http://www.last.fm/music/Cher</url>
|
136
|
+
</artist>
|
137
|
+
</track>
|
138
|
+
</tracks>
|
139
|
+
<toptags>
|
140
|
+
<tag>
|
141
|
+
<name>pop</name>
|
142
|
+
<url>http://www.last.fm/tag/pop</url>
|
143
|
+
</tag>
|
144
|
+
<tag>
|
145
|
+
<name>90s</name>
|
146
|
+
<url>http://www.last.fm/tag/90s</url>
|
147
|
+
</tag>
|
148
|
+
<tag>
|
149
|
+
<name>dance</name>
|
150
|
+
<url>http://www.last.fm/tag/dance</url>
|
151
|
+
</tag>
|
152
|
+
<tag>
|
153
|
+
<name>1998</name>
|
154
|
+
<url>http://www.last.fm/tag/1998</url>
|
155
|
+
</tag>
|
156
|
+
<tag>
|
157
|
+
<name>albums i own</name>
|
158
|
+
<url>http://www.last.fm/tag/albums%20i%20own</url>
|
159
|
+
</tag>
|
160
|
+
</toptags>
|
161
|
+
<wiki>
|
162
|
+
<published>Sat, 6 Mar 2010 16:48:03 +0000</published>
|
163
|
+
<summary><![CDATA[Believe is the twenty-third studio album by American singer-actress Cher, released on November 10, 1998 by Warner Bros. Records. The RIAA certified it Quadruple Platinum on December 23, 1999, recognizing four million shipments in the United States; Worldwide, the album has sold more than 20 million copies, making it the biggest-selling album of her career. In 1999 the album received three Grammy Awards nominations including "Record of the Year", "Best Pop Album" and winning "Best Dance Recording" for the single "Believe". ]]></summary>
|
164
|
+
<content><![CDATA[Believe is the twenty-third studio album by American singer-actress Cher, released on November 10, 1998 by Warner Bros. Records. The RIAA certified it Quadruple Platinum on December 23, 1999, recognizing four million shipments in the United States; Worldwide, the album has sold more than 20 million copies, making it the biggest-selling album of her career. In 1999 the album received three Grammy Awards nominations including "Record of the Year", "Best Pop Album" and winning "Best Dance Recording" for the single "Believe".
|
155
165
|
|
156
166
|
It was released by Warner Bros. Records at the end of 1998. The album was executive produced by Rob Dickens. Upon its debut, critical reception was generally positive. Believe became Cher's most commercially-successful release, reached number one and Top 10 all over the world. In the United States, the album was released on November 10, 1998, and reached number four on the Billboard 200 chart, where it was certified four times platinum.
|
157
167
|
|
@@ -169,6 +179,7 @@
|
|
169
179
|
"All or Nothing"
|
170
180
|
"Dov'è L'Amore"
|
171
181
|
|
172
|
-
User-contributed text is available under the Creative Commons By-SA License and may also be available under the GNU FDL.]]></content>
|
173
|
-
|
174
|
-
|
182
|
+
User-contributed text is available under the Creative Commons By-SA License and may also be available under the GNU FDL.]]></content>
|
183
|
+
</wiki>
|
184
|
+
</album>
|
185
|
+
</lfm>
|