diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2013-04-15 16:33:43 -0400 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2013-04-15 16:33:43 -0400 |
| commit | 0fc61585002747238226b688dfc3294be6e96fec (patch) | |
| tree | 8d259a713d09342e14c2bb2cd7bcfce8023fa227 /MediaBrowser.Server.Implementations | |
| parent | 9279893434316ba633d1354ee913ec76e56f0830 (diff) | |
more task reduction
Diffstat (limited to 'MediaBrowser.Server.Implementations')
6 files changed, 36 insertions, 28 deletions
diff --git a/MediaBrowser.Server.Implementations/ScheduledTasks/VideoImagesTask.cs b/MediaBrowser.Server.Implementations/ScheduledTasks/VideoImagesTask.cs index a995f1a476..a5c2f28b71 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); diff --git a/MediaBrowser.Server.Implementations/Sqlite/SQLiteDisplayPreferencesRepository.cs b/MediaBrowser.Server.Implementations/Sqlite/SQLiteDisplayPreferencesRepository.cs index fbb0e4f8c5..64a48c54d4 100644 --- a/MediaBrowser.Server.Implementations/Sqlite/SQLiteDisplayPreferencesRepository.cs +++ b/MediaBrowser.Server.Implementations/Sqlite/SQLiteDisplayPreferencesRepository.cs @@ -86,7 +86,7 @@ namespace MediaBrowser.Server.Implementations.Sqlite { var dbFile = Path.Combine(_appPaths.DataPath, "displaypreferences.db"); - await ConnectToDB(dbFile).ConfigureAwait(false); + await ConnectToDb(dbFile).ConfigureAwait(false); string[] queries = { diff --git a/MediaBrowser.Server.Implementations/Sqlite/SQLiteItemRepository.cs b/MediaBrowser.Server.Implementations/Sqlite/SQLiteItemRepository.cs index 3403cf79ff..a3d1848887 100644 --- a/MediaBrowser.Server.Implementations/Sqlite/SQLiteItemRepository.cs +++ b/MediaBrowser.Server.Implementations/Sqlite/SQLiteItemRepository.cs @@ -82,7 +82,7 @@ namespace MediaBrowser.Server.Implementations.Sqlite { var dbFile = Path.Combine(_appPaths.DataPath, "library.db"); - await ConnectToDB(dbFile).ConfigureAwait(false); + await ConnectToDb(dbFile).ConfigureAwait(false); string[] queries = { diff --git a/MediaBrowser.Server.Implementations/Sqlite/SQLiteRepository.cs b/MediaBrowser.Server.Implementations/Sqlite/SQLiteRepository.cs index baeb0b1a72..6824442f16 100644 --- a/MediaBrowser.Server.Implementations/Sqlite/SQLiteRepository.cs +++ b/MediaBrowser.Server.Implementations/Sqlite/SQLiteRepository.cs @@ -76,7 +76,7 @@ namespace MediaBrowser.Server.Implementations.Sqlite /// <param name="dbPath">The db path.</param> /// <returns>Task{System.Boolean}.</returns> /// <exception cref="System.ArgumentNullException">dbPath</exception> - protected async Task ConnectToDB(string dbPath) + protected async Task ConnectToDb(string dbPath) { if (string.IsNullOrEmpty(dbPath)) { diff --git a/MediaBrowser.Server.Implementations/Sqlite/SQLiteUserDataRepository.cs b/MediaBrowser.Server.Implementations/Sqlite/SQLiteUserDataRepository.cs index 8124733e52..6a7207d37c 100644 --- a/MediaBrowser.Server.Implementations/Sqlite/SQLiteUserDataRepository.cs +++ b/MediaBrowser.Server.Implementations/Sqlite/SQLiteUserDataRepository.cs @@ -86,7 +86,7 @@ namespace MediaBrowser.Server.Implementations.Sqlite { var dbFile = Path.Combine(_appPaths.DataPath, "userdata.db"); - await ConnectToDB(dbFile).ConfigureAwait(false); + await ConnectToDb(dbFile).ConfigureAwait(false); string[] queries = { diff --git a/MediaBrowser.Server.Implementations/Sqlite/SQLiteUserRepository.cs b/MediaBrowser.Server.Implementations/Sqlite/SQLiteUserRepository.cs index 75bb42774f..b95a541568 100644 --- a/MediaBrowser.Server.Implementations/Sqlite/SQLiteUserRepository.cs +++ b/MediaBrowser.Server.Implementations/Sqlite/SQLiteUserRepository.cs @@ -88,7 +88,7 @@ namespace MediaBrowser.Server.Implementations.Sqlite { var dbFile = Path.Combine(_appPaths.DataPath, "users.db"); - await ConnectToDB(dbFile).ConfigureAwait(false); + await ConnectToDb(dbFile).ConfigureAwait(false); string[] queries = { |
