diff options
| author | Bond-009 <bond.009@outlook.com> | 2026-06-21 19:03:52 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-06-21 19:03:52 +0200 |
| commit | 4e80648fd31e914be455525c39c6cacaeb8f4b67 (patch) | |
| tree | 14620f88c0472010f29b948f4dc830aa2fc33003 | |
| parent | f08a3f9fd94ef5bce971a6da6394d6bc699c1571 (diff) | |
| parent | ce58e4400e5714d4afeaa517a021601395c51944 (diff) | |
Fix Identify returning wrong results
| -rw-r--r-- | MediaBrowser.Providers/Manager/MetadataService.cs | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/MediaBrowser.Providers/Manager/MetadataService.cs b/MediaBrowser.Providers/Manager/MetadataService.cs index c2e523cfaf..118ccf8679 100644 --- a/MediaBrowser.Providers/Manager/MetadataService.cs +++ b/MediaBrowser.Providers/Manager/MetadataService.cs @@ -831,8 +831,16 @@ namespace MediaBrowser.Providers.Manager var isLocalLocked = temp.Item.IsLocked; if (!isLocalLocked && (options.ReplaceAllMetadata || options.MetadataRefreshMode > MetadataRefreshMode.ValidationOnly)) { - var remoteResult = await ExecuteRemoteProviders(temp, logName, false, id, providers.OfType<IRemoteMetadataProvider<TItemType, TIdType>>(), cancellationToken) - .ConfigureAwait(false); + var remoteProviders = providers.OfType<IRemoteMetadataProvider<TItemType, TIdType>>(); + + // When identifying, run the provider the user picked first so the correct IDs are used. + if (!string.IsNullOrEmpty(options.SearchResult?.SearchProviderName)) + { + remoteProviders = remoteProviders + .OrderBy(i => string.Equals(i.Name, options.SearchResult.SearchProviderName, StringComparison.OrdinalIgnoreCase) ? 0 : 1); + } + + var remoteResult = await ExecuteRemoteProviders(temp, logName, false, id, remoteProviders, cancellationToken).ConfigureAwait(false); refreshResult.UpdateType |= remoteResult.UpdateType; refreshResult.ErrorMessage = remoteResult.ErrorMessage; |
