43 lines
933 B
Go
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"))
|
|
}
|