fix: restore metadata tags and sanitize output filenames

This commit is contained in:
Esa Kataja
2026-04-04 19:39:17 +03:00
parent 3f3eef5d1f
commit 4783d0e0d4
2 changed files with 14 additions and 3 deletions
+8 -2
View File
@@ -8,6 +8,7 @@ import (
"os"
"os/signal"
"path/filepath"
"regexp"
"syscall"
"videnc-vibe/internal/config"
@@ -148,9 +149,9 @@ func processFile(inputPath string, cfg *types.Config, enc *encoder.Encoder, meta
if meta.IMDBID == "" || meta.Title == "Unknown" {
outFilename = fmt.Sprintf("%s.nometadata.mkv", generateRandomString(8))
} else if isSeries {
outFilename = fmt.Sprintf("%s.S%sE%s.mkv", meta.Collection, season, episode)
outFilename = fmt.Sprintf("%s.S%sE%s.mkv", sanitizeFilename(meta.Collection), season, episode)
} else {
outFilename = fmt.Sprintf("%s.%s.mkv", meta.Title, meta.IMDBID)
outFilename = fmt.Sprintf("%s.%s.mkv", sanitizeFilename(meta.Title), meta.IMDBID)
}
finalOutput := filepath.Join(cfg.Paths.Output, outFilename)
@@ -177,3 +178,8 @@ func generateRandomString(length int) string {
rand.Read(bytes)
return hex.EncodeToString(bytes)[:length]
}
func sanitizeFilename(name string) string {
reg := regexp.MustCompile(`[^a-zA-Z0-9\-äöÄÖ]`)
return reg.ReplaceAllString(name, "")
}