Fixed: Allow downloading any search result (#525)

* Allow downloading any search result

Ones that couldn't be parsed get a red icon

* Not required - initialized to false

* Add a warning the the queue page for manual downloads
This commit is contained in:
ta264
2018-11-11 05:38:38 +00:00
committed by Qstick
parent eedaa2a7b8
commit c98b86b413
12 changed files with 62 additions and 17 deletions

View File

@@ -3,6 +3,7 @@ using System.Collections.Generic;
using System.Linq;
using NzbDrone.Common.Crypto;
using NzbDrone.Core.Download.TrackedDownloads;
using NzbDrone.Core.History;
using NzbDrone.Core.Messaging.Events;
using NzbDrone.Core.Music;
@@ -19,10 +20,13 @@ namespace NzbDrone.Core.Queue
{
private readonly IEventAggregator _eventAggregator;
private static List<Queue> _queue = new List<Queue>();
private readonly IHistoryService _historyService;
public QueueService(IEventAggregator eventAggregator)
public QueueService(IEventAggregator eventAggregator,
IHistoryService historyService)
{
_eventAggregator = eventAggregator;
_historyService = historyService;
}
public List<Queue> GetQueue()
@@ -65,6 +69,13 @@ namespace NzbDrone.Core.Queue
private Queue MapAlbum(TrackedDownload trackedDownload, Album album)
{
bool downloadForced = false;
var history = _historyService.Find(trackedDownload.DownloadItem.DownloadId, HistoryEventType.Grabbed).FirstOrDefault();
if (history != null && history.Data.ContainsKey("downloadForced"))
{
downloadForced = bool.Parse(history.Data["downloadForced"]);
}
var queue = new Queue
{
Id = HashConverter.GetHashInt31(string.Format("trackedDownload-{0}-album{1}", trackedDownload.DownloadItem.DownloadId, album.Id)),
@@ -83,7 +94,8 @@ namespace NzbDrone.Core.Queue
DownloadId = trackedDownload.DownloadItem.DownloadId,
Protocol = trackedDownload.Protocol,
DownloadClient = trackedDownload.DownloadItem.DownloadClient,
Indexer = trackedDownload.Indexer
Indexer = trackedDownload.Indexer,
DownloadForced = downloadForced
};
if (queue.Timeleft.HasValue)