feat(front): auto refresh the page with new links
This commit is contained in:
parent
e3ea068163
commit
4e7a541795
2 changed files with 65 additions and 8 deletions
43
server.go
43
server.go
|
@ -9,13 +9,23 @@ import (
|
||||||
"github.com/undertideco/bandcamp"
|
"github.com/undertideco/bandcamp"
|
||||||
)
|
)
|
||||||
|
|
||||||
var MyClient = &http.Client{}
|
|
||||||
|
|
||||||
type BandcampAlbum struct {
|
type BandcampAlbum struct {
|
||||||
find bool
|
find bool
|
||||||
url string
|
url string
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type RespBandcamp struct {
|
||||||
|
Url []string `json:"url"`
|
||||||
|
}
|
||||||
|
|
||||||
|
func (rp *RespBandcamp) Add(str string) []string {
|
||||||
|
rp.Url = append(rp.Url, str)
|
||||||
|
return rp.Url
|
||||||
|
}
|
||||||
|
|
||||||
|
var MyClient = &http.Client{}
|
||||||
|
var MyResp = &RespBandcamp{}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
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
|
||||||
|
@ -77,7 +87,12 @@ func getListPlaylist(id string) {
|
||||||
tmp = testBandcamp(ree.Items[i].Track.Album.Name,
|
tmp = testBandcamp(ree.Items[i].Track.Album.Name,
|
||||||
ree.Items[i].Track.Album.Artists[0].Name)
|
ree.Items[i].Track.Album.Artists[0].Name)
|
||||||
if tmp.find {
|
if tmp.find {
|
||||||
fmt.Printf("Find !! url: %s\n", tmp.url)
|
//fmt.Printf("Find !! url: %s\n", tmp.url)
|
||||||
|
//MyResp.url = append(MyResp.url, tmp.url)
|
||||||
|
//MyResp.url = append (MyResp.url, tmp.url)
|
||||||
|
MyResp.Add(tmp.url)
|
||||||
|
//fmt.Printf("tmp %s \n", MyResp.url[0])
|
||||||
|
//fmt.Printf("len=%d cap=%d %v\n", len(MyResp.url), cap(MyResp.url), MyResp.url)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -88,12 +103,16 @@ func formHandler(w http.ResponseWriter, r *http.Request) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
fmt.Fprintf(w, "POST request successful\n")
|
//fmt.Fprintf(w, "POST request successful\n")
|
||||||
type_id := r.FormValue("type-id")
|
//type_id := r.FormValue("type-id")
|
||||||
id := r.FormValue("id")
|
//id := r.FormValue("id")
|
||||||
|
|
||||||
fmt.Fprintf(w, "Type ID = %s\n", type_id)
|
//fmt.Fprintf(w, "Type ID = %s\n", type_id)
|
||||||
fmt.Fprintf(w, "ID = %s\n", id)
|
//fmt.Fprintf(w, "ID = %s\n", id)
|
||||||
|
|
||||||
|
w.Header().Set("Location", "/tmp.html")
|
||||||
|
w.WriteHeader(http.StatusSeeOther)
|
||||||
|
go getListPlaylist("6OGZZ8tI45MB1d3EUEqNKI")
|
||||||
}
|
}
|
||||||
|
|
||||||
func index(w http.ResponseWriter, r *http.Request) {
|
func index(w http.ResponseWriter, r *http.Request) {
|
||||||
|
@ -114,12 +133,20 @@ func test(w http.ResponseWriter, r *http.Request) {
|
||||||
getListPlaylist("6OGZZ8tI45MB1d3EUEqNKI")
|
getListPlaylist("6OGZZ8tI45MB1d3EUEqNKI")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func getNew(w http.ResponseWriter, r *http.Request) {
|
||||||
|
w.Header().Set("Content-Type", "application/json")
|
||||||
|
w.WriteHeader(http.StatusCreated)
|
||||||
|
json.NewEncoder(w).Encode(MyResp)
|
||||||
|
MyResp.Url = nil
|
||||||
|
}
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
fileServer := http.FileServer(http.Dir("./static"))
|
fileServer := http.FileServer(http.Dir("./static"))
|
||||||
http.Handle("/", fileServer)
|
http.Handle("/", fileServer)
|
||||||
http.HandleFunc("/hello", index)
|
http.HandleFunc("/hello", index)
|
||||||
http.HandleFunc("/back", formHandler)
|
http.HandleFunc("/back", formHandler)
|
||||||
http.HandleFunc("/test", test)
|
http.HandleFunc("/test", test)
|
||||||
|
http.HandleFunc("/refresh", getNew)
|
||||||
|
|
||||||
fmt.Printf("Starting the server…\n")
|
fmt.Printf("Starting the server…\n")
|
||||||
if err := http.ListenAndServe(":8080", nil); err != nil {
|
if err := http.ListenAndServe(":8080", nil); err != nil {
|
||||||
|
|
30
static/tmp.html
Normal file
30
static/tmp.html
Normal file
|
@ -0,0 +1,30 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<head>
|
||||||
|
<link rel="stylesheet" href="/css/style.css">
|
||||||
|
</head>
|
||||||
|
<html>
|
||||||
|
<body>
|
||||||
|
<h1>Spotify To Bandcamp</h1>
|
||||||
|
<p>Recherche dans une playlist les artistes se trouvant aussi sur Bandcamp !</p>
|
||||||
|
<hr />
|
||||||
|
|
||||||
|
<div id="my-list">
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
<script>
|
||||||
|
async function test() {
|
||||||
|
const data = await fetch('/refresh').then(response => response.json());
|
||||||
|
console.log(data.url);
|
||||||
|
if (data != null) {
|
||||||
|
for (const elem of data.url) {
|
||||||
|
let tmp = document.createTextNode(elem);
|
||||||
|
let newP = document.createElement("p");
|
||||||
|
newP.appendChild(tmp);
|
||||||
|
document.getElementById("my-list").appendChild(newP)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
setInterval(test, 3000);
|
||||||
|
</script>
|
||||||
|
<html>
|
Loading…
Reference in a new issue