mirror of
https://github.com/Sonarr/Sonarr
synced 2025-12-06 08:28:37 +01:00
Fixed: Improve rejected download handling
This commit is contained in:
parent
6f1fc1686f
commit
7193acb5ee
1 changed files with 7 additions and 2 deletions
|
|
@ -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 bool Process(TrackedDownload trackedDownload, ImportResult importResult)
|
||||||
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
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue