mirror of https://github.com/Radarr/Radarr
New: Add download client name to pending items waiting for a specific client
(cherry picked from commit 3cd4c67ba12cd5e8cc00d3df8929555fc0ad5918) Closes #9676
This commit is contained in:
parent
25b77eb4a2
commit
0ecb1d0706
|
@ -44,8 +44,10 @@ namespace NzbDrone.Core.Download.Pending
|
||||||
private readonly IDelayProfileService _delayProfileService;
|
private readonly IDelayProfileService _delayProfileService;
|
||||||
private readonly ITaskManager _taskManager;
|
private readonly ITaskManager _taskManager;
|
||||||
private readonly IConfigService _configService;
|
private readonly IConfigService _configService;
|
||||||
private readonly IRemoteMovieAggregationService _aggregationService;
|
|
||||||
private readonly ICustomFormatCalculationService _formatCalculator;
|
private readonly ICustomFormatCalculationService _formatCalculator;
|
||||||
|
private readonly IRemoteMovieAggregationService _aggregationService;
|
||||||
|
private readonly IDownloadClientFactory _downloadClientFactory;
|
||||||
|
private readonly IIndexerFactory _indexerFactory;
|
||||||
private readonly IEventAggregator _eventAggregator;
|
private readonly IEventAggregator _eventAggregator;
|
||||||
private readonly Logger _logger;
|
private readonly Logger _logger;
|
||||||
|
|
||||||
|
@ -56,8 +58,10 @@ namespace NzbDrone.Core.Download.Pending
|
||||||
IDelayProfileService delayProfileService,
|
IDelayProfileService delayProfileService,
|
||||||
ITaskManager taskManager,
|
ITaskManager taskManager,
|
||||||
IConfigService configService,
|
IConfigService configService,
|
||||||
IRemoteMovieAggregationService aggregationService,
|
|
||||||
ICustomFormatCalculationService formatCalculator,
|
ICustomFormatCalculationService formatCalculator,
|
||||||
|
IRemoteMovieAggregationService aggregationService,
|
||||||
|
IDownloadClientFactory downloadClientFactory,
|
||||||
|
IIndexerFactory indexerFactory,
|
||||||
IEventAggregator eventAggregator,
|
IEventAggregator eventAggregator,
|
||||||
Logger logger)
|
Logger logger)
|
||||||
{
|
{
|
||||||
|
@ -68,8 +72,10 @@ namespace NzbDrone.Core.Download.Pending
|
||||||
_delayProfileService = delayProfileService;
|
_delayProfileService = delayProfileService;
|
||||||
_taskManager = taskManager;
|
_taskManager = taskManager;
|
||||||
_configService = configService;
|
_configService = configService;
|
||||||
_aggregationService = aggregationService;
|
|
||||||
_formatCalculator = formatCalculator;
|
_formatCalculator = formatCalculator;
|
||||||
|
_aggregationService = aggregationService;
|
||||||
|
_downloadClientFactory = downloadClientFactory;
|
||||||
|
_indexerFactory = indexerFactory;
|
||||||
_eventAggregator = eventAggregator;
|
_eventAggregator = eventAggregator;
|
||||||
_logger = logger;
|
_logger = logger;
|
||||||
}
|
}
|
||||||
|
@ -101,9 +107,16 @@ namespace NzbDrone.Core.Download.Pending
|
||||||
|
|
||||||
if (matchingReport.Reason != reason)
|
if (matchingReport.Reason != reason)
|
||||||
{
|
{
|
||||||
_logger.Debug("The release {0} is already pending with reason {1}, changing to {2}", decision.RemoteMovie, matchingReport.Reason, reason);
|
if (matchingReport.Reason == PendingReleaseReason.DownloadClientUnavailable)
|
||||||
matchingReport.Reason = reason;
|
{
|
||||||
_repository.Update(matchingReport);
|
_logger.Debug("The release {0} is already pending with reason {1}, not changing reason", decision.RemoteMovie, matchingReport.Reason);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
_logger.Debug("The release {0} is already pending with reason {1}, changing to {2}", decision.RemoteMovie, matchingReport.Reason, reason);
|
||||||
|
matchingReport.Reason = reason;
|
||||||
|
_repository.Update(matchingReport);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -191,6 +204,16 @@ namespace NzbDrone.Core.Download.Pending
|
||||||
timeleft = TimeSpan.Zero;
|
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
|
var queue = new Queue.Queue
|
||||||
{
|
{
|
||||||
Id = GetQueueId(pendingRelease, pendingRelease.RemoteMovie.Movie),
|
Id = GetQueueId(pendingRelease, pendingRelease.RemoteMovie.Movie),
|
||||||
|
@ -206,7 +229,8 @@ namespace NzbDrone.Core.Download.Pending
|
||||||
Added = pendingRelease.Added,
|
Added = pendingRelease.Added,
|
||||||
Status = pendingRelease.Reason.ToString(),
|
Status = pendingRelease.Reason.ToString(),
|
||||||
Protocol = pendingRelease.RemoteMovie.Release.DownloadProtocol,
|
Protocol = pendingRelease.RemoteMovie.Release.DownloadProtocol,
|
||||||
Indexer = pendingRelease.RemoteMovie.Release.Indexer
|
Indexer = pendingRelease.RemoteMovie.Release.Indexer,
|
||||||
|
DownloadClient = downloadClientName
|
||||||
};
|
};
|
||||||
|
|
||||||
queued.Add(queue);
|
queued.Add(queue);
|
||||||
|
|
Loading…
Reference in New Issue