diff options
Diffstat (limited to 'MediaBrowser.Api/ItemRefreshService.cs')
| -rw-r--r-- | MediaBrowser.Api/ItemRefreshService.cs | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/MediaBrowser.Api/ItemRefreshService.cs b/MediaBrowser.Api/ItemRefreshService.cs index e31292e9d..d71f171a4 100644 --- a/MediaBrowser.Api/ItemRefreshService.cs +++ b/MediaBrowser.Api/ItemRefreshService.cs @@ -1,5 +1,6 @@ using MediaBrowser.Controller.Dto; using MediaBrowser.Controller.Entities; +using MediaBrowser.Controller.Entities.Audio; using MediaBrowser.Controller.Library; using ServiceStack.ServiceHost; using System; @@ -111,14 +112,25 @@ namespace MediaBrowser.Api { var item = await GetArtist(request.Name, _libraryManager).ConfigureAwait(false); + var cancellationToken = CancellationToken.None; + try { - await item.RefreshMetadata(CancellationToken.None, forceRefresh: request.Forced).ConfigureAwait(false); + await item.RefreshMetadata(cancellationToken, forceRefresh: request.Forced).ConfigureAwait(false); } catch (Exception ex) { 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) |
