private TrackedDownload Remove(int id, bool blacklist, bool skipReDownload) { var pendingRelease = _pendingReleaseService.FindPendingQueueItem(id); if (pendingRelease != null) { _pendingReleaseService.RemovePendingQueueItems(pendingRelease.Id); return(null); } var trackedDownload = GetTrackedDownload(id); if (trackedDownload == null) { throw new NotFoundException(); } var downloadClient = _downloadClientProvider.Get(trackedDownload.DownloadClient); if (downloadClient == null) { throw new BadRequestException(); } downloadClient.RemoveItem(trackedDownload.DownloadItem.DownloadId, true); if (blacklist) { _failedDownloadService.MarkAsFailed(trackedDownload.DownloadItem.DownloadId, skipReDownload); } return(trackedDownload); }
private TrackedDownload Remove(int id, bool removeFromClient, bool blocklist) { var pendingRelease = _pendingReleaseService.FindPendingQueueItem(id); if (pendingRelease != null) { if (blocklist) { _blocklistService.Block(pendingRelease.RemoteEpisode, "Pending release manually blocklisted"); } _pendingReleaseService.RemovePendingQueueItems(pendingRelease.Id); return(null); } var trackedDownload = GetTrackedDownload(id); if (trackedDownload == null) { throw new NotFoundException(); } if (removeFromClient) { var downloadClient = _downloadClientProvider.Get(trackedDownload.DownloadClient); if (downloadClient == null) { throw new BadRequestException(); } downloadClient.RemoveItem(trackedDownload.DownloadItem, true); } if (blocklist) { _failedDownloadService.MarkAsFailed(trackedDownload.DownloadItem.DownloadId); } if (!removeFromClient && !blocklist) { if (!_ignoredDownloadService.IgnoreDownload(trackedDownload)) { return(null); } } return(trackedDownload); }
private object Remove(int id) { var blocklist = false; var blocklistQuery = Request.Query.blocklist; // blacklist maintained for backwards compatability, UI uses blocklist. var blacklistQuery = Request.Query.blacklist; if (blocklistQuery.HasValue) { blocklist = Convert.ToBoolean(blocklistQuery.Value); } else if (blacklistQuery.HasValue) { blocklist = Convert.ToBoolean(blacklistQuery.Value); } var pendingRelease = _pendingReleaseService.FindPendingQueueItem(id); if (pendingRelease != null) { _pendingReleaseService.RemovePendingQueueItems(pendingRelease.Id); return(new object()); } var trackedDownload = GetTrackedDownload(id); if (trackedDownload == null) { throw new NotFoundException(); } var downloadClient = _downloadClientProvider.Get(trackedDownload.DownloadClient); if (downloadClient == null) { throw new BadRequestException(); } downloadClient.RemoveItem(trackedDownload.DownloadItem, true); if (blocklist) { _failedDownloadService.MarkAsFailed(trackedDownload.DownloadItem.DownloadId); } return(new object()); }