mirror of
https://github.com/jellyfin/jellyfin.git
synced 2026-07-19 12:44:19 +01:00
Merge pull request #1731 from softworkz/MetadataMerging
Prioritize metadata merging by preferred language
This commit is contained in:
@@ -651,6 +651,8 @@ namespace MediaBrowser.Providers.Manager
|
||||
{
|
||||
var refreshResult = new RefreshResult();
|
||||
|
||||
var results = new List<MetadataResult<TItemType>>();
|
||||
|
||||
foreach (var provider in providers)
|
||||
{
|
||||
var providerName = provider.GetType().Name;
|
||||
@@ -667,7 +669,7 @@ namespace MediaBrowser.Providers.Manager
|
||||
|
||||
if (result.HasMetadata)
|
||||
{
|
||||
MergeData(result, temp, new List<MetadataFields>(), false, false);
|
||||
results.Add(result);
|
||||
|
||||
refreshResult.UpdateType = refreshResult.UpdateType | ItemUpdateType.MetadataDownload;
|
||||
}
|
||||
@@ -688,6 +690,38 @@ namespace MediaBrowser.Providers.Manager
|
||||
}
|
||||
}
|
||||
|
||||
var orderedResults = new List<MetadataResult<TItemType>>();
|
||||
|
||||
if (string.IsNullOrEmpty(id.MetadataLanguage))
|
||||
{
|
||||
orderedResults.AddRange(results);
|
||||
}
|
||||
else
|
||||
{
|
||||
// prioritize results with matching ResultLanguage
|
||||
foreach (var result in results)
|
||||
{
|
||||
if (!string.IsNullOrEmpty(result.ResultLanguage) && result.ResultLanguage == id.MetadataLanguage && result.QueriedById)
|
||||
{
|
||||
orderedResults.Add(result);
|
||||
}
|
||||
}
|
||||
|
||||
// add all other results
|
||||
foreach (var result in results)
|
||||
{
|
||||
if (!orderedResults.Contains(result))
|
||||
{
|
||||
orderedResults.Add(result);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
foreach (var result in results)
|
||||
{
|
||||
MergeData(result, temp, new List<MetadataFields>(), false, false);
|
||||
}
|
||||
|
||||
return refreshResult;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user