Added the ability to skip redownload when marking an item as failed in the activity queue
This commit is contained in:
parent
2cce6af436
commit
9c79fc3267
|
@ -49,7 +49,7 @@ class RemoveQueueItemModal extends Component {
|
|||
this.setState({ blocklist: value });
|
||||
};
|
||||
|
||||
onSkipReDownloadChange = ({ value }) => {
|
||||
onSkipRedownloadChange = ({ value }) => {
|
||||
this.setState({ skipredownload: value });
|
||||
};
|
||||
|
||||
|
|
|
@ -50,7 +50,7 @@ class RemoveQueueItemsModal extends Component {
|
|||
this.setState({ blocklist: value });
|
||||
};
|
||||
|
||||
onSkipReDownloadChange = ({ value }) => {
|
||||
onSkipRedownloadChange = ({ value }) => {
|
||||
this.setState({ skipredownload: value });
|
||||
};
|
||||
|
||||
|
|
|
@ -23,6 +23,6 @@ namespace NzbDrone.Core.Download
|
|||
public Dictionary<string, string> Data { get; set; }
|
||||
public TrackedDownload TrackedDownload { get; set; }
|
||||
public List<Language> Languages { get; set; }
|
||||
public bool SkipReDownload { get; set; }
|
||||
public bool SkipRedownload { get; set; }
|
||||
}
|
||||
}
|
||||
|
|
|
@ -9,8 +9,8 @@ namespace NzbDrone.Core.Download
|
|||
{
|
||||
public interface IFailedDownloadService
|
||||
{
|
||||
void MarkAsFailed(int historyId, bool skipReDownload = false);
|
||||
void MarkAsFailed(string downloadId, bool skipReDownload = false);
|
||||
void MarkAsFailed(int historyId, bool skipRedownload = false);
|
||||
void MarkAsFailed(string downloadId, bool skipRedownload = false);
|
||||
void Check(TrackedDownload trackedDownload);
|
||||
void ProcessFailed(TrackedDownload trackedDownload);
|
||||
}
|
||||
|
@ -30,14 +30,14 @@ namespace NzbDrone.Core.Download
|
|||
_eventAggregator = eventAggregator;
|
||||
}
|
||||
|
||||
public void MarkAsFailed(int historyId, bool skipReDownload = false)
|
||||
public void MarkAsFailed(int historyId, bool skipRedownload = false)
|
||||
{
|
||||
var history = _historyService.Get(historyId);
|
||||
|
||||
var downloadId = history.DownloadId;
|
||||
if (downloadId.IsNullOrWhiteSpace())
|
||||
{
|
||||
PublishDownloadFailedEvent(new List<EpisodeHistory> { history }, "Manually marked as failed", skipReDownload: skipReDownload);
|
||||
PublishDownloadFailedEvent(new List<EpisodeHistory> { history }, "Manually marked as failed", skipRedownload: skipRedownload);
|
||||
|
||||
return;
|
||||
}
|
||||
|
@ -57,7 +57,7 @@ namespace NzbDrone.Core.Download
|
|||
PublishDownloadFailedEvent(grabbedHistory, "Manually marked as failed");
|
||||
}
|
||||
|
||||
public void MarkAsFailed(string downloadId, bool skipReDownload = false)
|
||||
public void MarkAsFailed(string downloadId, bool skipRedownload = false)
|
||||
{
|
||||
var history = _historyService.Find(downloadId, EpisodeHistoryEventType.Grabbed);
|
||||
|
||||
|
@ -65,7 +65,7 @@ namespace NzbDrone.Core.Download
|
|||
{
|
||||
var trackedDownload = _trackedDownloadService.Find(downloadId);
|
||||
|
||||
PublishDownloadFailedEvent(history, "Manually marked as failed", trackedDownload, skipReDownload: skipReDownload);
|
||||
PublishDownloadFailedEvent(history, "Manually marked as failed", trackedDownload, skipRedownload: skipRedownload);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -125,7 +125,7 @@ namespace NzbDrone.Core.Download
|
|||
PublishDownloadFailedEvent(grabbedItems, failure, trackedDownload);
|
||||
}
|
||||
|
||||
private void PublishDownloadFailedEvent(List<EpisodeHistory> historyItems, string message, TrackedDownload trackedDownload = null, bool skipReDownload = false)
|
||||
private void PublishDownloadFailedEvent(List<EpisodeHistory> historyItems, string message, TrackedDownload trackedDownload = null, bool skipRedownload = false)
|
||||
{
|
||||
var historyItem = historyItems.First();
|
||||
|
||||
|
@ -141,7 +141,7 @@ namespace NzbDrone.Core.Download
|
|||
Data = historyItem.Data,
|
||||
TrackedDownload = trackedDownload,
|
||||
Languages = historyItem.Languages,
|
||||
SkipReDownload = skipReDownload
|
||||
SkipRedownload = skipRedownload
|
||||
};
|
||||
|
||||
_eventAggregator.PublishEvent(downloadFailedEvent);
|
||||
|
|
|
@ -30,7 +30,7 @@ namespace NzbDrone.Core.Download
|
|||
[EventHandleOrder(EventHandleOrder.Last)]
|
||||
public void Handle(DownloadFailedEvent message)
|
||||
{
|
||||
if (message.SkipReDownload)
|
||||
if (message.SkipRedownload)
|
||||
{
|
||||
_logger.Debug("Skip redownloading requested by user");
|
||||
return;
|
||||
|
|
|
@ -70,7 +70,7 @@ namespace Sonarr.Api.V3.Queue
|
|||
}
|
||||
|
||||
[RestDeleteById]
|
||||
public void RemoveAction(int id, bool removeFromClient = true, bool blocklist = false, bool skipReDownload = false)
|
||||
public void RemoveAction(int id, bool removeFromClient = true, bool blocklist = false, bool skipRedownload = false)
|
||||
{
|
||||
var pendingRelease = _pendingReleaseService.FindPendingQueueItem(id);
|
||||
|
||||
|
@ -88,12 +88,12 @@ namespace Sonarr.Api.V3.Queue
|
|||
throw new NotFoundException();
|
||||
}
|
||||
|
||||
Remove(trackedDownload, removeFromClient, blocklist, skipReDownload);
|
||||
Remove(trackedDownload, removeFromClient, blocklist, skipRedownload);
|
||||
_trackedDownloadService.StopTracking(trackedDownload.DownloadItem.DownloadId);
|
||||
}
|
||||
|
||||
[HttpDelete("bulk")]
|
||||
public object RemoveMany([FromBody] QueueBulkResource resource, [FromQuery] bool removeFromClient = true, [FromQuery] bool blocklist = false, [FromQuery] bool skipReDownload = false)
|
||||
public object RemoveMany([FromBody] QueueBulkResource resource, [FromQuery] bool removeFromClient = true, [FromQuery] bool blocklist = false, [FromQuery] bool skipRedownload = false)
|
||||
{
|
||||
var trackedDownloadIds = new List<string>();
|
||||
var pendingToRemove = new List<NzbDrone.Core.Queue.Queue>();
|
||||
|
@ -124,7 +124,7 @@ namespace Sonarr.Api.V3.Queue
|
|||
|
||||
foreach (var trackedDownload in trackedToRemove.DistinctBy(t => t.DownloadItem.DownloadId))
|
||||
{
|
||||
Remove(trackedDownload, removeFromClient, blocklist, skipReDownload);
|
||||
Remove(trackedDownload, removeFromClient, blocklist, skipRedownload);
|
||||
trackedDownloadIds.Add(trackedDownload.DownloadItem.DownloadId);
|
||||
}
|
||||
|
||||
|
@ -255,7 +255,7 @@ namespace Sonarr.Api.V3.Queue
|
|||
_pendingReleaseService.RemovePendingQueueItems(pendingRelease.Id);
|
||||
}
|
||||
|
||||
private TrackedDownload Remove(TrackedDownload trackedDownload, bool removeFromClient, bool blocklist, bool skipReDownload)
|
||||
private TrackedDownload Remove(TrackedDownload trackedDownload, bool removeFromClient, bool blocklist, bool skipRedownload)
|
||||
{
|
||||
if (removeFromClient)
|
||||
{
|
||||
|
@ -271,7 +271,7 @@ namespace Sonarr.Api.V3.Queue
|
|||
|
||||
if (blocklist)
|
||||
{
|
||||
_failedDownloadService.MarkAsFailed(trackedDownload.DownloadItem.DownloadId, skipReDownload);
|
||||
_failedDownloadService.MarkAsFailed(trackedDownload.DownloadItem.DownloadId, skipRedownload);
|
||||
}
|
||||
|
||||
if (!removeFromClient && !blocklist)
|
||||
|
|
Loading…
Reference in New Issue