diff options
Diffstat (limited to 'MediaBrowser.Server.Implementations/Library/Validators/ArtistsValidator.cs')
| -rw-r--r-- | MediaBrowser.Server.Implementations/Library/Validators/ArtistsValidator.cs | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/MediaBrowser.Server.Implementations/Library/Validators/ArtistsValidator.cs b/MediaBrowser.Server.Implementations/Library/Validators/ArtistsValidator.cs index 767df9c79..73909de27 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.ToArray(); + var allItems = _libraryManager.RootFolder.RecursiveChildren.ToList(); - var allMusicArtists = allItems.OfType<MusicArtist>().ToArray(); - var allSongs = allItems.OfType<Audio>().ToArray(); + var allMusicArtists = allItems.OfType<MusicArtist>().ToList(); + var allSongs = allItems.OfType<Audio>().ToList(); 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, IHasArtist[]>(i.Id, i.RootFolder.GetRecursiveChildren(i).OfType<IHasArtist>().ToArray())) - .ToArray(); + .Select(i => new Tuple<Guid, List<IHasArtist>>(i.Id, i.RootFolder.GetRecursiveChildren(i).OfType<IHasArtist>().ToList())) + .ToList(); var numArtists = allArtists.Count; @@ -140,11 +140,11 @@ namespace MediaBrowser.Server.Implementations.Library.Validators var items = allItems .Where(i => i.HasArtist(name)) - .ToArray(); + .ToList(); var counts = new ItemByNameCounts { - TotalCount = items.Length, + TotalCount = items.Count, SongCount = items.OfType<Audio>().Count(), @@ -167,7 +167,6 @@ namespace MediaBrowser.Server.Implementations.Library.Validators private void MergeImages(Dictionary<ImageType, string> source, Dictionary<ImageType, string> target) { foreach (var key in source.Keys - .ToArray() .Where(k => !target.ContainsKey(k))) { string path; @@ -202,7 +201,7 @@ namespace MediaBrowser.Server.Implementations.Library.Validators return list; }) .Distinct(StringComparer.OrdinalIgnoreCase) - .ToArray(); + .ToList(); const int maxTasks = 3; @@ -211,6 +210,7 @@ namespace MediaBrowser.Server.Implementations.Library.Validators var returnArtists = new ConcurrentBag<Artist>(); var numComplete = 0; + var numArtists = allArtists.Count; foreach (var artist in allArtists) { @@ -248,7 +248,7 @@ namespace MediaBrowser.Server.Implementations.Library.Validators { numComplete++; double percent = numComplete; - percent /= allArtists.Length; + percent /= numArtists; progress.Report(100 * percent); } |
