mirror of
https://github.com/navidrome/navidrome.git
synced 2025-04-04 21:17:37 +03:00
28 lines
629 B
Go
28 lines
629 B
Go
package utils
|
|
|
|
import (
|
|
"mime"
|
|
"path/filepath"
|
|
"strings"
|
|
)
|
|
|
|
var excludeAudioType = []string{
|
|
"audio/x-mpegurl",
|
|
"audio/x-scpls",
|
|
}
|
|
|
|
func IsAudioFile(filePath string) bool {
|
|
extension := filepath.Ext(filePath)
|
|
mimeType := mime.TypeByExtension(extension)
|
|
return !StringInSlice(mimeType, excludeAudioType) && strings.HasPrefix(mimeType, "audio/")
|
|
}
|
|
|
|
func IsImageFile(filePath string) bool {
|
|
extension := filepath.Ext(filePath)
|
|
return strings.HasPrefix(mime.TypeByExtension(extension), "image/")
|
|
}
|
|
|
|
func IsPlaylist(filePath string) bool {
|
|
extension := filepath.Ext(filePath)
|
|
return strings.ToLower(extension) == ".m3u"
|
|
}
|