grab image sizes at discovery time

This commit is contained in:
Luke Pulverenti
2014-10-12 11:18:26 -04:00
parent 47915df62c
commit 69b83082c8
11 changed files with 112 additions and 105 deletions

View File

@@ -1,5 +1,4 @@
using MediaBrowser.Controller.Drawing;
using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.Library;
using MediaBrowser.Controller.Providers;
using MediaBrowser.Model.Entities;
@@ -18,12 +17,10 @@ namespace MediaBrowser.Providers.Photos
public class PhotoProvider : ICustomMetadataProvider<Photo>, IHasItemChangeMonitor
{
private readonly ILogger _logger;
private readonly IImageProcessor _imageProcessor;
public PhotoProvider(ILogger logger, IImageProcessor imageProcessor)
public PhotoProvider(ILogger logger)
{
_logger = logger;
_imageProcessor = imageProcessor;
}
public Task<ItemUpdateType> FetchAsync(Photo item, MetadataRefreshOptions options, CancellationToken cancellationToken)
@@ -142,9 +139,10 @@ namespace MediaBrowser.Providers.Photos
_logger.ErrorException("Image Provider - Error reading image tag for {0}", e, item.Path);
}
var size = _imageProcessor.GetImageSize(item.Path);
item.Height = Convert.ToInt32(size.Height);
item.Width = Convert.ToInt32(size.Width);
var imageInfo = item.GetImageInfo(ImageType.Primary, 0);
item.Height = imageInfo.Height;
item.Width = imageInfo.Width;
const ItemUpdateType result = ItemUpdateType.ImageUpdate | ItemUpdateType.MetadataImport;
return Task.FromResult(result);

View File

@@ -93,10 +93,10 @@ namespace MediaBrowser.Providers.TV
var hasBadData = HasInvalidContent(group);
var anySeasonsRemoved = await RemoveObsoleteOrMissingSeasons(group, episodeLookup, hasBadData)
var anySeasonsRemoved = await RemoveObsoleteOrMissingSeasons(group, episodeLookup, false)
.ConfigureAwait(false);
var anyEpisodesRemoved = await RemoveObsoleteOrMissingEpisodes(group, episodeLookup, hasBadData)
var anyEpisodesRemoved = await RemoveObsoleteOrMissingEpisodes(group, episodeLookup, false)
.ConfigureAwait(false);
var hasNewEpisodes = false;
@@ -204,12 +204,6 @@ namespace MediaBrowser.Providers.TV
IEnumerable<Tuple<int, int>> episodeLookup,
CancellationToken cancellationToken)
{
// Be conservative here to avoid creating missing episodes for ones they already have
if (!seriesHasBadData)
{
return false;
}
var existingEpisodes = (from s in series
let seasonOffset = TvdbSeriesProvider.GetSeriesOffset(s.ProviderIds) ?? ((s.AnimeSeriesIndex ?? 1) - 1)
from c in s.RecursiveChildren.OfType<Episode>()