Files
MusicServer/internal/backend/characters.go
Sebastian aa0b8275e7
All checks were successful
Build / build (push) Successful in 40s
Fix so that ending slash doesn't matter for characters path
2025-11-08 12:04:44 +01:00

43 lines
933 B
Go

package backend
import (
"fmt"
"log"
"os"
"strings"
)
func GetCharacterList() []string {
charactersPath := os.Getenv("CHARACTERS_PATH")
fmt.Printf("dir: %s\n", charactersPath)
if !strings.HasSuffix(charactersPath, "/") {
charactersPath += "/"
}
files, err := os.ReadDir(charactersPath)
if err != nil {
log.Fatal(err)
}
var characters []string
for _, file := range files {
if isImage(file) {
characters = append(characters, file.Name())
}
}
return characters
}
func GetCharacter(character string) string {
charactersPath := os.Getenv("CHARACTERS_PATH")
fmt.Printf("dir: %s\n", charactersPath)
if !strings.HasSuffix(charactersPath, "/") {
charactersPath += "/"
}
return charactersPath + character
}
func isImage(entry os.DirEntry) bool {
return !entry.IsDir() && (strings.HasSuffix(entry.Name(), ".jpg") || strings.HasSuffix(entry.Name(), ".jpeg") ||
strings.HasSuffix(entry.Name(), ".png"))
}