From b8c9f6d42e7d84e57417bfe60c3cb91fdb6039c4 Mon Sep 17 00:00:00 2001 From: Taloth Saldono Date: Fri, 23 May 2014 21:18:49 +0200 Subject: [PATCH] Fixed detection of failed unpack for nzbget proxy. --- .../Download/Clients/Nzbget/Nzbget.cs | 24 +++++++++++++------ .../Clients/Nzbget/NzbgetHistoryItem.cs | 4 ++++ 2 files changed, 21 insertions(+), 7 deletions(-) diff --git a/src/NzbDrone.Core/Download/Clients/Nzbget/Nzbget.cs b/src/NzbDrone.Core/Download/Clients/Nzbget/Nzbget.cs index f7032256a..828242bc9 100644 --- a/src/NzbDrone.Core/Download/Clients/Nzbget/Nzbget.cs +++ b/src/NzbDrone.Core/Download/Clients/Nzbget/Nzbget.cs @@ -115,15 +115,11 @@ namespace NzbDrone.Core.Download.Clients.Nzbget } var historyItems = new List(); - var successStatues = new[] {"SUCCESS", "NONE"}; + var successStatus = new[] {"SUCCESS", "NONE"}; foreach (var item in history) { var droneParameter = item.Parameters.SingleOrDefault(p => p.Name == "drone"); - var status = successStatues.Contains(item.ParStatus) && - successStatues.Contains(item.ScriptStatus) - ? DownloadItemStatus.Completed - : DownloadItemStatus.Failed; var historyItem = new DownloadClientItem(); historyItem.DownloadClient = Definition.Name; @@ -132,8 +128,22 @@ namespace NzbDrone.Core.Download.Clients.Nzbget historyItem.TotalSize = MakeInt64(item.FileSizeHi, item.FileSizeLo); historyItem.OutputPath = item.DestDir; historyItem.Category = item.Category; - historyItem.Message = String.Format("PAR Status: {0} - Script Status: {1}", item.ParStatus, item.ScriptStatus); - historyItem.Status = status; + historyItem.Message = String.Format("PAR Status: {0} - Unpack Status: {1} - Move Status: {2} - Script Status: {3} - Delete Status: {4} - Mark Status: {5}", item.ParStatus, item.UnpackStatus, item.MoveStatus, item.ScriptStatus, item.DeleteStatus, item.MarkStatus); + historyItem.Status = DownloadItemStatus.Completed; + + if (!successStatus.Contains(item.ParStatus) || + !successStatus.Contains(item.UnpackStatus) || + !successStatus.Contains(item.MoveStatus) || + !successStatus.Contains(item.ScriptStatus) || + !successStatus.Contains(item.DeleteStatus) || + !successStatus.Contains(item.MarkStatus)) + { + historyItem.Status = DownloadItemStatus.Failed; + } + else if (item.MoveStatus != "SUCCESS") + { + historyItem.Status = DownloadItemStatus.Queued; + } historyItems.Add(historyItem); } diff --git a/src/NzbDrone.Core/Download/Clients/Nzbget/NzbgetHistoryItem.cs b/src/NzbDrone.Core/Download/Clients/Nzbget/NzbgetHistoryItem.cs index bce08e208..f02c483f3 100644 --- a/src/NzbDrone.Core/Download/Clients/Nzbget/NzbgetHistoryItem.cs +++ b/src/NzbDrone.Core/Download/Clients/Nzbget/NzbgetHistoryItem.cs @@ -11,7 +11,11 @@ namespace NzbDrone.Core.Download.Clients.Nzbget public UInt32 FileSizeLo { get; set; } public UInt32 FileSizeHi { get; set; } public String ParStatus { get; set; } + public String UnpackStatus { get; set; } + public String MoveStatus { get; set; } public String ScriptStatus { get; set; } + public String DeleteStatus { get; set; } + public String MarkStatus { get; set; } public String DestDir { get; set; } public List Parameters { get; set; } }