From 7cfa16a10b3933eaca878242712f2dc6a82bb3d9 Mon Sep 17 00:00:00 2001 From: bakerboy448 <55419169+bakerboy448@users.noreply.github.com> Date: Wed, 25 Nov 2020 18:51:22 -0600 Subject: [PATCH] Fixed: List Import no longer fails due to duplicates Closes Sonarr/Sonarr#4100 (cherry picked from commit 19ff7bdc3050a83a7e30140e2c2c89c4dfba5f84) --- src/NzbDrone.Core/Music/Services/AddArtistService.cs | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/NzbDrone.Core/Music/Services/AddArtistService.cs b/src/NzbDrone.Core/Music/Services/AddArtistService.cs index 2b484902e..872284ca4 100644 --- a/src/NzbDrone.Core/Music/Services/AddArtistService.cs +++ b/src/NzbDrone.Core/Music/Services/AddArtistService.cs @@ -67,6 +67,7 @@ public List AddArtists(List newArtists, bool doRefresh = true, b { var added = DateTime.UtcNow; var artistsToAdd = new List(); + var existingArtists = _artistService.GetAllArtists(); foreach (var s in newArtists) { @@ -84,6 +85,11 @@ public List AddArtists(List newArtists, bool doRefresh = true, b var artist = AddSkyhookData(s); artist = SetPropertiesAndValidate(artist); artist.Added = added; + if (existingArtists.Any(f => f.ForeignArtistId == artist.ForeignArtistId)) + { + _logger.Debug("Musicbrainz ID {0} was not added due to validation failure: Artist already exists in database", s.ForeignArtistId); + continue; + } if (artistsToAdd.Any(f => f.ForeignArtistId == artist.ForeignArtistId)) { _logger.Debug("Musicbrainz ID {0} was not added due to validation failure: Artist already exists on list", s.ForeignArtistId);