aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Server.Implementations/Library/Validators
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2013-09-17 22:43:34 -0400
committerLuke Pulverenti <luke.pulverenti@gmail.com>2013-09-17 22:43:34 -0400
commit60780399c51165a06a04d8a01d59252bc9c82d7f (patch)
tree53edb713a4d311234b21eebfa091a6c2bf382db5 /MediaBrowser.Server.Implementations/Library/Validators
parent06c611dd50d37b786a957cea7308fb30e926a919 (diff)
allow request header overrides
Diffstat (limited to 'MediaBrowser.Server.Implementations/Library/Validators')
-rw-r--r--MediaBrowser.Server.Implementations/Library/Validators/ArtistsValidator.cs26
-rw-r--r--MediaBrowser.Server.Implementations/Library/Validators/CountHelpers.cs2
-rw-r--r--MediaBrowser.Server.Implementations/Library/Validators/PeoplePostScanTask.cs8
3 files changed, 16 insertions, 20 deletions
diff --git a/MediaBrowser.Server.Implementations/Library/Validators/ArtistsValidator.cs b/MediaBrowser.Server.Implementations/Library/Validators/ArtistsValidator.cs
index 607f32427..d359d211c 100644
--- a/MediaBrowser.Server.Implementations/Library/Validators/ArtistsValidator.cs
+++ b/MediaBrowser.Server.Implementations/Library/Validators/ArtistsValidator.cs
@@ -57,10 +57,10 @@ namespace MediaBrowser.Server.Implementations.Library.Validators
/// <returns>Task.</returns>
public async Task Run(IProgress<double> progress, CancellationToken cancellationToken)
{
- var allItems = _libraryManager.RootFolder.RecursiveChildren.ToList();
+ var allItems = _libraryManager.RootFolder.RecursiveChildren.ToArray();
- var allMusicArtists = allItems.OfType<MusicArtist>().ToList();
- var allSongs = allItems.OfType<Audio>().ToList();
+ var allMusicArtists = allItems.OfType<MusicArtist>().ToArray();
+ var allSongs = allItems.OfType<Audio>().ToArray();
var innerProgress = new ActionableProgress<double>();
@@ -73,8 +73,8 @@ namespace MediaBrowser.Server.Implementations.Library.Validators
var numComplete = 0;
var userLibraries = _userManager.Users
- .Select(i => new Tuple<Guid, List<IHasArtist>>(i.Id, i.RootFolder.GetRecursiveChildren(i).OfType<IHasArtist>().ToList()))
- .ToList();
+ .Select(i => new Tuple<Guid, IHasArtist[]>(i.Id, i.RootFolder.GetRecursiveChildren(i).OfType<IHasArtist>().ToArray()))
+ .ToArray();
foreach (var artist in allArtists)
{
@@ -117,7 +117,7 @@ namespace MediaBrowser.Server.Implementations.Library.Validators
numComplete++;
double percent = numComplete;
- percent /= allArtists.Count;
+ percent /= allArtists.Length;
percent *= 20;
progress.Report(80 + percent);
@@ -138,11 +138,11 @@ namespace MediaBrowser.Server.Implementations.Library.Validators
var items = allItems
.Where(i => i.HasArtist(name))
- .ToList();
+ .ToArray();
var counts = new ItemByNameCounts
{
- TotalCount = items.Count,
+ TotalCount = items.Length,
SongCount = items.OfType<Audio>().Count(),
@@ -165,7 +165,7 @@ namespace MediaBrowser.Server.Implementations.Library.Validators
private void MergeImages(Dictionary<ImageType, string> source, Dictionary<ImageType, string> target)
{
foreach (var key in source.Keys
- .ToList()
+ .ToArray()
.Where(k => !target.ContainsKey(k)))
{
string path;
@@ -184,7 +184,7 @@ namespace MediaBrowser.Server.Implementations.Library.Validators
/// <param name="cancellationToken">The cancellation token.</param>
/// <param name="progress">The progress.</param>
/// <returns>Task{Artist[]}.</returns>
- private async Task<List<Artist>> GetAllArtists(IEnumerable<Audio> allSongs, CancellationToken cancellationToken, IProgress<double> progress)
+ private async Task<Artist[]> GetAllArtists(IEnumerable<Audio> allSongs, CancellationToken cancellationToken, IProgress<double> progress)
{
var allArtists = allSongs
.SelectMany(i =>
@@ -200,7 +200,7 @@ namespace MediaBrowser.Server.Implementations.Library.Validators
return list;
})
.Distinct(StringComparer.OrdinalIgnoreCase)
- .ToList();
+ .ToArray();
const int maxTasks = 3;
@@ -246,7 +246,7 @@ namespace MediaBrowser.Server.Implementations.Library.Validators
{
numComplete++;
double percent = numComplete;
- percent /= allArtists.Count;
+ percent /= allArtists.Length;
progress.Report(100 * percent);
}
@@ -255,7 +255,7 @@ namespace MediaBrowser.Server.Implementations.Library.Validators
await Task.WhenAll(tasks).ConfigureAwait(false);
- return returnArtists.ToList();
+ return returnArtists.ToArray();
}
/// <summary>
diff --git a/MediaBrowser.Server.Implementations/Library/Validators/CountHelpers.cs b/MediaBrowser.Server.Implementations/Library/Validators/CountHelpers.cs
index 084d720ae..679eadb12 100644
--- a/MediaBrowser.Server.Implementations/Library/Validators/CountHelpers.cs
+++ b/MediaBrowser.Server.Implementations/Library/Validators/CountHelpers.cs
@@ -127,7 +127,7 @@ namespace MediaBrowser.Server.Implementations.Library.Validators
/// <param name="media">The media.</param>
/// <param name="names">The names.</param>
/// <param name="masterDictionary">The master dictionary.</param>
- internal static void SetItemCounts(Guid userId, BaseItem media, List<string> names, Dictionary<string, Dictionary<Guid, Dictionary<CountType, int>>> masterDictionary)
+ internal static void SetItemCounts(Guid userId, BaseItem media, IEnumerable<string> names, Dictionary<string, Dictionary<Guid, Dictionary<CountType, int>>> masterDictionary)
{
foreach (var name in names)
{
diff --git a/MediaBrowser.Server.Implementations/Library/Validators/PeoplePostScanTask.cs b/MediaBrowser.Server.Implementations/Library/Validators/PeoplePostScanTask.cs
index 3c1528d01..065507d3c 100644
--- a/MediaBrowser.Server.Implementations/Library/Validators/PeoplePostScanTask.cs
+++ b/MediaBrowser.Server.Implementations/Library/Validators/PeoplePostScanTask.cs
@@ -46,14 +46,10 @@ namespace MediaBrowser.Server.Implementations.Library.Validators
private void RunInternal(IProgress<double> progress, CancellationToken cancellationToken)
{
- var allItems = _libraryManager.RootFolder.RecursiveChildren.ToList();
-
var userLibraries = _userManager.Users
- .Select(i => new Tuple<Guid, List<BaseItem>>(i.Id, i.RootFolder.GetRecursiveChildren(i).ToList()))
+ .Select(i => new Tuple<Guid, BaseItem[]>(i.Id, i.RootFolder.GetRecursiveChildren(i).ToArray()))
.ToList();
- var allLibraryItems = allItems;
-
var masterDictionary = new Dictionary<string, Dictionary<Guid, Dictionary<CountType, int>>>(StringComparer.OrdinalIgnoreCase);
// Populate counts of items
@@ -122,7 +118,7 @@ namespace MediaBrowser.Server.Implementations.Library.Validators
var names = media
.People.Select(i => i.Name)
.Distinct(StringComparer.OrdinalIgnoreCase)
- .ToList();
+ .ToArray();
CountHelpers.SetItemCounts(userId, media, names, masterDictionary);
}