try to avoid album year of zero

This commit is contained in:
Luke Pulverenti 2013-11-08 16:22:02 -05:00
parent 09f44715bb
commit 04f165283b
3 changed files with 25 additions and 10 deletions

View File

@ -68,7 +68,7 @@ namespace MediaBrowser.Controller.Drawing
/// <param name="imageEnhancers">The image enhancers.</param> /// <param name="imageEnhancers">The image enhancers.</param>
/// <returns>Guid.</returns> /// <returns>Guid.</returns>
Guid GetImageCacheTag(BaseItem item, ImageType imageType, string originalImagePath, DateTime dateModified, Guid GetImageCacheTag(BaseItem item, ImageType imageType, string originalImagePath, DateTime dateModified,
IEnumerable<IImageEnhancer> imageEnhancers); List<IImageEnhancer> imageEnhancers);
/// <summary> /// <summary>
/// Processes the image. /// Processes the image.

View File

@ -25,8 +25,13 @@ namespace MediaBrowser.Providers.Music
} }
} }
artist.PremiereDate = yearFormed > 0 ? new DateTime(yearFormed, 1, 1, 0, 0, 0, DateTimeKind.Utc) : (DateTime?)null; if (yearFormed > 0)
artist.ProductionYear = yearFormed; {
artist.PremiereDate = new DateTime(yearFormed, 1, 1, 0, 0, 0, DateTimeKind.Utc);
artist.ProductionYear = yearFormed;
}
if (data.tags != null && !artist.LockedFields.Contains(MetadataFields.Tags)) if (data.tags != null && !artist.LockedFields.Contains(MetadataFields.Tags))
{ {
AddTags(artist, data.tags); AddTags(artist, data.tags);
@ -102,10 +107,14 @@ namespace MediaBrowser.Providers.Music
DateTime release; DateTime release;
if (DateTime.TryParse(data.releasedate, out release) && release.Year != 1901) if (DateTime.TryParse(data.releasedate, out release))
{ {
item.PremiereDate = release; // Lastfm sends back null as sometimes 1901, other times 0
item.ProductionYear = release.Year; if (release.Year > 1901)
{
item.PremiereDate = release;
item.ProductionYear = release.Year;
}
} }
if (data.toptags != null && !item.LockedFields.Contains(MetadataFields.Tags)) if (data.toptags != null && !item.LockedFields.Contains(MetadataFields.Tags))

View File

@ -589,7 +589,7 @@ namespace MediaBrowser.Server.Implementations.Drawing
var supportedEnhancers = GetSupportedEnhancers(item, imageType); var supportedEnhancers = GetSupportedEnhancers(item, imageType);
return GetImageCacheTag(item, imageType, imagePath, dateModified, supportedEnhancers); return GetImageCacheTag(item, imageType, imagePath, dateModified, supportedEnhancers.ToList());
} }
/// <summary> /// <summary>
@ -602,7 +602,7 @@ namespace MediaBrowser.Server.Implementations.Drawing
/// <param name="imageEnhancers">The image enhancers.</param> /// <param name="imageEnhancers">The image enhancers.</param>
/// <returns>Guid.</returns> /// <returns>Guid.</returns>
/// <exception cref="System.ArgumentNullException">item</exception> /// <exception cref="System.ArgumentNullException">item</exception>
public Guid GetImageCacheTag(BaseItem item, ImageType imageType, string originalImagePath, DateTime dateModified, IEnumerable<IImageEnhancer> imageEnhancers) public Guid GetImageCacheTag(BaseItem item, ImageType imageType, string originalImagePath, DateTime dateModified, List<IImageEnhancer> imageEnhancers)
{ {
if (item == null) if (item == null)
{ {
@ -619,6 +619,12 @@ namespace MediaBrowser.Server.Implementations.Drawing
throw new ArgumentNullException("originalImagePath"); throw new ArgumentNullException("originalImagePath");
} }
// Optimization
if (imageEnhancers.Count == 0)
{
return (originalImagePath + dateModified.Ticks).GetMD5();
}
// Cache name is created with supported enhancers combined with the last config change so we pick up new config changes // Cache name is created with supported enhancers combined with the last config change so we pick up new config changes
var cacheKeys = imageEnhancers.Select(i => i.GetConfigurationCacheKey(item, imageType)).ToList(); var cacheKeys = imageEnhancers.Select(i => i.GetConfigurationCacheKey(item, imageType)).ToList();
cacheKeys.Add(originalImagePath + dateModified.Ticks); cacheKeys.Add(originalImagePath + dateModified.Ticks);
@ -879,7 +885,7 @@ namespace MediaBrowser.Server.Implementations.Drawing
{ {
try try
{ {
return i.Supports(item as BaseItem, imageType); return i.Supports(item, imageType);
} }
catch (Exception ex) catch (Exception ex)
{ {
@ -888,7 +894,7 @@ namespace MediaBrowser.Server.Implementations.Drawing
return false; return false;
} }
}).ToList(); });
} }
public void Dispose() public void Dispose()