From 0ed2aa6f0670477bac28562d93c085bd14def9af Mon Sep 17 00:00:00 2001 From: Stepan Goremykin Date: Sat, 26 Aug 2023 16:57:27 +0200 Subject: [PATCH 1/2] Fix a few multiple enumerations --- Emby.Server.Implementations/Library/LibraryManager.cs | 2 +- MediaBrowser.Providers/Manager/ProviderManager.cs | 10 ++++------ 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/Emby.Server.Implementations/Library/LibraryManager.cs b/Emby.Server.Implementations/Library/LibraryManager.cs index 8f88113b7f..808cedd678 100644 --- a/Emby.Server.Implementations/Library/LibraryManager.cs +++ b/Emby.Server.Implementations/Library/LibraryManager.cs @@ -358,7 +358,7 @@ namespace Emby.Server.Implementations.Library var children = item.IsFolder ? ((Folder)item).GetRecursiveChildren(false) - : Enumerable.Empty(); + : Array.Empty(); foreach (var metadataPath in GetMetadataPaths(item, children)) { diff --git a/MediaBrowser.Providers/Manager/ProviderManager.cs b/MediaBrowser.Providers/Manager/ProviderManager.cs index 5cb28402e8..121be88d13 100644 --- a/MediaBrowser.Providers/Manager/ProviderManager.cs +++ b/MediaBrowser.Providers/Manager/ProviderManager.cs @@ -807,13 +807,11 @@ namespace MediaBrowser.Providers.Manager where TLookupType : ItemLookupInfo { var results = await provider.GetSearchResults(searchInfo, cancellationToken).ConfigureAwait(false); - - foreach (var item in results) + return results.Select(result => { - item.SearchProviderName = provider.Name; - } - - return results; + result.SearchProviderName = provider.Name; + return result; + }); } private IEnumerable GetExternalIds(IHasProviderIds item) From ee83e4cca56d086476b5cb6f92d931fb9bbb677f Mon Sep 17 00:00:00 2001 From: Stepan Goremykin Date: Sat, 26 Aug 2023 17:29:00 +0200 Subject: [PATCH 2/2] Remove redundant method --- .../Manager/ProviderManager.cs | 18 +++--------------- 1 file changed, 3 insertions(+), 15 deletions(-) diff --git a/MediaBrowser.Providers/Manager/ProviderManager.cs b/MediaBrowser.Providers/Manager/ProviderManager.cs index 121be88d13..f3211ba450 100644 --- a/MediaBrowser.Providers/Manager/ProviderManager.cs +++ b/MediaBrowser.Providers/Manager/ProviderManager.cs @@ -765,10 +765,12 @@ namespace MediaBrowser.Providers.Manager { try { - var results = await GetSearchResults(provider, searchInfo.SearchInfo, cancellationToken).ConfigureAwait(false); + var results = await provider.GetSearchResults(searchInfo.SearchInfo, cancellationToken).ConfigureAwait(false); foreach (var result in results) { + result.SearchProviderName = provider.Name; + var existingMatch = resultList.FirstOrDefault(i => i.ProviderIds.Any(p => string.Equals(result.GetProviderId(p.Key), p.Value, StringComparison.OrdinalIgnoreCase))); if (existingMatch is null) @@ -800,20 +802,6 @@ namespace MediaBrowser.Providers.Manager return resultList; } - private async Task> GetSearchResults( - IRemoteSearchProvider provider, - TLookupType searchInfo, - CancellationToken cancellationToken) - where TLookupType : ItemLookupInfo - { - var results = await provider.GetSearchResults(searchInfo, cancellationToken).ConfigureAwait(false); - return results.Select(result => - { - result.SearchProviderName = provider.Name; - return result; - }); - } - private IEnumerable GetExternalIds(IHasProviderIds item) { return _externalIds.Where(i =>