diff options
| author | Eric Reed <ebr@mediabrowser3.com> | 2013-04-15 17:35:01 -0400 |
|---|---|---|
| committer | Eric Reed <ebr@mediabrowser3.com> | 2013-04-15 17:35:01 -0400 |
| commit | c37825aa123ecc4e9b06a3c108f2cc1ee144a392 (patch) | |
| tree | 27b43e450657af0947eda995a0df9f35cedaa700 /MediaBrowser.Server.Implementations/ScheduledTasks/VideoImagesTask.cs | |
| parent | 71223ed1a8de3e155c7e0df251c5f19f5263d024 (diff) | |
| parent | 43f7f34b5d7ac5bad34e02ca2c244c10e6f9d14e (diff) | |
Merge branch 'master' of https://github.com/MediaBrowser/MediaBrowser
Diffstat (limited to 'MediaBrowser.Server.Implementations/ScheduledTasks/VideoImagesTask.cs')
| -rw-r--r-- | MediaBrowser.Server.Implementations/ScheduledTasks/VideoImagesTask.cs | 54 |
1 files changed, 31 insertions, 23 deletions
diff --git a/MediaBrowser.Server.Implementations/ScheduledTasks/VideoImagesTask.cs b/MediaBrowser.Server.Implementations/ScheduledTasks/VideoImagesTask.cs index a995f1a47..a5c2f28b7 100644 --- a/MediaBrowser.Server.Implementations/ScheduledTasks/VideoImagesTask.cs +++ b/MediaBrowser.Server.Implementations/ScheduledTasks/VideoImagesTask.cs @@ -3,6 +3,7 @@ using MediaBrowser.Common.MediaInfo; using MediaBrowser.Common.ScheduledTasks; using MediaBrowser.Controller; using MediaBrowser.Controller.Entities; +using MediaBrowser.Controller.Entities.Movies; using MediaBrowser.Controller.Library; using MediaBrowser.Controller.Providers.MediaInfo; using MediaBrowser.Model.Entities; @@ -95,33 +96,40 @@ namespace MediaBrowser.Server.Implementations.ScheduledTasks /// <returns>Task.</returns> public async Task Execute(CancellationToken cancellationToken, IProgress<double> progress) { - var items = _libraryManager.RootFolder.RecursiveChildren - .OfType<Video>() - .Where(i => - { - if (!string.IsNullOrEmpty(i.PrimaryImagePath)) - { - return false; - } + var allItems = _libraryManager.RootFolder.RecursiveChildren.ToList(); - if (i.LocationType != LocationType.FileSystem) - { - return false; - } + var localTrailers = allItems.SelectMany(i => i.LocalTrailers); - if (i.VideoType == VideoType.HdDvd) - { - return false; - } + var videos = allItems.OfType<Video>().ToList(); - if (i.VideoType == VideoType.Iso && !i.IsoType.HasValue) - { - return false; - } + var items = videos; + items.AddRange(localTrailers); + items.AddRange(videos.OfType<Movie>().SelectMany(i => i.SpecialFeatures).ToList()); + + items = items.Where(i => + { + if (!string.IsNullOrEmpty(i.PrimaryImagePath)) + { + return false; + } + + if (i.LocationType != LocationType.FileSystem) + { + return false; + } + + if (i.VideoType == VideoType.HdDvd) + { + return false; + } + + if (i.VideoType == VideoType.Iso && !i.IsoType.HasValue) + { + return false; + } - return i.MediaStreams != null && i.MediaStreams.Any(m => m.Type == MediaStreamType.Video); - }) - .ToList(); + return i.MediaStreams != null && i.MediaStreams.Any(m => m.Type == MediaStreamType.Video); + }).ToList(); progress.Report(0); |
