Skip to content

Commit 2878b88

Browse files
committed
feat(lastfm): autocorrect artist and album name misspellings when fetching info
closes #472
1 parent 51fa0ba commit 2878b88

File tree

2 files changed

+7
-4
lines changed

2 files changed

+7
-4
lines changed

lastfm/client.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@ func (c *Client) ArtistGetInfo(artistName string) (Artist, error) {
5252
params.Add("method", "artist.getInfo")
5353
params.Add("api_key", apiKey)
5454
params.Add("artist", artistName)
55+
params.Add("autocorrect", "1")
5556

5657
resp, err := c.makeRequest(http.MethodGet, params)
5758
if err != nil {
@@ -72,6 +73,7 @@ func (c *Client) AlbumGetInfo(artistName, albumName string) (Album, error) {
7273
params.Add("api_key", apiKey)
7374
params.Add("artist", artistName)
7475
params.Add("album", albumName)
76+
params.Add("autocorrect", "1")
7577

7678
resp, err := c.makeRequest(http.MethodGet, params)
7779
if err != nil {

lastfm/client_test.go

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ func TestArtistGetInfo(t *testing.T) {
2323
client := lastfm.NewClientCustom(
2424
mockclient.New(t, func(w http.ResponseWriter, r *http.Request) {
2525
require.Equal(t, http.MethodGet, r.Method)
26-
require.Equal(t, url.Values{"method": []string{"artist.getInfo"}, "api_key": []string{"apiKey1"}, "artist": []string{"Artist 1"}}, r.URL.Query())
26+
require.Equal(t, url.Values{"method": []string{"artist.getInfo"}, "api_key": []string{"apiKey1"}, "artist": []string{"Artist 1"}, "autocorrect": []string{"1"}}, r.URL.Query())
2727

2828
require.Equal(t, "/2.0/", r.URL.Path)
2929
require.Equal(t, lastfm.BaseURL, "https://"+r.Host+r.URL.Path)
@@ -103,9 +103,10 @@ func TestArtistGetInfoClientRequestFails(t *testing.T) {
103103
mockclient.New(t, func(w http.ResponseWriter, r *http.Request) {
104104
require.Equal(t, http.MethodGet, r.Method)
105105
require.Equal(t, url.Values{
106-
"method": []string{"artist.getInfo"},
107-
"api_key": []string{"apiKey1"},
108-
"artist": []string{"Artist 1"},
106+
"method": []string{"artist.getInfo"},
107+
"api_key": []string{"apiKey1"},
108+
"artist": []string{"Artist 1"},
109+
"autocorrect": []string{"1"},
109110
}, r.URL.Query())
110111

111112
require.Equal(t, "/2.0/", r.URL.Path)

0 commit comments

Comments
 (0)