parent
5e7e5051be
commit
dd9b054b33
1 changed files with 54 additions and 0 deletions
54
server.go
54
server.go
|
@ -4,7 +4,9 @@ import (
|
||||||
"fmt"
|
"fmt"
|
||||||
"log"
|
"log"
|
||||||
"time"
|
"time"
|
||||||
|
"errors"
|
||||||
"strings"
|
"strings"
|
||||||
|
"strconv"
|
||||||
"net/http"
|
"net/http"
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
"github.com/undertideco/bandcamp"
|
"github.com/undertideco/bandcamp"
|
||||||
|
@ -49,6 +51,50 @@ func searchArtistBandcamp(artist string) BandcampAlbum {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func getAllTracksPlaylist(id string, offset int) (SpotifyPlaylist, error) {
|
||||||
|
ret := SpotifyPlaylist{}
|
||||||
|
req, e := http.NewRequest("GET",
|
||||||
|
"https://api.spotify.com/v1/playlists/"+id+"/tracks?offset="+strconv.FormatInt(int64(offset), 10),
|
||||||
|
nil)
|
||||||
|
if e != nil {
|
||||||
|
fmt.Printf("%+v", e)
|
||||||
|
}
|
||||||
|
req.Header.Add("Accept", "application/json")
|
||||||
|
req.Header.Add("Content-Type", "application/json")
|
||||||
|
req.Header.Add("Authorization", SpotifyAPI)
|
||||||
|
res, err := MyClient.Do(req)
|
||||||
|
|
||||||
|
if err != nil {
|
||||||
|
return ret, err
|
||||||
|
}
|
||||||
|
|
||||||
|
if res.StatusCode > 300 {
|
||||||
|
fmt.Printf("code %d\n", res.StatusCode)
|
||||||
|
return ret, errors.New("Erreur token ou playlist inexistante.")
|
||||||
|
}
|
||||||
|
|
||||||
|
playlist := &SpotifyPlaylist{}
|
||||||
|
defer res.Body.Close()
|
||||||
|
err = json.NewDecoder(res.Body).Decode(&playlist)
|
||||||
|
if err != nil {
|
||||||
|
return ret, err
|
||||||
|
fmt.Printf("error:", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
ret = *playlist
|
||||||
|
fmt.Printf("\n%d cc %d\n", ret.Total, offset)
|
||||||
|
if ret.Total > offset {
|
||||||
|
r, e := getAllTracksPlaylist(id, offset + 100)
|
||||||
|
if e != nil {
|
||||||
|
return ret, e
|
||||||
|
}
|
||||||
|
|
||||||
|
ret.Items = append(ret.Items, r.Items...)
|
||||||
|
}
|
||||||
|
|
||||||
|
return ret, nil
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
id de la playlist
|
id de la playlist
|
||||||
*/
|
*/
|
||||||
|
@ -58,6 +104,7 @@ func getListPlaylist(id string) {
|
||||||
"https://api.spotify.com/v1/playlists/"+id+"/tracks",
|
"https://api.spotify.com/v1/playlists/"+id+"/tracks",
|
||||||
nil)
|
nil)
|
||||||
*/
|
*/
|
||||||
|
/*
|
||||||
req, _ := http.NewRequest("GET",
|
req, _ := http.NewRequest("GET",
|
||||||
"http://localhost:8001",
|
"http://localhost:8001",
|
||||||
nil)
|
nil)
|
||||||
|
@ -83,7 +130,14 @@ func getListPlaylist(id string) {
|
||||||
fmt.Printf("error:", err)
|
fmt.Printf("error:", err)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
|
playlist, err := getAllTracksPlaylist(id, 0)
|
||||||
|
if err != nil {
|
||||||
|
fmt.Printf("Erreru!!\n")
|
||||||
|
fmt.Printf("%+v", err)
|
||||||
|
return
|
||||||
|
}
|
||||||
tmp := BandcampAlbum{}
|
tmp := BandcampAlbum{}
|
||||||
MyResp.Todo = len(playlist.Items)
|
MyResp.Todo = len(playlist.Items)
|
||||||
MyResp.Done = 0
|
MyResp.Done = 0
|
||||||
|
|
Loading…
Reference in a new issue