From 00ab449ebeb53893b8d4c939e072451845a4d69e Mon Sep 17 00:00:00 2001 From: Mark McDowall Date: Thu, 11 Aug 2022 17:27:49 -0700 Subject: [PATCH] Fixed: Search for newly added episodes if disk rescanning is disabled after refresh --- .../MediaFiles/Events/SeriesScanSkippedEvent.cs | 6 ++++-- src/NzbDrone.Core/Tv/RefreshSeriesService.cs | 12 +++++------- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/NzbDrone.Core/MediaFiles/Events/SeriesScanSkippedEvent.cs b/src/NzbDrone.Core/MediaFiles/Events/SeriesScanSkippedEvent.cs index 765207bd5..a1e3d0bb5 100644 --- a/src/NzbDrone.Core/MediaFiles/Events/SeriesScanSkippedEvent.cs +++ b/src/NzbDrone.Core/MediaFiles/Events/SeriesScanSkippedEvent.cs @@ -1,4 +1,4 @@ -using NzbDrone.Common.Messaging; +using NzbDrone.Common.Messaging; using NzbDrone.Core.Tv; namespace NzbDrone.Core.MediaFiles.Events @@ -18,6 +18,8 @@ namespace NzbDrone.Core.MediaFiles.Events public enum SeriesScanSkippedReason { RootFolderDoesNotExist, - RootFolderIsEmpty + RootFolderIsEmpty, + NeverRescanAfterRefresh, + RescanAfterManualRefreshOnly } } diff --git a/src/NzbDrone.Core/Tv/RefreshSeriesService.cs b/src/NzbDrone.Core/Tv/RefreshSeriesService.cs index 7ef62f68e..f34ae0c21 100644 --- a/src/NzbDrone.Core/Tv/RefreshSeriesService.cs +++ b/src/NzbDrone.Core/Tv/RefreshSeriesService.cs @@ -8,6 +8,7 @@ using NzbDrone.Common.Instrumentation.Extensions; 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; @@ -157,26 +158,23 @@ namespace NzbDrone.Core.Tv private void RescanSeries(Series series, bool isNew, CommandTrigger trigger) { var rescanAfterRefresh = _configService.RescanAfterRefresh; - var shouldRescan = true; if (isNew) { _logger.Trace("Forcing rescan of {0}. Reason: New series", series); - shouldRescan = true; } else if (rescanAfterRefresh == RescanAfterRefreshType.Never) { _logger.Trace("Skipping rescan of {0}. Reason: never rescan after refresh", series); - shouldRescan = false; + _eventAggregator.PublishEvent(new SeriesScanSkippedEvent(series, SeriesScanSkippedReason.NeverRescanAfterRefresh)); + + return; } else if (rescanAfterRefresh == RescanAfterRefreshType.AfterManual && trigger != CommandTrigger.Manual) { _logger.Trace("Skipping rescan of {0}. Reason: not after automatic scans", series); - shouldRescan = false; - } + _eventAggregator.PublishEvent(new SeriesScanSkippedEvent(series, SeriesScanSkippedReason.RescanAfterManualRefreshOnly)); - if (!shouldRescan) - { return; }