skip unsupported files
This commit is contained in:
@@ -42,7 +42,12 @@ func Sort(dst, path string) {
|
|||||||
os.Exit(1)
|
os.Exit(1)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Handle single file
|
||||||
if !info.IsDir() {
|
if !info.IsDir() {
|
||||||
|
if !fileSupported(path) {
|
||||||
|
slog.Error("Unsupported file format", "file", path)
|
||||||
|
os.Exit(1)
|
||||||
|
}
|
||||||
if err := sortSong(path, dst); err != nil {
|
if err := sortSong(path, dst); err != nil {
|
||||||
slog.Error("Failed to sort single file", "file", path, "err", err)
|
slog.Error("Failed to sort single file", "file", path, "err", err)
|
||||||
os.Exit(1)
|
os.Exit(1)
|
||||||
@@ -50,6 +55,7 @@ func Sort(dst, path string) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Handle directory
|
||||||
err = filepath.WalkDir(path, func(p string, d fs.DirEntry, err error) error {
|
err = filepath.WalkDir(path, func(p string, d fs.DirEntry, err error) error {
|
||||||
if err != nil {
|
if err != nil {
|
||||||
slog.Error("Failed to walk path", "path", path, "file", p, "err", err)
|
slog.Error("Failed to walk path", "path", path, "file", p, "err", err)
|
||||||
@@ -57,6 +63,9 @@ func Sort(dst, path string) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if !d.IsDir() {
|
if !d.IsDir() {
|
||||||
|
if !fileSupported(p) {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
if err := sortSong(p, dst); err != nil {
|
if err := sortSong(p, dst); err != nil {
|
||||||
slog.Error("Failed to sort file", "file", p, "err", err)
|
slog.Error("Failed to sort file", "file", p, "err", err)
|
||||||
return err
|
return err
|
||||||
|
|||||||
@@ -9,6 +9,15 @@ import (
|
|||||||
"strings"
|
"strings"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
func fileSupported(file string) bool {
|
||||||
|
supported := map[string]bool{
|
||||||
|
".mp3": true, ".flac": true,
|
||||||
|
".m4a": true, ".ogg": true, ".dsf": true,
|
||||||
|
}
|
||||||
|
|
||||||
|
return supported[strings.ToLower(filepath.Ext(file))]
|
||||||
|
}
|
||||||
|
|
||||||
func sortSong(src, dst string) error {
|
func sortSong(src, dst string) error {
|
||||||
m, err := ReadAudioTags(src)
|
m, err := ReadAudioTags(src)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|||||||
Reference in New Issue
Block a user