mirror of
https://github.com/Prowlarr/Prowlarr.git
synced 2025-09-17 17:14:18 +02:00
Use DownloadClientIds to find matching series/episodes instead of relying solely on release name
Fixed: Show a warning in Queue when drone is unable to import due to a name mismatch Fixed: Better UI messages for Queue when there is an error or warning
This commit is contained in:
@@ -28,33 +28,30 @@ namespace NzbDrone.Core.Queue
|
||||
return MapQueue(queueItems);
|
||||
}
|
||||
|
||||
private List<Queue> MapQueue(IEnumerable<TrackedDownload> queueItems)
|
||||
private List<Queue> MapQueue(IEnumerable<TrackedDownload> trackedDownloads)
|
||||
{
|
||||
var queued = new List<Queue>();
|
||||
|
||||
foreach (var queueItem in queueItems)
|
||||
foreach (var trackedDownload in trackedDownloads)
|
||||
{
|
||||
foreach (var episode in queueItem.DownloadItem.RemoteEpisode.Episodes)
|
||||
foreach (var episode in trackedDownload.RemoteEpisode.Episodes)
|
||||
{
|
||||
var queue = new Queue
|
||||
{
|
||||
Id = episode.Id ^ (queueItem.DownloadItem.DownloadClientId.GetHashCode().GetHashCode() << 16),
|
||||
Series = queueItem.DownloadItem.RemoteEpisode.Series,
|
||||
Id = episode.Id ^ (trackedDownload.DownloadItem.DownloadClientId.GetHashCode().GetHashCode() << 16),
|
||||
Series = trackedDownload.RemoteEpisode.Series,
|
||||
Episode = episode,
|
||||
Quality = queueItem.DownloadItem.RemoteEpisode.ParsedEpisodeInfo.Quality,
|
||||
Title = queueItem.DownloadItem.Title,
|
||||
Size = queueItem.DownloadItem.TotalSize,
|
||||
Sizeleft = queueItem.DownloadItem.RemainingSize,
|
||||
Timeleft = queueItem.DownloadItem.RemainingTime,
|
||||
Status = queueItem.DownloadItem.Status.ToString(),
|
||||
RemoteEpisode = queueItem.DownloadItem.RemoteEpisode
|
||||
Quality = trackedDownload.RemoteEpisode.ParsedEpisodeInfo.Quality,
|
||||
Title = trackedDownload.DownloadItem.Title,
|
||||
Size = trackedDownload.DownloadItem.TotalSize,
|
||||
Sizeleft = trackedDownload.DownloadItem.RemainingSize,
|
||||
Timeleft = trackedDownload.DownloadItem.RemainingTime,
|
||||
Status = trackedDownload.DownloadItem.Status.ToString(),
|
||||
RemoteEpisode = trackedDownload.RemoteEpisode,
|
||||
TrackedDownloadStatus = trackedDownload.Status.ToString(),
|
||||
StatusMessages = trackedDownload.StatusMessages
|
||||
};
|
||||
|
||||
if (queueItem.HasError)
|
||||
{
|
||||
queue.ErrorMessage = queueItem.StatusMessage;
|
||||
}
|
||||
|
||||
if (queue.Timeleft.HasValue)
|
||||
{
|
||||
queue.EstimatedCompletionTime = DateTime.UtcNow.Add(queue.Timeleft.Value);
|
||||
|
Reference in New Issue
Block a user