diff options
Diffstat (limited to 'apiv1.go')
| -rw-r--r-- | apiv1.go | 17 |
1 files changed, 15 insertions, 2 deletions
@@ -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") |
