improved printing results

This commit is contained in:
Hazel Noack
2025-10-08 13:06:39 +02:00
parent c5a74c5f97
commit 043f5e9b55

View File

@@ -5,41 +5,53 @@ import (
"fmt" "fmt"
"log" "log"
"os" "os"
"strconv"
"strings"
"gitea.elara.ws/Hazel/music-kraken/internal/data" "gitea.elara.ws/Hazel/music-kraken/internal/data"
"gitea.elara.ws/Hazel/music-kraken/internal/plugin" "gitea.elara.ws/Hazel/music-kraken/internal/plugin"
) )
func zeroPad(num int, length int) string {
str := strconv.Itoa(num)
if len(str) >= length {
return str
}
return strings.Repeat("0", length-len(str)) + str
}
func printResults(musicObjects []data.MusicObject) { func printResults(musicObjects []data.MusicObject) {
if len(musicObjects) <= 0 { if len(musicObjects) <= 0 {
return return
} }
for _, m := range musicObjects { results := make([]string, len(musicObjects))
if a, ok := m.(data.Artist); ok {
fmt.Print("#a " + a.Name)
for i, m := range musicObjects {
results[i] = zeroPad(i, 2) + ": "
if a, ok := m.(data.Artist); ok {
results[i] += "#a " + a.Name
} else if a, ok := m.(data.Album); ok { } else if a, ok := m.(data.Album); ok {
fmt.Print("#r " + a.Name) results[i] += "#r " + a.Name
for _, artist := range a.Artists { for _, artist := range a.Artists {
fmt.Print(" - " + artist.Name) results[i] += " - " + artist.Name
} }
} else if a, ok := m.(data.Song); ok { } else if a, ok := m.(data.Song); ok {
fmt.Print("#s " + a.Name) results[i] += "#s " + a.Name
if a.Album.Name != "" { if a.Album.Name != "" {
fmt.Print(" - " + a.Album.Name) results[i] += " - " + a.Album.Name
} }
for _, artist := range a.Artists { for _, artist := range a.Artists {
fmt.Print(" - " + artist.Name) results[i] += " - " + artist.Name
}
} }
} }
fmt.Println() fmt.Println(strings.Join(results, "\n"))
}
fmt.Println() fmt.Println()
} }