mirror of
https://github.com/lidarr/lidarr.git
synced 2025-08-21 05:53:33 -07:00
Changed: Force album refresh when artist refresh manually triggered (#374)
* Force album refresh when artist refresh manually triggered * Refresh albums on single artist refresh
This commit is contained in:
parent
d15d5ae6ba
commit
d7d4f62737
3 changed files with 11 additions and 10 deletions
|
@ -59,7 +59,7 @@ namespace NzbDrone.Core.Test.MusicTests
|
|||
[Test]
|
||||
public void should_log_error_if_musicbrainz_id_not_found()
|
||||
{
|
||||
Subject.RefreshAlbumInfo(_albums);
|
||||
Subject.RefreshAlbumInfo(_albums, false);
|
||||
|
||||
Mocker.GetMock<IAlbumService>()
|
||||
.Verify(v => v.UpdateMany(It.IsAny<List<Album>>()), Times.Never());
|
||||
|
@ -75,7 +75,7 @@ namespace NzbDrone.Core.Test.MusicTests
|
|||
|
||||
GivenNewAlbumInfo(newAlbumInfo);
|
||||
|
||||
Subject.RefreshAlbumInfo(_albums);
|
||||
Subject.RefreshAlbumInfo(_albums, false);
|
||||
|
||||
Mocker.GetMock<IAlbumService>()
|
||||
.Verify(v => v.UpdateMany(It.Is<List<Album>>(s => s.First().ForeignAlbumId == newAlbumInfo.ForeignAlbumId)));
|
||||
|
|
|
@ -20,7 +20,7 @@ namespace NzbDrone.Core.Music
|
|||
public interface IRefreshAlbumService
|
||||
{
|
||||
void RefreshAlbumInfo(Album album);
|
||||
void RefreshAlbumInfo(List<Album> albums);
|
||||
void RefreshAlbumInfo(List<Album> albums, bool forceAlbumRefresh);
|
||||
}
|
||||
|
||||
public class RefreshAlbumService : IRefreshAlbumService, IExecute<RefreshAlbumCommand>
|
||||
|
@ -50,11 +50,11 @@ namespace NzbDrone.Core.Music
|
|||
_logger = logger;
|
||||
}
|
||||
|
||||
public void RefreshAlbumInfo(List<Album> albums)
|
||||
public void RefreshAlbumInfo(List<Album> albums, bool forceAlbumRefresh)
|
||||
{
|
||||
foreach (var album in albums)
|
||||
{
|
||||
if (_checkIfAlbumShouldBeRefreshed.ShouldRefresh(album))
|
||||
if (forceAlbumRefresh || _checkIfAlbumShouldBeRefreshed.ShouldRefresh(album))
|
||||
{
|
||||
RefreshAlbumInfo(album);
|
||||
}
|
||||
|
|
|
@ -52,7 +52,7 @@ namespace NzbDrone.Core.Music
|
|||
_logger = logger;
|
||||
}
|
||||
|
||||
private void RefreshArtistInfo(Artist artist)
|
||||
private void RefreshArtistInfo(Artist artist, bool forceAlbumRefresh)
|
||||
{
|
||||
_logger.ProgressInfo("Updating Info for {0}", artist.Name);
|
||||
|
||||
|
@ -131,7 +131,7 @@ namespace NzbDrone.Core.Music
|
|||
|
||||
_addAlbumService.AddAlbums(newAlbumsList);
|
||||
|
||||
_refreshAlbumService.RefreshAlbumInfo(updateAlbumsList);
|
||||
_refreshAlbumService.RefreshAlbumInfo(updateAlbumsList, forceAlbumRefresh);
|
||||
|
||||
_albumService.DeleteMany(existingAlbums);
|
||||
|
||||
|
@ -160,7 +160,7 @@ namespace NzbDrone.Core.Music
|
|||
if (message.ArtistId.HasValue)
|
||||
{
|
||||
var artist = _artistService.GetArtist(message.ArtistId.Value);
|
||||
RefreshArtistInfo(artist);
|
||||
RefreshArtistInfo(artist, true);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -168,11 +168,12 @@ namespace NzbDrone.Core.Music
|
|||
|
||||
foreach (var artist in allArtists)
|
||||
{
|
||||
if (message.Trigger == CommandTrigger.Manual || _checkIfArtistShouldBeRefreshed.ShouldRefresh(artist))
|
||||
var manualTrigger = message.Trigger == CommandTrigger.Manual;
|
||||
if (manualTrigger || _checkIfArtistShouldBeRefreshed.ShouldRefresh(artist))
|
||||
{
|
||||
try
|
||||
{
|
||||
RefreshArtistInfo(artist);
|
||||
RefreshArtistInfo(artist, manualTrigger);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue