示例#1
0
 public override void RemoveItem(String id)
 {
     if (GetQueue().Any(v => v.DownloadClientId == id))
     {
         _proxy.RemoveFrom("queue", id, Settings);
     }
     else
     {
         _proxy.RemoveFrom("history", id, Settings);
     }
 }
示例#2
0
 public override void RemoveItem(string downloadId, bool deleteData)
 {
     if (GetQueue().Any(v => v.DownloadId == downloadId))
     {
         _proxy.RemoveFrom("queue", downloadId, deleteData, Settings);
     }
     else
     {
         _proxy.RemoveFrom("history", downloadId, deleteData, Settings);
     }
 }
示例#3
0
        public override void RemoveItem(DownloadClientItem item, bool deleteData)
        {
            var queueClientItem = GetQueue().SingleOrDefault(v => v.DownloadId == item.DownloadId);

            if (queueClientItem == null)
            {
                if (deleteData && item.Status == DownloadItemStatus.Completed)
                {
                    DeleteItemData(item);
                }

                _proxy.RemoveFrom("history", item.DownloadId, deleteData, Settings);
            }
            else
            {
                _proxy.RemoveFrom("queue", item.DownloadId, deleteData, Settings);
            }
        }
示例#4
0
        public override void RemoveItem(string downloadId, bool deleteData)
        {
            var historyItem = GetHistory().SingleOrDefault(v => v.DownloadId == downloadId);

            if (historyItem == null)
            {
                _proxy.RemoveFrom("queue", downloadId, deleteData, Settings);
            }
            else
            {
                _proxy.RemoveFrom("history", downloadId, deleteData, Settings);

                // Completed items in SAB's history do not remove the files from the file system when deleted, even if instructed to.
                // If the output path is valid delete the file(s), otherwise warn that they cannot be deleted.

                if (deleteData && historyItem.Status == DownloadItemStatus.Completed)
                {
                    if (ValidatePath(historyItem))
                    {
                        var outputPath = historyItem.OutputPath;

                        try
                        {
                            if (_diskProvider.FolderExists(outputPath.FullPath))
                            {
                                _diskProvider.DeleteFolder(outputPath.FullPath.ToString(), true);
                            }
                            else if (_diskProvider.FileExists(outputPath.FullPath))
                            {
                                _diskProvider.DeleteFile(outputPath.FullPath.ToString());
                            }
                        }
                        catch (Exception e)
                        {
                            _logger.Error("Unable to delete output path: '{0}'. Delete file(s) manually", outputPath.FullPath);
                        }
                    }
                    else
                    {
                        _logger.Warn("Invalid path '{0}'. Delete file(s) manually");
                    }
                }
            }
        }
示例#5
0
 public override void RemoveFromQueue(string id)
 {
     _proxy.RemoveFrom("queue", id, Settings);
 }