refactor(find track): use tuple instead of struct
This commit is contained in:
parent
070770f281
commit
67b05a30b4
2 changed files with 16 additions and 20 deletions
31
server.go
31
server.go
|
@ -30,35 +30,35 @@ func loginSpotify(w http.ResponseWriter, r *http.Request) {
|
||||||
check artist and album
|
check artist and album
|
||||||
items[x].track.album.name et items[x].track.album.artists[0].name
|
items[x].track.album.name et items[x].track.album.artists[0].name
|
||||||
*/
|
*/
|
||||||
func searchAlbumBandcamp(album string, artist string) BandcampAlbum{
|
func searchAlbumBandcamp(album string, artist string) (bool, string) {
|
||||||
bandcampClient := bandcamp.NewClient()
|
bandcampClient := bandcamp.NewClient()
|
||||||
|
|
||||||
results, err := bandcampClient.Search(album)
|
results, err := bandcampClient.Search(album)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Println(err)
|
log.Println(err)
|
||||||
return BandcampAlbum{false, ""}
|
return false, ""
|
||||||
}
|
}
|
||||||
|
|
||||||
if (strings.Contains(results[0].Title, album) || strings.Contains(album, results[0].Title)) && strings.Compare(results[0].Artist, artist) == 0 {
|
if (strings.Contains(results[0].Title, album) || strings.Contains(album, results[0].Title)) && strings.Compare(results[0].Artist, artist) == 0 {
|
||||||
return BandcampAlbum{true, results[0].URL}
|
return true, results[0].URL
|
||||||
} else {
|
} else {
|
||||||
return BandcampAlbum{false, ""}
|
return false, ""
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func searchArtistBandcamp(artist string) BandcampAlbum {
|
func searchArtistBandcamp(artist string) (bool, string) {
|
||||||
bandcampClient := bandcamp.NewClient()
|
bandcampClient := bandcamp.NewClient()
|
||||||
|
|
||||||
results, err := bandcampClient.Search(artist)
|
results, err := bandcampClient.Search(artist)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Println(err)
|
log.Println(err)
|
||||||
return BandcampAlbum{false, ""}
|
return false, ""
|
||||||
}
|
}
|
||||||
|
|
||||||
if strings.Compare(results[0].Artist, artist) == 0 {
|
if strings.Compare(results[0].Artist, artist) == 0 {
|
||||||
return BandcampAlbum{true, strings.Split(results[0].URL, "/album/")[0]}
|
return true, strings.Split(results[0].URL, "/album/")[0]
|
||||||
} else {
|
} else {
|
||||||
return BandcampAlbum{false, ""}
|
return false, ""
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -116,27 +116,28 @@ func getListPlaylist(id string) {
|
||||||
fmt.Printf("%+v", err)
|
fmt.Printf("%+v", err)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
tmp := BandcampAlbum{}
|
var find bool
|
||||||
|
var tmp string
|
||||||
MyResp.Todo = len(playlist.Items)
|
MyResp.Todo = len(playlist.Items)
|
||||||
MyResp.Done = 0
|
MyResp.Done = 0
|
||||||
|
|
||||||
for i := 0; i < len(playlist.Items); i++ {
|
for i := 0; i < len(playlist.Items); i++ {
|
||||||
tmp = searchAlbumBandcamp(playlist.Items[i].Track.Album.Name,
|
find, tmp = searchAlbumBandcamp(playlist.Items[i].Track.Album.Name,
|
||||||
playlist.Items[i].Track.Album.Artists[0].Name)
|
playlist.Items[i].Track.Album.Artists[0].Name)
|
||||||
if tmp.find {
|
if find {
|
||||||
MyResp.AddAlbum(newUrlBandcamp(
|
MyResp.AddAlbum(newUrlBandcamp(
|
||||||
playlist.Items[i].Track.Album.Artists[0].Name,
|
playlist.Items[i].Track.Album.Artists[0].Name,
|
||||||
playlist.Items[i].Track.Album.Name,
|
playlist.Items[i].Track.Album.Name,
|
||||||
playlist.Items[i].Track.Album.ExternalUrls.Spotify,
|
playlist.Items[i].Track.Album.ExternalUrls.Spotify,
|
||||||
tmp.url))
|
tmp))
|
||||||
} else {
|
} else {
|
||||||
tmp = searchArtistBandcamp(playlist.Items[i].Track.Album.Artists[0].Name)
|
find, tmp = searchArtistBandcamp(playlist.Items[i].Track.Album.Artists[0].Name)
|
||||||
if tmp.find {
|
if find {
|
||||||
MyResp.AddArtist(newUrlBandcamp(
|
MyResp.AddArtist(newUrlBandcamp(
|
||||||
playlist.Items[i].Track.Album.Artists[0].Name,
|
playlist.Items[i].Track.Album.Artists[0].Name,
|
||||||
playlist.Items[i].Track.Album.Name,
|
playlist.Items[i].Track.Album.Name,
|
||||||
playlist.Items[i].Track.Album.ExternalUrls.Spotify,
|
playlist.Items[i].Track.Album.ExternalUrls.Spotify,
|
||||||
tmp.url))
|
tmp))
|
||||||
} else {
|
} else {
|
||||||
MyResp.AddNotfound(newUrlWoBandcamp(
|
MyResp.AddNotfound(newUrlWoBandcamp(
|
||||||
playlist.Items[i].Track.Album.Artists[0].Name,
|
playlist.Items[i].Track.Album.Artists[0].Name,
|
||||||
|
|
|
@ -8,11 +8,6 @@ type TokenUser struct {
|
||||||
ExpiresIn string `json:"expires_in"`
|
ExpiresIn string `json:"expires_in"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type BandcampAlbum struct {
|
|
||||||
find bool
|
|
||||||
url string
|
|
||||||
}
|
|
||||||
|
|
||||||
type UrlBandcamp struct {
|
type UrlBandcamp struct {
|
||||||
Artiste string `json:"artist"`
|
Artiste string `json:"artist"`
|
||||||
Album string `json:"album"`
|
Album string `json:"album"`
|
||||||
|
|
Loading…
Reference in a new issue