fixes #627 - Populate album release date with id3 info, when availalbe

This commit is contained in:
Luke Pulverenti 2013-11-15 10:10:56 -05:00
parent 340c80bcec
commit ad3e4dee0e
3 changed files with 29 additions and 24 deletions

View file

@ -69,6 +69,24 @@ namespace MediaBrowser.Providers.Music
.Distinct(StringComparer.OrdinalIgnoreCase)
.ToList();
var date = songs.Select(i => i.PremiereDate)
.FirstOrDefault(i => i.HasValue);
if (date.HasValue)
{
album.PremiereDate = date.Value;
album.ProductionYear = date.Value.Year;
}
else
{
var year = songs.Select(i => i.ProductionYear ?? 1800).FirstOrDefault(i => i != 1800);
if (year != 1800)
{
album.ProductionYear = year;
}
}
// Don't save to the db
return FalseTaskResult;
}

View file

@ -107,23 +107,6 @@ namespace MediaBrowser.Providers.Music
}
}
var date = songs.Select(i => i.PremiereDate).FirstOrDefault(i => i.HasValue);
if (date != null)
{
album.PremiereDate = date.Value;
album.ProductionYear = date.Value.Year;
}
else
{
var year = songs.Select(i => i.ProductionYear ?? 1800).FirstOrDefault(i => i != 1800);
if (year != 1800)
{
album.ProductionYear = year;
}
}
if (!item.LockedFields.Contains(MetadataFields.Studios))
{
album.Studios = songs.SelectMany(i => i.Studios)

View file

@ -103,15 +103,19 @@ namespace MediaBrowser.Providers.Music
item.Overview = overview;
}
DateTime release;
if (DateTime.TryParse(data.releasedate, out release))
// Only grab the date here if the album doesn't already have one, since id3 tags are preferred
if (!item.PremiereDate.HasValue)
{
// Lastfm sends back null as sometimes 1901, other times 0
if (release.Year > 1901)
DateTime release;
if (DateTime.TryParse(data.releasedate, out release))
{
item.PremiereDate = release;
item.ProductionYear = release.Year;
// Lastfm sends back null as sometimes 1901, other times 0
if (release.Year > 1901)
{
item.PremiereDate = release;
item.ProductionYear = release.Year;
}
}
}