From 25c0ed1cd01eb54590f82b65bb0461b73ede4014 Mon Sep 17 00:00:00 2001 From: Mark McDowall Date: Sat, 16 Jan 2021 16:24:30 -0800 Subject: [PATCH] New: Treat Manual Bad in history as failed (cherry picked from commit ab478fd64bdf2b710fb865006858a1a7dbdbad21) --- .../NzbgetTests/NzbgetFixture.cs | 25 +++++++++++++++++++ .../Download/Clients/Nzbget/Nzbget.cs | 7 ++++++ 2 files changed, 32 insertions(+) diff --git a/src/NzbDrone.Core.Test/Download/DownloadClientTests/NzbgetTests/NzbgetFixture.cs b/src/NzbDrone.Core.Test/Download/DownloadClientTests/NzbgetTests/NzbgetFixture.cs index e7e2bc84c..d985d584a 100644 --- a/src/NzbDrone.Core.Test/Download/DownloadClientTests/NzbgetTests/NzbgetFixture.cs +++ b/src/NzbDrone.Core.Test/Download/DownloadClientTests/NzbgetTests/NzbgetFixture.cs @@ -424,6 +424,31 @@ public void should_use_dest_dir_if_final_dir_is_not_set() Subject.GetItems().First().OutputPath.Should().Be(_completed.DestDir); } + [Test] + public void should_report_deletestatus_manual_with_markstatus_bad_as_failed() + { + _completed.DeleteStatus = "MANUAL"; + _completed.MarkStatus = "BAD"; + + GivenQueue(null); + GivenHistory(_completed); + + var result = Subject.GetItems().Single(); + + result.Status.Should().Be(DownloadItemStatus.Failed); + } + + [Test] + public void should_ignore_deletestatus_manual_without_markstatus() + { + _completed.DeleteStatus = "MANUAL"; + + GivenQueue(null); + GivenHistory(_completed); + + Subject.GetItems().Should().BeEmpty(); + } + [Test] public void should_use_final_dir_when_set_instead_of_dest_dir() { diff --git a/src/NzbDrone.Core/Download/Clients/Nzbget/Nzbget.cs b/src/NzbDrone.Core/Download/Clients/Nzbget/Nzbget.cs index 09f3e25ba..2d4f28482 100644 --- a/src/NzbDrone.Core/Download/Clients/Nzbget/Nzbget.cs +++ b/src/NzbDrone.Core/Download/Clients/Nzbget/Nzbget.cs @@ -136,6 +136,13 @@ private IEnumerable GetHistory() if (item.DeleteStatus == "MANUAL") { + if (item.MarkStatus == "BAD") + { + historyItem.Status = DownloadItemStatus.Failed; + + historyItems.Add(historyItem); + } + continue; }