diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2013-09-09 14:24:18 -0400 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2013-09-09 14:24:18 -0400 |
| commit | a790ec237b25542acc3e4e898e2f0196212a7fcb (patch) | |
| tree | d8cc157e4d67c2e8b8b9e3eb3c9348da23281d4b | |
| parent | b1b3a280a49813c0c1008c4cf410c12b520c02f6 (diff) | |
improve manual artist refresh
| -rw-r--r-- | MediaBrowser.Api/ItemRefreshService.cs | 24 |
1 files changed, 15 insertions, 9 deletions
diff --git a/MediaBrowser.Api/ItemRefreshService.cs b/MediaBrowser.Api/ItemRefreshService.cs index d71f171a4..cb1ed7c9b 100644 --- a/MediaBrowser.Api/ItemRefreshService.cs +++ b/MediaBrowser.Api/ItemRefreshService.cs @@ -114,6 +114,21 @@ namespace MediaBrowser.Api var cancellationToken = CancellationToken.None; + var albums = _libraryManager.RootFolder + .RecursiveChildren + .OfType<MusicAlbum>() + .Where(i => i.HasArtist(item.Name)) + .ToList(); + + var musicArtists = albums + .Select(i => i.Parent) + .OfType<MusicArtist>() + .ToList(); + + var musicArtistRefreshTasks = musicArtists.Select(i => i.ValidateChildren(new Progress<double>(), cancellationToken, true, request.Forced)); + + await Task.WhenAll(musicArtistRefreshTasks).ConfigureAwait(false); + try { await item.RefreshMetadata(cancellationToken, forceRefresh: request.Forced).ConfigureAwait(false); @@ -122,15 +137,6 @@ namespace MediaBrowser.Api { Logger.ErrorException("Error refreshing library", ex); } - - // Refresh albums - var refreshTasks = _libraryManager.RootFolder - .RecursiveChildren - .OfType<MusicAlbum>() - .Where(i => i.HasArtist(item.Name)) - .Select(i => i.ValidateChildren(new Progress<double>(), cancellationToken, true, request.Forced)); - - await Task.WhenAll(refreshTasks).ConfigureAwait(false); } public void Post(RefreshGenre request) |
