Fixed: NzbGet history items deleted due to health are now properly recognized as failed.

This commit is contained in:
Taloth Saldono
2014-09-18 23:00:52 +02:00
parent 6a30b13343
commit 8bef19448f
10 changed files with 79 additions and 14 deletions
@@ -159,9 +159,18 @@ namespace NzbDrone.Core.Download.Clients.Nzbget
}
if (!successStatus.Contains(item.ParStatus) ||
!successStatus.Contains(item.UnpackStatus) ||
!successStatus.Contains(item.MoveStatus) ||
!successStatus.Contains(item.ScriptStatus))
!successStatus.Contains(item.UnpackStatus) ||
!successStatus.Contains(item.MoveStatus))
{
historyItem.Status = DownloadItemStatus.Failed;
}
if (!successStatus.Contains(item.ScriptStatus))
{
historyItem.Status = DownloadItemStatus.Warning;
}
if (!successStatus.Contains(item.DeleteStatus))
{
historyItem.Status = DownloadItemStatus.Failed;
}
@@ -138,7 +138,15 @@ namespace NzbDrone.Core.Download.Clients.Sabnzbd
if (sabHistoryItem.Status == SabnzbdDownloadStatus.Failed)
{
historyItem.Status = DownloadItemStatus.Failed;
if (sabHistoryItem.FailMessage.IsNotNullOrWhiteSpace() &&
sabHistoryItem.FailMessage.Equals("Unpacking failed, write error or disk is full?", StringComparison.InvariantCultureIgnoreCase))
{
historyItem.Status = DownloadItemStatus.Warning;
}
else
{
historyItem.Status = DownloadItemStatus.Failed;
}
}
else if (sabHistoryItem.Status == SabnzbdDownloadStatus.Completed)
{
@@ -11,6 +11,7 @@ namespace NzbDrone.Core.Download
Paused = 1,
Downloading = 2,
Completed = 3,
Failed = 4
Failed = 4,
Warning = 5
}
}
@@ -107,6 +107,7 @@ namespace NzbDrone.Core.Download
v.DownloadItem.Status == DownloadItemStatus.Queued ||
v.DownloadItem.Status == DownloadItemStatus.Paused ||
v.DownloadItem.Status == DownloadItemStatus.Downloading ||
v.DownloadItem.Status == DownloadItemStatus.Warning ||
v.DownloadItem.Status == DownloadItemStatus.Failed && enabledFailedDownloadHandling ||
v.DownloadItem.Status == DownloadItemStatus.Completed && enabledCompletedDownloadHandling)
.ToArray();
@@ -105,15 +105,6 @@ namespace NzbDrone.Core.Download
}
else
{
//TODO: Make this more configurable (ignore failure reasons) to support changes and other failures that should be ignored
if (!trackedDownload.DownloadItem.Message.IsNullOrWhiteSpace() &&
trackedDownload.DownloadItem.Message.Equals("Unpacking failed, write error or disk is full?",
StringComparison.InvariantCultureIgnoreCase))
{
UpdateStatusMessage(trackedDownload, LogLevel.Error, "Download failed due to lack of disk space, not blacklisting.");
return;
}
if (FailedDownloadForRecentRelease(downloadClient, trackedDownload, grabbedItems))
{
_logger.Debug("[{0}] Recent release Failed, do not blacklist.", trackedDownload.DownloadItem.Title);