aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Server.Implementations
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2013-04-15 16:33:43 -0400
committerLuke Pulverenti <luke.pulverenti@gmail.com>2013-04-15 16:33:43 -0400
commit0fc61585002747238226b688dfc3294be6e96fec (patch)
tree8d259a713d09342e14c2bb2cd7bcfce8023fa227 /MediaBrowser.Server.Implementations
parent9279893434316ba633d1354ee913ec76e56f0830 (diff)
more task reduction
Diffstat (limited to 'MediaBrowser.Server.Implementations')
-rw-r--r--MediaBrowser.Server.Implementations/ScheduledTasks/VideoImagesTask.cs54
-rw-r--r--MediaBrowser.Server.Implementations/Sqlite/SQLiteDisplayPreferencesRepository.cs2
-rw-r--r--MediaBrowser.Server.Implementations/Sqlite/SQLiteItemRepository.cs2
-rw-r--r--MediaBrowser.Server.Implementations/Sqlite/SQLiteRepository.cs2
-rw-r--r--MediaBrowser.Server.Implementations/Sqlite/SQLiteUserDataRepository.cs2
-rw-r--r--MediaBrowser.Server.Implementations/Sqlite/SQLiteUserRepository.cs2
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 = {