public override IEnumerable <HistoryItem> GetHistory(int start = 0, int limit = 10) { SabnzbdHistory sabHistory; try { sabHistory = _proxy.GetHistory(start, limit, Settings); } catch (DownloadClientException ex) { _logger.ErrorException(ex.Message, ex); return(Enumerable.Empty <HistoryItem>()); } var historyItems = new List <HistoryItem>(); foreach (var sabHistoryItem in sabHistory.Items) { var historyItem = new HistoryItem(); historyItem.Id = sabHistoryItem.Id; historyItem.Title = sabHistoryItem.Title; historyItem.Size = sabHistoryItem.Size; historyItem.DownloadTime = sabHistoryItem.DownloadTime; historyItem.Storage = sabHistoryItem.Storage; historyItem.Category = sabHistoryItem.Category; historyItem.Message = sabHistoryItem.FailMessage; historyItem.Status = sabHistoryItem.Status == "Failed" ? HistoryStatus.Failed : HistoryStatus.Completed; historyItems.Add(historyItem); } return(historyItems); }
private IEnumerable <DownloadClientItem> GetHistory() { SabnzbdHistory sabHistory; try { sabHistory = _proxy.GetHistory(0, _configService.DownloadClientHistoryLimit, Settings); } catch (DownloadClientException ex) { _logger.ErrorException(ex.Message, ex); return(Enumerable.Empty <DownloadClientItem>()); } var historyItems = new List <DownloadClientItem>(); foreach (var sabHistoryItem in sabHistory.Items) { var historyItem = new DownloadClientItem { DownloadClient = Definition.Name, DownloadClientId = sabHistoryItem.Id, Category = sabHistoryItem.Category, Title = sabHistoryItem.Title, TotalSize = sabHistoryItem.Size, RemainingSize = 0, DownloadTime = TimeSpan.FromSeconds(sabHistoryItem.DownloadTime), RemainingTime = TimeSpan.Zero, Message = sabHistoryItem.FailMessage }; if (sabHistoryItem.Status == SabnzbdDownloadStatus.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) { historyItem.Status = DownloadItemStatus.Completed; } else // Verifying/Moving etc { historyItem.Status = DownloadItemStatus.Downloading; } var outputPath = _remotePathMappingService.RemapRemoteToLocal(Settings.Host, sabHistoryItem.Storage); if (!outputPath.IsNullOrWhiteSpace()) { historyItem.OutputPath = outputPath; var parent = outputPath.GetParentPath(); while (parent != null) { if (Path.GetFileName(parent) == sabHistoryItem.Title) { historyItem.OutputPath = parent; } parent = parent.GetParentPath(); } } historyItems.Add(historyItem); } return(historyItems); }
private IEnumerable <DownloadClientItem> GetHistory() { var sabHistory = _proxy.GetHistory(0, _configService.DownloadClientHistoryLimit, Settings.MusicCategory, Settings); var historyItems = new List <DownloadClientItem>(); foreach (var sabHistoryItem in sabHistory.Items) { if (sabHistoryItem.Status == SabnzbdDownloadStatus.Deleted) { continue; } var historyItem = new DownloadClientItem { DownloadClientInfo = DownloadClientItemClientInfo.FromDownloadClient(this), DownloadId = sabHistoryItem.Id, Category = sabHistoryItem.Category, Title = sabHistoryItem.Title, TotalSize = sabHistoryItem.Size, RemainingSize = 0, RemainingTime = TimeSpan.Zero, Message = sabHistoryItem.FailMessage, CanBeRemoved = true, CanMoveFiles = true }; if (sabHistoryItem.Status == SabnzbdDownloadStatus.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) { historyItem.Status = DownloadItemStatus.Completed; } else { // Verifying/Moving etc historyItem.Status = DownloadItemStatus.Downloading; } var outputPath = _remotePathMappingService.RemapRemoteToLocal(Settings.Host, new OsPath(sabHistoryItem.Storage)); if (!outputPath.IsEmpty) { historyItem.OutputPath = outputPath; var parent = outputPath.Directory; while (!parent.IsEmpty) { if (parent.FileName == sabHistoryItem.Title) { historyItem.OutputPath = parent; } parent = parent.Directory; } } historyItems.Add(historyItem); } return(historyItems); }