musicutil/utils/scan_for_music.go
ChaotiCryptidz c1b1138779
b
2022-08-14 11:13:23 +01:00

45 lines
740 B
Go

package utils
import (
"os"
"path/filepath"
"strings"
"gitlab.com/ChaotiCryptidz/musicutil/types"
)
func isValidFileExtension(filePath string) bool {
ext := strings.TrimPrefix(filepath.Ext(filePath), ".")
if ext == "mp3" {
return true
} else if ext == "flac" {
return true
}
return false
}
func ScanForMusic(srcDir string) ([]*types.File, error) {
files := make([]*types.File, 0)
err := filepath.Walk(srcDir,
func(path string, info os.FileInfo, err error) error {
if err != nil {
return err
}
if !info.IsDir() && isValidFileExtension(path) {
files = append(files, types.FileFromPath(
srcDir,
path,
))
}
return nil
})
if err != nil {
return nil, err
}
return files, nil
}