implemented fetch call

This commit is contained in:
Hazel Noack
2025-10-08 14:05:16 +02:00
parent 9c7dfd5775
commit 6ce1eb5f92
2 changed files with 63 additions and 5 deletions

View File

@@ -65,6 +65,7 @@ func Shell() {
fmt.Println("== MusicKraken Shell ==")
fmt.Println()
currentMusicObjects := []data.MusicObject{}
for {
fmt.Print("> ")
@@ -75,13 +76,35 @@ func Shell() {
return
}
searchResults, err := plugin.Search(line, plugin.SearchConfig{IgnoreErrors: false})
if err != nil {
fmt.Println(err)
fmt.Println()
line = strings.TrimSpace(line)
if index, err := strconv.Atoi(line); err == nil {
if index >= len(currentMusicObjects) {
fmt.Println("\n" + line + " is out of bounds")
continue
}
current := currentMusicObjects[index]
if len(current.GetSources()) <= 0 {
fmt.Println("\nselected has no sources to download")
continue
}
currentMusicObjects, err = plugin.FetchList(current.GetSources()[0])
if err != nil {
fmt.Println(err)
fmt.Println()
}
} else {
currentMusicObjects, err = plugin.Search(line, plugin.SearchConfig{IgnoreErrors: false})
if err != nil {
fmt.Println(err)
fmt.Println()
}
}
fmt.Println()
printResults(searchResults)
printResults(currentMusicObjects)
}
}