mirror of
https://github.com/Sonarr/Sonarr.git
synced 2026-03-05 13:20:20 -05:00
Fixed: Improve rejected download handling
This commit is contained in:
committed by
Mark McDowall
parent
6f1fc1686f
commit
7193acb5ee
@@ -1,4 +1,5 @@
|
|||||||
using System.Linq;
|
using System.Linq;
|
||||||
|
using NLog;
|
||||||
using NzbDrone.Core.Download.TrackedDownloads;
|
using NzbDrone.Core.Download.TrackedDownloads;
|
||||||
using NzbDrone.Core.Indexers;
|
using NzbDrone.Core.Indexers;
|
||||||
using NzbDrone.Core.MediaFiles.EpisodeImport;
|
using NzbDrone.Core.MediaFiles.EpisodeImport;
|
||||||
@@ -13,15 +14,17 @@ public interface IRejectedImportService
|
|||||||
public class RejectedImportService : IRejectedImportService
|
public class RejectedImportService : IRejectedImportService
|
||||||
{
|
{
|
||||||
private readonly ICachedIndexerSettingsProvider _cachedIndexerSettingsProvider;
|
private readonly ICachedIndexerSettingsProvider _cachedIndexerSettingsProvider;
|
||||||
|
private readonly Logger _logger;
|
||||||
|
|
||||||
public RejectedImportService(ICachedIndexerSettingsProvider cachedIndexerSettingsProvider)
|
public RejectedImportService(ICachedIndexerSettingsProvider cachedIndexerSettingsProvider, Logger logger)
|
||||||
{
|
{
|
||||||
_cachedIndexerSettingsProvider = cachedIndexerSettingsProvider;
|
_cachedIndexerSettingsProvider = cachedIndexerSettingsProvider;
|
||||||
|
_logger = logger;
|
||||||
}
|
}
|
||||||
|
|
||||||
public bool Process(TrackedDownload trackedDownload, ImportResult importResult)
|
public bool Process(TrackedDownload trackedDownload, ImportResult importResult)
|
||||||
{
|
{
|
||||||
if (importResult.Result != ImportResultType.Rejected || importResult.ImportDecision.LocalEpisode == null || trackedDownload.RemoteEpisode?.Release == null)
|
if (importResult.Result != ImportResultType.Rejected || trackedDownload.RemoteEpisode?.Release == null)
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@@ -38,11 +41,13 @@ public class RejectedImportService : IRejectedImportService
|
|||||||
if (rejectionReason == ImportRejectionReason.DangerousFile &&
|
if (rejectionReason == ImportRejectionReason.DangerousFile &&
|
||||||
indexerSettings.FailDownloads.Contains(FailDownloads.PotentiallyDangerous))
|
indexerSettings.FailDownloads.Contains(FailDownloads.PotentiallyDangerous))
|
||||||
{
|
{
|
||||||
|
_logger.Trace("Download '{0}' contains potentially dangerous file, marking as failed", trackedDownload.DownloadItem.Title);
|
||||||
trackedDownload.Fail();
|
trackedDownload.Fail();
|
||||||
}
|
}
|
||||||
else if (rejectionReason == ImportRejectionReason.ExecutableFile &&
|
else if (rejectionReason == ImportRejectionReason.ExecutableFile &&
|
||||||
indexerSettings.FailDownloads.Contains(FailDownloads.Executables))
|
indexerSettings.FailDownloads.Contains(FailDownloads.Executables))
|
||||||
{
|
{
|
||||||
|
_logger.Trace("Download '{0}' contains executable file, marking as failed", trackedDownload.DownloadItem.Title);
|
||||||
trackedDownload.Fail();
|
trackedDownload.Fail();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|||||||
Reference in New Issue
Block a user