diff --git a/lib/sc/track.go b/lib/sc/track.go index 4010b21..290becc 100644 --- a/lib/sc/track.go +++ b/lib/sc/track.go @@ -145,6 +145,10 @@ func GetArbitraryTrack(data string) (Track, error) { } } + if n != 1 { + return Track{}, ErrKindNotCorrect + } + return GetTrack(u.Path) } } else { diff --git a/main.go b/main.go index 9922815..d0c1832 100644 --- a/main.go +++ b/main.go @@ -2,7 +2,6 @@ package main import ( "context" - "fmt" "log" "net/url" "strings" @@ -43,7 +42,7 @@ func main() { case "tracks": p, err := sc.SearchTracks(c.Query("pagination", "?q="+url.QueryEscape(q))) if err != nil { - fmt.Printf("error getting tracks for %s: %s\n", q, err) + log.Printf("error getting tracks for %s: %s\n", q, err) return err } @@ -53,7 +52,7 @@ func main() { case "users": p, err := sc.SearchUsers(c.Query("pagination", "?q="+url.QueryEscape(q))) if err != nil { - fmt.Printf("error getting users for %s: %s\n", q, err) + log.Printf("error getting users for %s: %s\n", q, err) return err } @@ -63,7 +62,7 @@ func main() { case "playlists": p, err := sc.SearchPlaylists(c.Query("pagination", "?q="+url.QueryEscape(q))) if err != nil { - fmt.Printf("error getting users for %s: %s\n", q, err) + log.Printf("error getting users for %s: %s\n", q, err) return err } @@ -119,13 +118,13 @@ func main() { track, err := sc.GetArbitraryTrack(u) if err != nil { - fmt.Printf("error getting %s: %s\n", u, err) + log.Printf("error getting %s: %s\n", u, err) return err } stream, err := track.GetStream() if err != nil { - fmt.Printf("error getting %s stream from %s: %s\n", track.Permalink, track.Author.Permalink, err) + log.Printf("error getting %s stream from %s: %s\n", track.Permalink, track.Author.Permalink, err) } c.Set("Content-Type", "text/html") @@ -135,13 +134,13 @@ func main() { app.Get("/:user/sets", func(c *fiber.Ctx) error { user, err := sc.GetUser(c.Params("user")) if err != nil { - fmt.Printf("error getting %s (playlists): %s\n", c.Params("user"), err) + log.Printf("error getting %s (playlists): %s\n", c.Params("user"), err) return err } pl, err := user.GetPlaylists(c.Query("pagination", "?limit=20")) if err != nil { - fmt.Printf("error getting %s playlists: %s\n", c.Params("user"), err) + log.Printf("error getting %s playlists: %s\n", c.Params("user"), err) return err } @@ -152,13 +151,13 @@ func main() { app.Get("/:user/albums", func(c *fiber.Ctx) error { user, err := sc.GetUser(c.Params("user")) if err != nil { - fmt.Printf("error getting %s (albums): %s\n", c.Params("user"), err) + log.Printf("error getting %s (albums): %s\n", c.Params("user"), err) return err } pl, err := user.GetAlbums(c.Query("pagination", "?limit=20")) if err != nil { - fmt.Printf("error getting %s albums: %s\n", c.Params("user"), err) + log.Printf("error getting %s albums: %s\n", c.Params("user"), err) return err } @@ -169,13 +168,13 @@ func main() { app.Get("/:user/:track", func(c *fiber.Ctx) error { track, err := sc.GetTrack(c.Params("user") + "/" + c.Params("track")) if err != nil { - fmt.Printf("error getting %s from %s: %s\n", c.Params("track"), c.Params("user"), err) + log.Printf("error getting %s from %s: %s\n", c.Params("track"), c.Params("user"), err) return err } stream, err := track.GetStream() if err != nil { - fmt.Printf("error getting %s stream from %s: %s\n", c.Params("track"), c.Params("user"), err) + log.Printf("error getting %s stream from %s: %s\n", c.Params("track"), c.Params("user"), err) } c.Set("Content-Type", "text/html") @@ -186,7 +185,7 @@ func main() { //h := time.Now() usr, err := sc.GetUser(c.Params("user")) if err != nil { - fmt.Printf("error getting %s: %s\n", c.Params("user"), err) + log.Printf("error getting %s: %s\n", c.Params("user"), err) return err } //fmt.Println("getuser", time.Since(h)) @@ -194,7 +193,7 @@ func main() { //h = time.Now() p, err := usr.GetTracks(c.Query("pagination", "?limit=20")) if err != nil { - fmt.Printf("error getting %s tracks: %s\n", c.Params("user"), err) + log.Printf("error getting %s tracks: %s\n", c.Params("user"), err) return err } //fmt.Println("gettracks", time.Since(h)) @@ -206,7 +205,7 @@ func main() { app.Get("/:user/sets/:playlist", func(c *fiber.Ctx) error { playlist, err := sc.GetPlaylist(c.Params("user") + "/sets/" + c.Params("playlist")) if err != nil { - fmt.Printf("error getting %s playlist from %s: %s\n", c.Params("playlist"), c.Params("user"), err) + log.Printf("error getting %s playlist from %s: %s\n", c.Params("playlist"), c.Params("user"), err) return err } @@ -214,7 +213,7 @@ func main() { if p != "" { tracks, next, err := sc.GetNextMissingTracks(p) if err != nil { - fmt.Printf("error getting %s playlist tracks from %s: %s\n", c.Params("playlist"), c.Params("user"), err) + log.Printf("error getting %s playlist tracks from %s: %s\n", c.Params("playlist"), c.Params("user"), err) return err } diff --git a/templates/playlist.templ b/templates/playlist.templ index 8b355aa..432759f 100644 --- a/templates/playlist.templ +++ b/templates/playlist.templ @@ -91,8 +91,8 @@ templ SearchPlaylists(p *sc.Paginated[*sc.Playlist]) { } - } - if p.Total != 0 && len(p.Collection) != 0 && p.Next != "" { - more playlists + if p.Next != "" && len(p.Collection) != int(p.Total) { + more playlists + } } } diff --git a/templates/track.templ b/templates/track.templ index 9b87e3f..cc7f068 100644 --- a/templates/track.templ +++ b/templates/track.templ @@ -142,8 +142,8 @@ templ SearchTracks(p *sc.Paginated[*sc.Track]) { } - } - if p.Total != 0 && len(p.Collection) != 0 && p.Next != "" { - more tracks + if p.Next != "" && len(p.Collection) != int(p.Total) { + more tracks + } } } diff --git a/templates/user.templ b/templates/user.templ index 605e33e..871d9bc 100644 --- a/templates/user.templ +++ b/templates/user.templ @@ -69,7 +69,7 @@ templ User(u sc.User, p *sc.Paginated[sc.Track]) { } - if p.Next != "" { + if p.Next != "" && len(p.Collection) != int(u.Tracks) { more tracks } } else { @@ -100,7 +100,7 @@ templ UserPlaylists(u sc.User, p *sc.Paginated[sc.Playlist]) { } - if p.Next != "" { + if p.Next != "" && len(p.Collection) != int(p.Total) { more playlists } } else { @@ -131,7 +131,7 @@ templ UserAlbums(u sc.User, p *sc.Paginated[sc.Playlist]) { } - if p.Next != "" { + if p.Next != "" && len(p.Collection) != int(p.Total) { more albums } } else { @@ -163,8 +163,8 @@ templ SearchUsers(p *sc.Paginated[*sc.User]) { } - } - if p.Total != 0 && len(p.Collection) != 0 && p.Next != "" { - more users + if p.Next != "" && len(p.Collection) != int(p.Total) { + more users + } } }