aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Server.Implementations/Library/Validators
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.Server.Implementations/Library/Validators')
-rw-r--r--MediaBrowser.Server.Implementations/Library/Validators/ArtistsValidator.cs5
-rw-r--r--MediaBrowser.Server.Implementations/Library/Validators/GameGenresPostScanTask.cs3
-rw-r--r--MediaBrowser.Server.Implementations/Library/Validators/GameGenresValidator.cs7
-rw-r--r--MediaBrowser.Server.Implementations/Library/Validators/GenresValidator.cs7
-rw-r--r--MediaBrowser.Server.Implementations/Library/Validators/MusicGenresPostScanTask.cs1
-rw-r--r--MediaBrowser.Server.Implementations/Library/Validators/MusicGenresValidator.cs7
-rw-r--r--MediaBrowser.Server.Implementations/Library/Validators/PeoplePostScanTask.cs3
-rw-r--r--MediaBrowser.Server.Implementations/Library/Validators/PeopleValidator.cs62
-rw-r--r--MediaBrowser.Server.Implementations/Library/Validators/StudiosPostScanTask.cs1
-rw-r--r--MediaBrowser.Server.Implementations/Library/Validators/StudiosValidator.cs7
-rw-r--r--MediaBrowser.Server.Implementations/Library/Validators/YearsPostScanTask.cs2
11 files changed, 13 insertions, 92 deletions
diff --git a/MediaBrowser.Server.Implementations/Library/Validators/ArtistsValidator.cs b/MediaBrowser.Server.Implementations/Library/Validators/ArtistsValidator.cs
index 40ef5304c..1d9eea866 100644
--- a/MediaBrowser.Server.Implementations/Library/Validators/ArtistsValidator.cs
+++ b/MediaBrowser.Server.Implementations/Library/Validators/ArtistsValidator.cs
@@ -79,7 +79,7 @@ namespace MediaBrowser.Server.Implementations.Library.Validators
{
cancellationToken.ThrowIfCancellationRequested();
- // Only do this for artists accessed by name. Folder-based artists use ArtistInfoFromSongsProvider
+ // Only do this for artists accessed by name. Folder-based artists get it from the normal refresh
if (artist.IsAccessedByName && !artist.LockedFields.Contains(MetadataFields.Genres))
{
// Avoid implicitly captured closure
@@ -91,9 +91,6 @@ namespace MediaBrowser.Server.Implementations.Library.Validators
.ToList();
}
- // Populate counts of items
- //SetItemCounts(artist, null, allItems.OfType<IHasArtist>());
-
foreach (var lib in userLibraries)
{
SetItemCounts(artist, lib.Item1, lib.Item2);
diff --git a/MediaBrowser.Server.Implementations/Library/Validators/GameGenresPostScanTask.cs b/MediaBrowser.Server.Implementations/Library/Validators/GameGenresPostScanTask.cs
index 9e140c626..097e94216 100644
--- a/MediaBrowser.Server.Implementations/Library/Validators/GameGenresPostScanTask.cs
+++ b/MediaBrowser.Server.Implementations/Library/Validators/GameGenresPostScanTask.cs
@@ -16,10 +16,9 @@ namespace MediaBrowser.Server.Implementations.Library.Validators
private readonly ILibraryManager _libraryManager;
/// <summary>
- /// Initializes a new instance of the <see cref="GameGenresPostScanTask"/> class.
+ /// Initializes a new instance of the <see cref="GameGenresPostScanTask" /> class.
/// </summary>
/// <param name="libraryManager">The library manager.</param>
- /// <param name="userManager">The user manager.</param>
public GameGenresPostScanTask(ILibraryManager libraryManager)
{
_libraryManager = libraryManager;
diff --git a/MediaBrowser.Server.Implementations/Library/Validators/GameGenresValidator.cs b/MediaBrowser.Server.Implementations/Library/Validators/GameGenresValidator.cs
index c7af7a238..9e64c7810 100644
--- a/MediaBrowser.Server.Implementations/Library/Validators/GameGenresValidator.cs
+++ b/MediaBrowser.Server.Implementations/Library/Validators/GameGenresValidator.cs
@@ -47,9 +47,6 @@ namespace MediaBrowser.Server.Implementations.Library.Validators
var masterDictionary = new Dictionary<string, Dictionary<Guid, Dictionary<CountType, int>>>(StringComparer.OrdinalIgnoreCase);
- // Populate counts of items
- //SetItemCounts(null, allLibraryItems, masterDictionary);
-
progress.Report(2);
var numComplete = 0;
@@ -98,7 +95,7 @@ namespace MediaBrowser.Server.Implementations.Library.Validators
progress.Report(100);
}
- private async Task UpdateItemByNameCounts(string name, CancellationToken cancellationToken, Dictionary<Guid, Dictionary<CountType, int>> counts)
+ private Task UpdateItemByNameCounts(string name, CancellationToken cancellationToken, Dictionary<Guid, Dictionary<CountType, int>> counts)
{
var itemByName = _libraryManager.GetGameGenre(name);
@@ -109,7 +106,7 @@ namespace MediaBrowser.Server.Implementations.Library.Validators
itemByName.SetItemByNameCounts(libraryId, itemCounts);
}
- await itemByName.RefreshMetadata(cancellationToken).ConfigureAwait(false);
+ return itemByName.RefreshMetadata(cancellationToken);
}
private void SetItemCounts(Guid userId, IEnumerable<BaseItem> allItems, Dictionary<string, Dictionary<Guid, Dictionary<CountType, int>>> masterDictionary)
diff --git a/MediaBrowser.Server.Implementations/Library/Validators/GenresValidator.cs b/MediaBrowser.Server.Implementations/Library/Validators/GenresValidator.cs
index cb1253df0..e0a9e2ce8 100644
--- a/MediaBrowser.Server.Implementations/Library/Validators/GenresValidator.cs
+++ b/MediaBrowser.Server.Implementations/Library/Validators/GenresValidator.cs
@@ -48,9 +48,6 @@ namespace MediaBrowser.Server.Implementations.Library.Validators
var masterDictionary = new Dictionary<string, Dictionary<Guid, Dictionary<CountType, int>>>(StringComparer.OrdinalIgnoreCase);
- // Populate counts of items
- //SetItemCounts(null, allLibraryItems, masterDictionary);
-
progress.Report(2);
var numComplete = 0;
@@ -99,7 +96,7 @@ namespace MediaBrowser.Server.Implementations.Library.Validators
progress.Report(100);
}
- private async Task UpdateItemByNameCounts(string name, CancellationToken cancellationToken, Dictionary<Guid, Dictionary<CountType, int>> counts)
+ private Task UpdateItemByNameCounts(string name, CancellationToken cancellationToken, Dictionary<Guid, Dictionary<CountType, int>> counts)
{
var itemByName = _libraryManager.GetGenre(name);
@@ -110,7 +107,7 @@ namespace MediaBrowser.Server.Implementations.Library.Validators
itemByName.SetItemByNameCounts(libraryId, itemCounts);
}
- await itemByName.RefreshMetadata(cancellationToken).ConfigureAwait(false);
+ return itemByName.RefreshMetadata(cancellationToken);
}
private void SetItemCounts(Guid userId, IEnumerable<BaseItem> allItems, Dictionary<string, Dictionary<Guid, Dictionary<CountType, int>>> masterDictionary)
diff --git a/MediaBrowser.Server.Implementations/Library/Validators/MusicGenresPostScanTask.cs b/MediaBrowser.Server.Implementations/Library/Validators/MusicGenresPostScanTask.cs
index e5535c6e0..da378228a 100644
--- a/MediaBrowser.Server.Implementations/Library/Validators/MusicGenresPostScanTask.cs
+++ b/MediaBrowser.Server.Implementations/Library/Validators/MusicGenresPostScanTask.cs
@@ -19,7 +19,6 @@ namespace MediaBrowser.Server.Implementations.Library.Validators
/// Initializes a new instance of the <see cref="ArtistsPostScanTask" /> class.
/// </summary>
/// <param name="libraryManager">The library manager.</param>
- /// <param name="userManager">The user manager.</param>
public MusicGenresPostScanTask(ILibraryManager libraryManager)
{
_libraryManager = libraryManager;
diff --git a/MediaBrowser.Server.Implementations/Library/Validators/MusicGenresValidator.cs b/MediaBrowser.Server.Implementations/Library/Validators/MusicGenresValidator.cs
index 57a6a612b..b55ab1cbe 100644
--- a/MediaBrowser.Server.Implementations/Library/Validators/MusicGenresValidator.cs
+++ b/MediaBrowser.Server.Implementations/Library/Validators/MusicGenresValidator.cs
@@ -48,9 +48,6 @@ namespace MediaBrowser.Server.Implementations.Library.Validators
var masterDictionary = new Dictionary<string, Dictionary<Guid, Dictionary<CountType, int>>>(StringComparer.OrdinalIgnoreCase);
- // Populate counts of items
- //SetItemCounts(null, allLibraryItems, masterDictionary);
-
progress.Report(2);
var numComplete = 0;
@@ -99,7 +96,7 @@ namespace MediaBrowser.Server.Implementations.Library.Validators
progress.Report(100);
}
- private async Task UpdateItemByNameCounts(string name, CancellationToken cancellationToken, Dictionary<Guid, Dictionary<CountType, int>> counts)
+ private Task UpdateItemByNameCounts(string name, CancellationToken cancellationToken, Dictionary<Guid, Dictionary<CountType, int>> counts)
{
var itemByName = _libraryManager.GetMusicGenre(name);
@@ -110,7 +107,7 @@ namespace MediaBrowser.Server.Implementations.Library.Validators
itemByName.SetItemByNameCounts(libraryId, itemCounts);
}
- await itemByName.RefreshMetadata(cancellationToken).ConfigureAwait(false);
+ return itemByName.RefreshMetadata(cancellationToken);
}
private void SetItemCounts(Guid userId, IEnumerable<BaseItem> allItems, Dictionary<string, Dictionary<Guid, Dictionary<CountType, int>>> masterDictionary)
diff --git a/MediaBrowser.Server.Implementations/Library/Validators/PeoplePostScanTask.cs b/MediaBrowser.Server.Implementations/Library/Validators/PeoplePostScanTask.cs
index 706ff67a7..86c5dbc4c 100644
--- a/MediaBrowser.Server.Implementations/Library/Validators/PeoplePostScanTask.cs
+++ b/MediaBrowser.Server.Implementations/Library/Validators/PeoplePostScanTask.cs
@@ -53,9 +53,6 @@ namespace MediaBrowser.Server.Implementations.Library.Validators
var masterDictionary = new Dictionary<string, Dictionary<Guid, Dictionary<CountType, int>>>(StringComparer.OrdinalIgnoreCase);
- // Populate counts of items
- //SetItemCounts(null, allLibraryItems, masterDictionary);
-
progress.Report(2);
var numComplete = 0;
diff --git a/MediaBrowser.Server.Implementations/Library/Validators/PeopleValidator.cs b/MediaBrowser.Server.Implementations/Library/Validators/PeopleValidator.cs
index 26e9a23e9..268bccd7a 100644
--- a/MediaBrowser.Server.Implementations/Library/Validators/PeopleValidator.cs
+++ b/MediaBrowser.Server.Implementations/Library/Validators/PeopleValidator.cs
@@ -3,7 +3,6 @@ using MediaBrowser.Controller.Library;
using MediaBrowser.Model.Logging;
using MoreLinq;
using System;
-using System.Collections.Generic;
using System.Linq;
using System.Threading;
using System.Threading.Tasks;
@@ -24,19 +23,15 @@ namespace MediaBrowser.Server.Implementations.Library.Validators
/// </summary>
private readonly ILogger _logger;
- private readonly IEnumerable<IPeoplePrescanTask> _prescanTasks;
-
/// <summary>
/// Initializes a new instance of the <see cref="PeopleValidator" /> class.
/// </summary>
/// <param name="libraryManager">The library manager.</param>
- /// <param name="prescanTasks">The prescan tasks.</param>
/// <param name="logger">The logger.</param>
- public PeopleValidator(ILibraryManager libraryManager, IEnumerable<IPeoplePrescanTask> prescanTasks, ILogger logger)
+ public PeopleValidator(ILibraryManager libraryManager, ILogger logger)
{
_libraryManager = libraryManager;
_logger = logger;
- _prescanTasks = prescanTasks;
}
/// <summary>
@@ -51,11 +46,6 @@ namespace MediaBrowser.Server.Implementations.Library.Validators
innerProgress.RegisterAction(pct => progress.Report(pct * .15));
- // Run prescan tasks
- await RunPrescanTasks(innerProgress, cancellationToken).ConfigureAwait(false);
-
- progress.Report(15);
-
var people = _libraryManager.RootFolder.GetRecursiveChildren()
.SelectMany(c => c.People)
.DistinctBy(p => p.Name, StringComparer.OrdinalIgnoreCase)
@@ -94,55 +84,5 @@ namespace MediaBrowser.Server.Implementations.Library.Validators
GC.Collect(2, GCCollectionMode.Forced, true);
GC.Collect(2, GCCollectionMode.Forced, true);
}
-
- /// <summary>
- /// Runs the prescan tasks.
- /// </summary>
- /// <param name="progress">The progress.</param>
- /// <param name="cancellationToken">The cancellation token.</param>
- /// <returns>Task.</returns>
- private async Task RunPrescanTasks(IProgress<double> progress, CancellationToken cancellationToken)
- {
- var tasks = _prescanTasks.ToList();
-
- var numComplete = 0;
- var numTasks = tasks.Count;
-
- foreach (var task in tasks)
- {
- var innerProgress = new ActionableProgress<double>();
-
- // Prevent access to modified closure
- var currentNumComplete = numComplete;
-
- innerProgress.RegisterAction(pct =>
- {
- double innerPercent = (currentNumComplete * 100) + pct;
- innerPercent /= numTasks;
- progress.Report(innerPercent);
- });
-
- try
- {
- await task.Run(innerProgress, cancellationToken);
- }
- catch (OperationCanceledException)
- {
- _logger.Info("Pre-scan task cancelled: {0}", task.GetType().Name);
- break;
- }
- catch (Exception ex)
- {
- _logger.ErrorException("Error running pre-scan task", ex);
- }
-
- numComplete++;
- double percent = numComplete;
- percent /= numTasks;
- progress.Report(percent * 100);
- }
-
- progress.Report(100);
- }
}
}
diff --git a/MediaBrowser.Server.Implementations/Library/Validators/StudiosPostScanTask.cs b/MediaBrowser.Server.Implementations/Library/Validators/StudiosPostScanTask.cs
index fb9562da2..a3a8b8678 100644
--- a/MediaBrowser.Server.Implementations/Library/Validators/StudiosPostScanTask.cs
+++ b/MediaBrowser.Server.Implementations/Library/Validators/StudiosPostScanTask.cs
@@ -19,7 +19,6 @@ namespace MediaBrowser.Server.Implementations.Library.Validators
/// Initializes a new instance of the <see cref="ArtistsPostScanTask" /> class.
/// </summary>
/// <param name="libraryManager">The library manager.</param>
- /// <param name="userManager">The user manager.</param>
public StudiosPostScanTask(ILibraryManager libraryManager)
{
_libraryManager = libraryManager;
diff --git a/MediaBrowser.Server.Implementations/Library/Validators/StudiosValidator.cs b/MediaBrowser.Server.Implementations/Library/Validators/StudiosValidator.cs
index 0f4ff562e..54fadfb77 100644
--- a/MediaBrowser.Server.Implementations/Library/Validators/StudiosValidator.cs
+++ b/MediaBrowser.Server.Implementations/Library/Validators/StudiosValidator.cs
@@ -47,9 +47,6 @@ namespace MediaBrowser.Server.Implementations.Library.Validators
var masterDictionary = new Dictionary<string, Dictionary<Guid, Dictionary<CountType, int>>>(StringComparer.OrdinalIgnoreCase);
- // Populate counts of items
- //SetItemCounts(null, allLibraryItems, masterDictionary);
-
progress.Report(2);
var numComplete = 0;
@@ -98,7 +95,7 @@ namespace MediaBrowser.Server.Implementations.Library.Validators
progress.Report(100);
}
- private async Task UpdateItemByNameCounts(string name, CancellationToken cancellationToken, Dictionary<Guid, Dictionary<CountType, int>> counts)
+ private Task UpdateItemByNameCounts(string name, CancellationToken cancellationToken, Dictionary<Guid, Dictionary<CountType, int>> counts)
{
var itemByName = _libraryManager.GetStudio(name);
@@ -109,7 +106,7 @@ namespace MediaBrowser.Server.Implementations.Library.Validators
itemByName.SetItemByNameCounts(libraryId, itemCounts);
}
- await itemByName.RefreshMetadata(cancellationToken).ConfigureAwait(false);
+ return itemByName.RefreshMetadata(cancellationToken);
}
private void SetItemCounts(Guid userId, IEnumerable<BaseItem> allItems, Dictionary<string, Dictionary<Guid, Dictionary<CountType, int>>> masterDictionary)
diff --git a/MediaBrowser.Server.Implementations/Library/Validators/YearsPostScanTask.cs b/MediaBrowser.Server.Implementations/Library/Validators/YearsPostScanTask.cs
index c65568db9..78783db90 100644
--- a/MediaBrowser.Server.Implementations/Library/Validators/YearsPostScanTask.cs
+++ b/MediaBrowser.Server.Implementations/Library/Validators/YearsPostScanTask.cs
@@ -26,6 +26,8 @@ namespace MediaBrowser.Server.Implementations.Library.Validators
.Distinct()
.ToList();
+ progress.Report(10);
+
var count = allYears.Count;
var numComplete = 0;