mirror of
https://github.com/Readarr/Readarr
synced 2026-01-16 04:23:26 +01:00
Fixed: Remove seeded downloads if they've finished seeding after import
This commit is contained in:
parent
fed67044f0
commit
8dbd006978
3 changed files with 21 additions and 2 deletions
|
|
@ -1,4 +1,4 @@
|
|||
using NzbDrone.Common.Messaging;
|
||||
using NzbDrone.Common.Messaging;
|
||||
using NzbDrone.Core.Download.TrackedDownloads;
|
||||
|
||||
namespace NzbDrone.Core.Download
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
|
||||
namespace NzbDrone.Core.Download
|
||||
{
|
||||
[DebuggerDisplay("{DownloadClientName}:{Title}")]
|
||||
[DebuggerDisplay("{DownloadClientInfo?.Name}:{Title}")]
|
||||
public class DownloadClientItem
|
||||
{
|
||||
public DownloadClientItemClientInfo DownloadClientInfo { get; set; }
|
||||
|
|
|
|||
|
|
@ -32,9 +32,18 @@ public DownloadProcessingService(IConfigService configService,
|
|||
_logger = logger;
|
||||
}
|
||||
|
||||
private void RemoveCompletedDownloads(List<TrackedDownload> trackedDownloads)
|
||||
{
|
||||
foreach (var trackedDownload in trackedDownloads.Where(c => c.DownloadItem.CanBeRemoved && c.State == TrackedDownloadState.Imported))
|
||||
{
|
||||
_eventAggregator.PublishEvent(new DownloadCompletedEvent(trackedDownload));
|
||||
}
|
||||
}
|
||||
|
||||
public void Execute(ProcessMonitoredDownloadsCommand message)
|
||||
{
|
||||
var enableCompletedDownloadHandling = _configService.EnableCompletedDownloadHandling;
|
||||
var removeCompletedDownloads = _configService.RemoveCompletedDownloads;
|
||||
var trackedDownloads = _trackedDownloadService.GetTrackedDownloads()
|
||||
.Where(t => t.IsTrackable)
|
||||
.ToList();
|
||||
|
|
@ -46,10 +55,20 @@ public void Execute(ProcessMonitoredDownloadsCommand message)
|
|||
if (trackedDownload.State == TrackedDownloadState.DownloadFailedPending)
|
||||
{
|
||||
_failedDownloadService.ProcessFailed(trackedDownload);
|
||||
continue;
|
||||
}
|
||||
else if (enableCompletedDownloadHandling && trackedDownload.State == TrackedDownloadState.ImportPending)
|
||||
{
|
||||
_completedDownloadService.Import(trackedDownload);
|
||||
continue;
|
||||
}
|
||||
|
||||
if (removeCompletedDownloads &&
|
||||
trackedDownload.DownloadItem.Removed &&
|
||||
trackedDownload.DownloadItem.CanBeRemoved &&
|
||||
trackedDownload.State == TrackedDownloadState.Imported)
|
||||
{
|
||||
_eventAggregator.PublishEvent(new DownloadCanBeRemovedEvent(trackedDownload));
|
||||
}
|
||||
}
|
||||
catch (Exception e)
|
||||
|
|
|
|||
Loading…
Reference in a new issue