backend/main.go (view raw)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 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 |
package main
import (
"fmt"
"log"
"net/http"
)
type PlayingInfo struct {
artistName string
recordingName string
releaseName string
recordingUrl string
coverUrl string
}
func getInfo() PlayingInfo {
playingInfo := PlayingInfo{}
playingNow, err := getPlayingNow("confuseddbread")
if err != nil {
panic(err)
}
trackMetadata := playingNow.Payload.Listens[0].TrackMetadata
playingInfo.artistName = trackMetadata.ArtistName
playingInfo.recordingName = trackMetadata.TrackName
playingInfo.releaseName = trackMetadata.ReleaseName
metadata, err := getMetadata(trackMetadata.ArtistName, trackMetadata.TrackName, trackMetadata.ReleaseName)
if err != nil {
log.Fatalf("error: %s\n", err)
}
playingInfo.recordingUrl = fmt.Sprintf("https://musicbrainz.org/recording/%s", metadata.RecordingMbid)
coverArt, err := getCover(metadata.ReleaseMbid)
playingInfo.coverUrl = coverArt.Images[0].Image
return playingInfo
}
func main() {
http.HandleFunc("/", handler)
log.Println("http://localhost:8080")
log.Fatal(http.ListenAndServe(":8080", nil))
}
|