mirror of
https://github.com/Lidarr/Lidarr
synced 2025-12-06 08:25:54 +01:00
Fixed: Edited artist is reset after refresh
(cherry picked from commit 5193f01c8c6f5c90c757ee43a6ba2f9d1068fd74)
This commit is contained in:
parent
95089080f4
commit
4805dfc769
1 changed files with 15 additions and 9 deletions
|
|
@ -337,19 +337,23 @@ private void RescanArtists(List<Artist> artists, bool isNew, CommandTrigger trig
|
||||||
private void RefreshSelectedArtists(List<int> artistIds, bool isNew, CommandTrigger trigger)
|
private void RefreshSelectedArtists(List<int> artistIds, bool isNew, CommandTrigger trigger)
|
||||||
{
|
{
|
||||||
var updated = false;
|
var updated = false;
|
||||||
var artists = _artistService.GetArtists(artistIds);
|
var artists = new List<Artist>();
|
||||||
|
|
||||||
foreach (var artist in artists)
|
foreach (var artistId in artistIds)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
var artist = _artistService.GetArtist(artistId);
|
||||||
updated |= RefreshEntityInfo(artist, null, true, false, null);
|
updated |= RefreshEntityInfo(artist, null, true, false, null);
|
||||||
UpdateTags(artist);
|
UpdateTags(artist);
|
||||||
|
artists.Add(artist);
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
|
var artist = _artistService.GetArtist(artistId);
|
||||||
_logger.Error(e, "Couldn't refresh info for Artist '{0}' [{1}]", artist.Name, artist.ForeignArtistId);
|
_logger.Error(e, "Couldn't refresh info for Artist '{0}' [{1}]", artist.Name, artist.ForeignArtistId);
|
||||||
UpdateTags(artist);
|
UpdateTags(artist);
|
||||||
|
artists.Add(artist);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -418,27 +422,29 @@ public void Execute(RefreshArtistCommand message)
|
||||||
|
|
||||||
foreach (var artist in artists)
|
foreach (var artist in artists)
|
||||||
{
|
{
|
||||||
|
var artistLocal = artist;
|
||||||
var manualTrigger = message.Trigger == CommandTrigger.Manual;
|
var manualTrigger = message.Trigger == CommandTrigger.Manual;
|
||||||
|
|
||||||
if ((updatedMusicbrainzArtists == null && _checkIfArtistShouldBeRefreshed.ShouldRefresh(artist)) ||
|
if ((updatedMusicbrainzArtists == null && _checkIfArtistShouldBeRefreshed.ShouldRefresh(artistLocal)) ||
|
||||||
(updatedMusicbrainzArtists != null && updatedMusicbrainzArtists.Contains(artist.ForeignArtistId)) ||
|
(updatedMusicbrainzArtists != null && updatedMusicbrainzArtists.Contains(artistLocal.ForeignArtistId)) ||
|
||||||
manualTrigger)
|
manualTrigger)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
updated |= RefreshEntityInfo(artist, null, manualTrigger, false, message.LastStartTime);
|
artistLocal = _artistService.GetArtist(artistLocal.Id);
|
||||||
|
updated |= RefreshEntityInfo(artistLocal, null, manualTrigger, false, message.LastStartTime);
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
_logger.Error(e, "Couldn't refresh info for Artist '{0}' [{1}]", artist.Name, artist.ForeignArtistId);
|
_logger.Error(e, "Couldn't refresh info for Artist '{0}' [{1}]", artistLocal.Name, artistLocal.ForeignArtistId);
|
||||||
}
|
}
|
||||||
|
|
||||||
UpdateTags(artist);
|
UpdateTags(artistLocal);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
_logger.Info("Skipping refresh of Artist '{0}' [{1}]", artist.Name, artist.ForeignArtistId);
|
_logger.Info("Skipping refresh of Artist '{0}' [{1}]", artistLocal.Name, artistLocal.ForeignArtistId);
|
||||||
UpdateTags(artist);
|
UpdateTags(artistLocal);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue