Fix ArtistMetadata overwrite during album refresh with bad data (#5591)

Co-authored-by: Meyn <loads@gmx.de>
This commit is contained in:
TypNull
2025-09-06 22:34:40 +00:00
committed by GitHub
parent 0e9aa53167
commit 485425a2dd
@@ -39,6 +39,12 @@ namespace NzbDrone.Core.Music
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 @@ namespace NzbDrone.Core.Music
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";
}
}