diff --git a/db/model.go b/db/model.go index e742a4a..b7d0db2 100644 --- a/db/model.go +++ b/db/model.go @@ -135,8 +135,7 @@ func (t *Track) AudioFilename() string { } func (t *Track) MIME() string { - v, _ := mime.FromExtension(t.Ext()) - return v + return mime.FromExtension(t.Ext()) } func (t *Track) AbsPath() string { @@ -428,8 +427,7 @@ func (pe *PodcastEpisode) Ext() string { } func (pe *PodcastEpisode) MIME() string { - v, _ := mime.FromExtension(pe.Ext()) - return v + return mime.FromExtension(pe.Ext()) } type Bookmark struct { diff --git a/mime/mime.go b/mime/mime.go index e735735..b7e7b40 100644 --- a/mime/mime.go +++ b/mime/mime.go @@ -1,16 +1,24 @@ package mime -func FromExtension(ext string) (string, bool) { - types := map[string]string{ - "mp3": "audio/mpeg", - "flac": "audio/x-flac", - "aac": "audio/x-aac", - "m4a": "audio/m4a", - "m4b": "audio/m4b", - "ogg": "audio/ogg", - "opus": "audio/ogg", - "wma": "audio/x-ms-wma", +func FromExtension(ext string) string { + switch ext { + case "mp3": + return "audio/mpeg" + case "flac": + return "audio/x-flac" + case "aac": + return "audio/x-aac" + case "m4a": + 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 } diff --git a/podcasts/podcasts.go b/podcasts/podcasts.go index 7c69f0a..0905241 100644 --- a/podcasts/podcasts.go +++ b/podcasts/podcasts.go @@ -235,8 +235,7 @@ func isAudio(mediaType, url string) bool { if mediaType != "" && strings.HasPrefix(mediaType, "audio") { return true } - _, ok := gmime.FromExtension(filepath.Ext(url)[1:]) - return ok + return gmime.FromExtension(filepath.Ext(url)[1:]) != "" } func itemToEpisode(podcastID, size, duration int, audio string, diff --git a/scanner/scanner.go b/scanner/scanner.go index eccb76b..95a8ce0 100644 --- a/scanner/scanner.go +++ b/scanner/scanner.go @@ -277,7 +277,7 @@ func (s *Scanner) scanDir(tx *db.DB, c *Context, musicDir string, absPath string cover = item.Name() continue } - if _, ok := mime.FromExtension(ext(item.Name())); ok { + if mime := mime.FromExtension(ext(item.Name())); mime != "" { tracks = append(tracks, item.Name()) continue }