public override IEnumerable <HistoryItem> GetHistory(int start = 0, int limit = 10) { List <NzbgetHistoryItem> history; try { history = _proxy.GetHistory(Settings); } catch (DownloadClientException ex) { _logger.ErrorException(ex.Message, ex); return(Enumerable.Empty <HistoryItem>()); } var historyItems = new List <HistoryItem>(); var successStatues = 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) ? HistoryStatus.Completed : HistoryStatus.Failed; var historyItem = new HistoryItem(); historyItem.Id = droneParameter == null?item.Id.ToString() : droneParameter.Value.ToString(); historyItem.Title = item.Name; historyItem.Size = item.FileSizeMb.ToString(); //Why is this a string? historyItem.DownloadTime = 0; historyItem.Storage = item.DestDir; historyItem.Category = item.Category; historyItem.Message = String.Format("PAR Status: {0} - Script Status: {1}", item.ParStatus, item.ScriptStatus); historyItem.Status = status; historyItems.Add(historyItem); } return(historyItems); }
private IEnumerable <DownloadClientItem> GetHistory() { List <NzbgetHistoryItem> history; try { history = _proxy.GetHistory(Settings).Take(_configService.DownloadClientHistoryLimit).ToList(); } catch (DownloadClientException ex) { _logger.ErrorException(ex.Message, ex); return(Enumerable.Empty <DownloadClientItem>()); } var historyItems = new List <DownloadClientItem>(); var successStatus = new[] { "SUCCESS", "NONE" }; foreach (var item in history) { var droneParameter = item.Parameters.SingleOrDefault(p => p.Name == "drone"); var historyItem = new DownloadClientItem(); historyItem.DownloadClient = Definition.Name; historyItem.DownloadId = droneParameter == null?item.Id.ToString() : droneParameter.Value.ToString(); historyItem.Title = item.Name; historyItem.TotalSize = MakeInt64(item.FileSizeHi, item.FileSizeLo); historyItem.OutputPath = _remotePathMappingService.RemapRemoteToLocal(Settings.Host, new OsPath(item.DestDir)); historyItem.Category = item.Category; 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; historyItem.RemainingTime = TimeSpan.Zero; if (item.DeleteStatus == "MANUAL") { continue; } if (!successStatus.Contains(item.ParStatus)) { historyItem.Status = DownloadItemStatus.Failed; } if (item.UnpackStatus == "SPACE") { historyItem.Status = DownloadItemStatus.Warning; } else if (!successStatus.Contains(item.UnpackStatus)) { historyItem.Status = DownloadItemStatus.Failed; } if (!successStatus.Contains(item.MoveStatus)) { historyItem.Status = DownloadItemStatus.Warning; } if (!successStatus.Contains(item.ScriptStatus)) { historyItem.Status = DownloadItemStatus.Failed; } if (!successStatus.Contains(item.DeleteStatus) && item.DeleteStatus.IsNotNullOrWhiteSpace()) { historyItem.Status = DownloadItemStatus.Warning; } if (item.DeleteStatus == "HEALTH") { historyItem.Status = DownloadItemStatus.Failed; } historyItems.Add(historyItem); } return(historyItems); }
private IEnumerable <DownloadClientItem> GetHistory() { var history = _proxy.GetHistory(Settings).Take(_configService.DownloadClientHistoryLimit).ToList(); var historyItems = new List <DownloadClientItem>(); foreach (var item in history) { var droneParameter = item.Parameters.SingleOrDefault(p => p.Name == "drone"); var historyItem = new DownloadClientItem(); var itemDir = item.FinalDir.IsNullOrWhiteSpace() ? item.DestDir : item.FinalDir; historyItem.DownloadClientInfo = DownloadClientItemClientInfo.FromDownloadClient(this); historyItem.DownloadId = droneParameter == null?item.Id.ToString() : droneParameter.Value.ToString(); historyItem.Title = item.Name; historyItem.TotalSize = MakeInt64(item.FileSizeHi, item.FileSizeLo); historyItem.OutputPath = _remotePathMappingService.RemapRemoteToLocal(Settings.Host, new OsPath(itemDir)); historyItem.Category = item.Category; historyItem.Message = $"PAR Status: {item.ParStatus} - Unpack Status: {item.UnpackStatus} - Move Status: {item.MoveStatus} - Script Status: {item.ScriptStatus} - Delete Status: {item.DeleteStatus} - Mark Status: {item.MarkStatus}"; historyItem.Status = DownloadItemStatus.Completed; historyItem.RemainingTime = TimeSpan.Zero; historyItem.CanMoveFiles = true; historyItem.CanBeRemoved = true; if (item.DeleteStatus == "MANUAL") { continue; } if (!_successStatus.Contains(item.ParStatus)) { historyItem.Status = DownloadItemStatus.Failed; } if (item.UnpackStatus == "SPACE") { historyItem.Status = DownloadItemStatus.Warning; } else if (!_successStatus.Contains(item.UnpackStatus)) { historyItem.Status = DownloadItemStatus.Failed; } if (!_successStatus.Contains(item.MoveStatus)) { historyItem.Status = DownloadItemStatus.Warning; } if (!_successStatus.Contains(item.ScriptStatus)) { historyItem.Status = DownloadItemStatus.Failed; } if (!_successStatus.Contains(item.DeleteStatus) && item.DeleteStatus.IsNotNullOrWhiteSpace()) { if (_deleteFailedStatus.Contains(item.DeleteStatus)) { historyItem.Status = DownloadItemStatus.Failed; } else { historyItem.Status = DownloadItemStatus.Warning; } } historyItems.Add(historyItem); } return(historyItems); }