private ValidationFailure TestAuthentication() { try { _proxy.GetQueue(1, Settings); } catch (NzbVortexAuthenticationException) { return(new ValidationFailure("ApiKey", "API Key Incorrect")); } return(null); }
public override IEnumerable <DownloadClientItem> GetItems() { List <NzbVortexQueueItem> vortexQueue; try { vortexQueue = _proxy.GetQueue(30, Settings); } catch (DownloadClientException ex) { _logger.Warn("Couldn't get download queue. {0}", ex.Message); return(Enumerable.Empty <DownloadClientItem>()); } var queueItems = new List <DownloadClientItem>(); foreach (var vortexQueueItem in vortexQueue) { var queueItem = new DownloadClientItem(); queueItem.DownloadClientInfo = DownloadClientItemClientInfo.FromDownloadClient(this); queueItem.DownloadId = vortexQueueItem.AddUUID ?? vortexQueueItem.Id.ToString(); queueItem.Category = vortexQueueItem.GroupName; queueItem.Title = vortexQueueItem.UiTitle; queueItem.TotalSize = vortexQueueItem.TotalDownloadSize; queueItem.RemainingSize = vortexQueueItem.TotalDownloadSize - vortexQueueItem.DownloadedSize; queueItem.RemainingTime = null; queueItem.CanBeRemoved = true; queueItem.CanMoveFiles = true; if (vortexQueueItem.IsPaused) { queueItem.Status = DownloadItemStatus.Paused; } else { switch (vortexQueueItem.State) { case NzbVortexStateType.Waiting: queueItem.Status = DownloadItemStatus.Queued; break; case NzbVortexStateType.Done: queueItem.Status = DownloadItemStatus.Completed; break; case NzbVortexStateType.UncompressFailed: case NzbVortexStateType.CheckFailedDataCorrupt: case NzbVortexStateType.BadlyEncoded: queueItem.Status = DownloadItemStatus.Failed; break; default: queueItem.Status = DownloadItemStatus.Downloading; break; } } queueItem.OutputPath = GetOutputPath(vortexQueueItem, queueItem); if (vortexQueueItem.State == NzbVortexStateType.PasswordRequest) { queueItem.IsEncrypted = true; } if (queueItem.Status == DownloadItemStatus.Completed) { queueItem.RemainingTime = TimeSpan.Zero; } queueItems.Add(queueItem); } return(queueItems); }