From 858de1edf50cc1128f6b621a5413b2975ca446eb Mon Sep 17 00:00:00 2001 From: Thibaut Horel Date: Sat, 17 Jun 2017 12:49:28 -0400 Subject: Clean fecthing of song metadata from Last.fm --- apiv1.go | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) (limited to 'apiv1.go') diff --git a/apiv1.go b/apiv1.go index 1f96819..4cf8941 100644 --- a/apiv1.go +++ b/apiv1.go @@ -180,7 +180,7 @@ func (app *App) scrobbleHandler(w http.ResponseWriter, r *http.Request) { scrobbles, _ := parseScrobbles(r.Form, session) for i, s := range scrobbles { - app.GetSong(&s) + app.GetScrobbleSong(&s) scrobbles[i] = s } @@ -211,6 +211,19 @@ func parseNowPlaying(values url.Values) (Scrobble, error) { return scrobble, nil } +func (app *App) GetScrobbleSong(s *Scrobble) { + song := Song{ + Artist: s.Artist.Name, + Album: s.Album.Name, + Name: s.TrackName.Name, + TrackNumber: s.TrackNumber, + Duration: s.Duration * 1000, + Mbid: s.Mbid, + } + app.GetSong(&song) + s.SongId = song.Id +} + func (app *App) nowPlayingHandler(w http.ResponseWriter, r *http.Request) { session, err := app.GetSession(r.FormValue("s")) if err != nil { @@ -221,7 +234,7 @@ func (app *App) nowPlayingHandler(w http.ResponseWriter, r *http.Request) { s, err := parseNowPlaying(r.Form) s.SessionKey = session.Key s.UserId = session.UserId - app.GetSong(&s) + app.GetScrobbleSong(&s) if err := app.PutNowPlaying(s); err != nil { log.Println(err) fmt.Fprintln(w, "Failed Database") -- cgit v1.2.3-70-g09d2