use a switch/case for get mime

This commit is contained in:
sentriz
2022-11-16 18:24:56 +00:00
committed by Senan Kelly
parent 385a980b71
commit 986fcd2270
4 changed files with 24 additions and 19 deletions

View File

@@ -135,8 +135,7 @@ func (t *Track) AudioFilename() string {
} }
func (t *Track) MIME() string { func (t *Track) MIME() string {
v, _ := mime.FromExtension(t.Ext()) return mime.FromExtension(t.Ext())
return v
} }
func (t *Track) AbsPath() string { func (t *Track) AbsPath() string {
@@ -428,8 +427,7 @@ func (pe *PodcastEpisode) Ext() string {
} }
func (pe *PodcastEpisode) MIME() string { func (pe *PodcastEpisode) MIME() string {
v, _ := mime.FromExtension(pe.Ext()) return mime.FromExtension(pe.Ext())
return v
} }
type Bookmark struct { type Bookmark struct {

View File

@@ -1,16 +1,24 @@
package mime package mime
func FromExtension(ext string) (string, bool) { func FromExtension(ext string) string {
types := map[string]string{ switch ext {
"mp3": "audio/mpeg", case "mp3":
"flac": "audio/x-flac", return "audio/mpeg"
"aac": "audio/x-aac", case "flac":
"m4a": "audio/m4a", return "audio/x-flac"
"m4b": "audio/m4b", case "aac":
"ogg": "audio/ogg", return "audio/x-aac"
"opus": "audio/ogg", case "m4a":
"wma": "audio/x-ms-wma", return "audio/m4a"
case "m4b":
return "audio/m4b"
case "ogg":
return "audio/ogg"
case "opus":
return "audio/ogg"
case "wma":
return "audio/x-ms-wma"
default:
return ""
} }
v, ok := types[ext]
return v, ok
} }

View File

@@ -235,8 +235,7 @@ func isAudio(mediaType, url string) bool {
if mediaType != "" && strings.HasPrefix(mediaType, "audio") { if mediaType != "" && strings.HasPrefix(mediaType, "audio") {
return true return true
} }
_, ok := gmime.FromExtension(filepath.Ext(url)[1:]) return gmime.FromExtension(filepath.Ext(url)[1:]) != ""
return ok
} }
func itemToEpisode(podcastID, size, duration int, audio string, func itemToEpisode(podcastID, size, duration int, audio string,

View File

@@ -277,7 +277,7 @@ func (s *Scanner) scanDir(tx *db.DB, c *Context, musicDir string, absPath string
cover = item.Name() cover = item.Name()
continue continue
} }
if _, ok := mime.FromExtension(ext(item.Name())); ok { if mime := mime.FromExtension(ext(item.Name())); mime != "" {
tracks = append(tracks, item.Name()) tracks = append(tracks, item.Name())
continue continue
} }