diff options
Diffstat (limited to 'MediaBrowser.Providers')
| -rw-r--r-- | MediaBrowser.Providers/Manager/MetadataService.cs | 3 | ||||
| -rw-r--r-- | MediaBrowser.Providers/Music/AlbumMetadataService.cs | 20 |
2 files changed, 14 insertions, 9 deletions
diff --git a/MediaBrowser.Providers/Manager/MetadataService.cs b/MediaBrowser.Providers/Manager/MetadataService.cs index 3aada3cef..da241533a 100644 --- a/MediaBrowser.Providers/Manager/MetadataService.cs +++ b/MediaBrowser.Providers/Manager/MetadataService.cs @@ -262,14 +262,13 @@ namespace MediaBrowser.Providers.Manager protected async Task SaveItemAsync(MetadataResult<TItemType> result, ItemUpdateType reason, CancellationToken cancellationToken) { + await result.Item.UpdateToRepositoryAsync(reason, cancellationToken).ConfigureAwait(false); if (result.Item.SupportsPeople && result.People is not null) { var baseItem = result.Item; await LibraryManager.UpdatePeopleAsync(baseItem, result.People, cancellationToken).ConfigureAwait(false); } - - await result.Item.UpdateToRepositoryAsync(reason, cancellationToken).ConfigureAwait(false); } protected virtual Task AfterMetadataRefresh(TItemType item, MetadataRefreshOptions refreshOptions, CancellationToken cancellationToken) diff --git a/MediaBrowser.Providers/Music/AlbumMetadataService.cs b/MediaBrowser.Providers/Music/AlbumMetadataService.cs index 2af3667d0..14bdbc141 100644 --- a/MediaBrowser.Providers/Music/AlbumMetadataService.cs +++ b/MediaBrowser.Providers/Music/AlbumMetadataService.cs @@ -1,6 +1,8 @@ using System; using System.Collections.Generic; using System.Linq; +using System.Threading; +using System.Threading.Tasks; using Jellyfin.Data.Enums; using MediaBrowser.Controller.Configuration; using MediaBrowser.Controller.Entities; @@ -54,6 +56,16 @@ public class AlbumMetadataService : MetadataService<MusicAlbum, AlbumInfo> => item.GetRecursiveChildren(i => i is Audio); /// <inheritdoc /> + protected override Task AfterMetadataRefresh(MusicAlbum item, MetadataRefreshOptions refreshOptions, CancellationToken cancellationToken) + { + base.AfterMetadataRefresh(item, refreshOptions, cancellationToken); + + SetPeople(item); + + return Task.CompletedTask; + } + + /// <inheritdoc /> protected override ItemUpdateType UpdateMetadataFromChildren(MusicAlbum item, IReadOnlyList<BaseItem> children, bool isFullRefresh, ItemUpdateType currentUpdateType) { var updateType = base.UpdateMetadataFromChildren(item, children, isFullRefresh, currentUpdateType); @@ -83,7 +95,6 @@ public class AlbumMetadataService : MetadataService<MusicAlbum, AlbumInfo> updateType |= SetArtistsFromSongs(item, songs); updateType |= SetAlbumArtistFromSongs(item, songs); updateType |= SetAlbumFromSongs(item, songs); - updateType |= SetPeople(item); } return updateType; @@ -178,10 +189,8 @@ public class AlbumMetadataService : MetadataService<MusicAlbum, AlbumInfo> } } - private ItemUpdateType SetPeople(MusicAlbum item) + private void SetPeople(MusicAlbum item) { - var updateType = ItemUpdateType.None; - if (item.AlbumArtists.Any() || item.Artists.Any()) { var people = new List<PersonInfo>(); @@ -205,10 +214,7 @@ public class AlbumMetadataService : MetadataService<MusicAlbum, AlbumInfo> } LibraryManager.UpdatePeople(item, people); - updateType |= ItemUpdateType.MetadataEdit; } - - return updateType; } /// <inheritdoc /> |
