Skip to content

Commit

Permalink
New: Add download client name to pending items waiting for a specific…
Browse files Browse the repository at this point in the history
… client

(cherry picked from commit 3cd4c67ba12cd5e8cc00d3df8929555fc0ad5918)

Closes #4504
  • Loading branch information
markus101 authored and mynameisbogdan committed Jan 23, 2024
1 parent fdc6526 commit 7ff23cc
Showing 1 changed file with 28 additions and 4 deletions.
32 changes: 28 additions & 4 deletions src/NzbDrone.Core/Download/Pending/PendingReleaseService.cs
Expand Up @@ -46,6 +46,8 @@ public class PendingReleaseService : IPendingReleaseService,
private readonly IConfigService _configService;
private readonly ICustomFormatCalculationService _formatCalculator;
private readonly IRemoteAlbumAggregationService _aggregationService;
private readonly IDownloadClientFactory _downloadClientFactory;
private readonly IIndexerFactory _indexerFactory;
private readonly IEventAggregator _eventAggregator;
private readonly Logger _logger;

Expand All @@ -58,6 +60,8 @@ public class PendingReleaseService : IPendingReleaseService,
IConfigService configService,
ICustomFormatCalculationService formatCalculator,
IRemoteAlbumAggregationService aggregationService,
IDownloadClientFactory downloadClientFactory,
IIndexerFactory indexerFactory,
IEventAggregator eventAggregator,
Logger logger)
{
Expand All @@ -70,6 +74,8 @@ public class PendingReleaseService : IPendingReleaseService,
_configService = configService;
_formatCalculator = formatCalculator;
_aggregationService = aggregationService;
_downloadClientFactory = downloadClientFactory;
_indexerFactory = indexerFactory;
_eventAggregator = eventAggregator;
_logger = logger;
}
Expand Down Expand Up @@ -107,9 +113,16 @@ public void AddMany(List<Tuple<DownloadDecision, PendingReleaseReason>> decision

if (matchingReport.Reason != reason)
{
_logger.Debug("The release {0} is already pending with reason {1}, changing to {2}", decision.RemoteAlbum, matchingReport.Reason, reason);
matchingReport.Reason = reason;
_repository.Update(matchingReport);
if (matchingReport.Reason == PendingReleaseReason.DownloadClientUnavailable)
{
_logger.Debug("The release {0} is already pending with reason {1}, not changing reason", decision.RemoteAlbum, matchingReport.Reason);
}
else
{
_logger.Debug("The release {0} is already pending with reason {1}, changing to {2}", decision.RemoteAlbum, matchingReport.Reason, reason);
matchingReport.Reason = reason;
_repository.Update(matchingReport);
}
}
else
{
Expand Down Expand Up @@ -190,6 +203,16 @@ public List<Queue.Queue> GetPendingQueue()
timeleft = TimeSpan.Zero;
}

string downloadClientName = null;
var indexer = _indexerFactory.Find(pendingRelease.Release.IndexerId);

if (indexer is { DownloadClientId: > 0 })
{
var downloadClient = _downloadClientFactory.Find(indexer.DownloadClientId);

downloadClientName = downloadClient?.Name;
}

var queue = new Queue.Queue
{
Id = GetQueueId(pendingRelease, album),
Expand All @@ -205,7 +228,8 @@ public List<Queue.Queue> GetPendingQueue()
Added = pendingRelease.Added,
Status = pendingRelease.Reason.ToString(),
Protocol = pendingRelease.RemoteAlbum.Release.DownloadProtocol,
Indexer = pendingRelease.RemoteAlbum.Release.Indexer
Indexer = pendingRelease.RemoteAlbum.Release.Indexer,
DownloadClient = downloadClientName
};

queued.Add(queue);
Expand Down

0 comments on commit 7ff23cc

Please sign in to comment.