diff --git a/src/NzbDrone.Core/MediaFiles/Events/MovieScanSkippedEvent.cs b/src/NzbDrone.Core/MediaFiles/Events/MovieScanSkippedEvent.cs index 1483c909e..c16b5ddbb 100644 --- a/src/NzbDrone.Core/MediaFiles/Events/MovieScanSkippedEvent.cs +++ b/src/NzbDrone.Core/MediaFiles/Events/MovieScanSkippedEvent.cs @@ -1,4 +1,4 @@ -using NzbDrone.Common.Messaging; +using NzbDrone.Common.Messaging; using NzbDrone.Core.Movies; namespace NzbDrone.Core.MediaFiles.Events @@ -19,6 +19,8 @@ public enum MovieScanSkippedReason { RootFolderDoesNotExist, RootFolderIsEmpty, - MovieFolderDoesNotExist + MovieFolderDoesNotExist, + NeverRescanAfterRefresh, + RescanAfterManualRefreshOnly } } diff --git a/src/NzbDrone.Core/Movies/RefreshMovieService.cs b/src/NzbDrone.Core/Movies/RefreshMovieService.cs index bb576b1b0..2416e1a83 100644 --- a/src/NzbDrone.Core/Movies/RefreshMovieService.cs +++ b/src/NzbDrone.Core/Movies/RefreshMovieService.cs @@ -7,6 +7,7 @@ using NzbDrone.Core.Configuration; using NzbDrone.Core.Exceptions; using NzbDrone.Core.MediaFiles; +using NzbDrone.Core.MediaFiles.Events; using NzbDrone.Core.Messaging.Commands; using NzbDrone.Core.Messaging.Events; using NzbDrone.Core.MetadataSource; @@ -172,26 +173,23 @@ private Movie RefreshMovieInfo(int movieId) private void RescanMovie(Movie movie, bool isNew, CommandTrigger trigger) { var rescanAfterRefresh = _configService.RescanAfterRefresh; - var shouldRescan = true; if (isNew) { _logger.Trace("Forcing rescan of {0}. Reason: New movie", movie); - shouldRescan = true; } else if (rescanAfterRefresh == RescanAfterRefreshType.Never) { _logger.Trace("Skipping rescan of {0}. Reason: Never rescan after refresh", movie); - shouldRescan = false; + _eventAggregator.PublishEvent(new MovieScanSkippedEvent(movie, MovieScanSkippedReason.NeverRescanAfterRefresh)); + + return; } else if (rescanAfterRefresh == RescanAfterRefreshType.AfterManual && trigger != CommandTrigger.Manual) { _logger.Trace("Skipping rescan of {0}. Reason: Not after automatic scans", movie); - shouldRescan = false; - } + _eventAggregator.PublishEvent(new MovieScanSkippedEvent(movie, MovieScanSkippedReason.RescanAfterManualRefreshOnly)); - if (!shouldRescan) - { return; }