mirror of
https://github.com/Lidarr/Lidarr
synced 2026-05-08 04:21:32 +02:00
Fix ArtistMetadata overwrite during album refresh with bad data (#5591)
Co-authored-by: Meyn <loads@gmx.de>
This commit is contained in:
parent
96a23a2c10
commit
9c225340e2
1 changed files with 11 additions and 0 deletions
|
|
@ -39,6 +39,12 @@ public bool UpsertMany(List<ArtistMetadata> data)
|
|||
var existing = existingMetadata.SingleOrDefault(x => x.ForeignArtistId == meta.ForeignArtistId);
|
||||
if (existing != null)
|
||||
{
|
||||
if (IsPlaceholderData(meta) && !IsPlaceholderData(existing))
|
||||
{
|
||||
_logger.Warn($"Skipping metadata downgrade: {existing.Name} -> {meta.Name}, for artist {meta.ForeignArtistId}");
|
||||
continue;
|
||||
}
|
||||
|
||||
meta.UseDbFieldsFrom(existing);
|
||||
if (!meta.Equals(existing))
|
||||
{
|
||||
|
|
@ -62,5 +68,10 @@ public bool UpsertMany(List<ArtistMetadata> data)
|
|||
|
||||
return updateMetadataList.Count > 0 || addMetadataList.Count > 0;
|
||||
}
|
||||
|
||||
private static bool IsPlaceholderData(ArtistMetadata metadata) =>
|
||||
metadata.Name?.StartsWith("Unknown Artist", System.StringComparison.OrdinalIgnoreCase) != false ||
|
||||
metadata.Disambiguation == "Artist not found in database" ||
|
||||
metadata.Type == "Unknown";
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue