Пример #1
0
        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);
        }
Пример #2
0
        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);
        }
Пример #3
0
        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);
        }