Fixed ampersand unescaping error

This commit is contained in:
Deluan 2016-03-01 18:19:57 -05:00
parent 95f73d75bc
commit 5b65f85578

View File

@ -16,13 +16,12 @@ func (s *ItunesScanner) LoadFolder(path string) []Track {
mediaFiles := make([]Track, len(l.Tracks))
i := 0
for id, t := range l.Tracks {
// TODO Decode XML entities (&)
if t.Location != "" && strings.Contains(t.Kind, "audio") {
mediaFiles[i].Id = id
mediaFiles[i].Album = t.Album
mediaFiles[i].Title = t.Name
mediaFiles[i].Artist = t.Artist
mediaFiles[i].AlbumArtist = t.AlbumArtist
mediaFiles[i].Album = unescape(t.Album)
mediaFiles[i].Title = unescape(t.Name)
mediaFiles[i].Artist = unescape(t.Artist)
mediaFiles[i].AlbumArtist = unescape(t.AlbumArtist)
mediaFiles[i].Compilation = t.Compilation
mediaFiles[i].Year = t.Year
path, _ = url.QueryUnescape(t.Location)
@ -35,4 +34,9 @@ func (s *ItunesScanner) LoadFolder(path string) []Track {
return mediaFiles[0:i]
}
func unescape(s string) string {
s,_ = url.QueryUnescape(s)
return strings.Replace(s, "&", "&", -1)
}
var _ Scanner = (*ItunesScanner)(nil)