mirror of
https://github.com/Readarr/Readarr
synced 2026-01-04 22:54:24 +01:00
parent
ac4ae9bb4d
commit
1989174801
11 changed files with 44 additions and 44 deletions
|
|
@ -46,14 +46,14 @@ class QueueRow extends Component {
|
|||
this.setState({ isRemoveQueueItemModalOpen: true });
|
||||
};
|
||||
|
||||
onRemoveQueueItemModalConfirmed = (blocklist, skipredownload) => {
|
||||
onRemoveQueueItemModalConfirmed = (blocklist, skipRedownload) => {
|
||||
const {
|
||||
onRemoveQueueItemPress,
|
||||
onQueueRowModalOpenOrClose
|
||||
} = this.props;
|
||||
|
||||
onQueueRowModalOpenOrClose(false);
|
||||
onRemoveQueueItemPress(blocklist, skipredownload);
|
||||
onRemoveQueueItemPress(blocklist, skipRedownload);
|
||||
|
||||
this.setState({ isRemoveQueueItemModalOpen: false });
|
||||
};
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@ class RemoveQueueItemModal extends Component {
|
|||
this.state = {
|
||||
remove: true,
|
||||
blocklist: false,
|
||||
skipredownload: false
|
||||
skipRedownload: false
|
||||
};
|
||||
}
|
||||
|
||||
|
|
@ -34,7 +34,7 @@ class RemoveQueueItemModal extends Component {
|
|||
this.setState({
|
||||
remove: true,
|
||||
blocklist: false,
|
||||
skipredownload: false
|
||||
skipRedownload: false
|
||||
});
|
||||
};
|
||||
|
||||
|
|
@ -49,8 +49,8 @@ class RemoveQueueItemModal extends Component {
|
|||
this.setState({ blocklist: value });
|
||||
};
|
||||
|
||||
onSkipReDownloadChange = ({ value }) => {
|
||||
this.setState({ skipredownload: value });
|
||||
onSkipRedownloadChange = ({ value }) => {
|
||||
this.setState({ skipRedownload: value });
|
||||
};
|
||||
|
||||
onRemoveConfirmed = () => {
|
||||
|
|
@ -76,7 +76,7 @@ class RemoveQueueItemModal extends Component {
|
|||
isPending
|
||||
} = this.props;
|
||||
|
||||
const { remove, blocklist, skipredownload } = this.state;
|
||||
const { remove, blocklist, skipRedownload } = this.state;
|
||||
|
||||
return (
|
||||
<Modal
|
||||
|
|
@ -137,10 +137,10 @@ class RemoveQueueItemModal extends Component {
|
|||
</FormLabel>
|
||||
<FormInputGroup
|
||||
type={inputTypes.CHECK}
|
||||
name="skipredownload"
|
||||
value={skipredownload}
|
||||
helpText={translate('SkipredownloadHelpText')}
|
||||
onChange={this.onSkipReDownloadChange}
|
||||
name="skipRedownload"
|
||||
value={skipRedownload}
|
||||
helpText={translate('SkipRedownloadHelpText')}
|
||||
onChange={this.onSkipRedownloadChange}
|
||||
/>
|
||||
</FormGroup>
|
||||
}
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@ class RemoveQueueItemsModal extends Component {
|
|||
this.state = {
|
||||
remove: true,
|
||||
blocklist: false,
|
||||
skipredownload: false
|
||||
skipRedownload: false
|
||||
};
|
||||
}
|
||||
|
||||
|
|
@ -35,7 +35,7 @@ class RemoveQueueItemsModal extends Component {
|
|||
this.setState({
|
||||
remove: true,
|
||||
blocklist: false,
|
||||
skipredownload: false
|
||||
skipRedownload: false
|
||||
});
|
||||
};
|
||||
|
||||
|
|
@ -50,8 +50,8 @@ class RemoveQueueItemsModal extends Component {
|
|||
this.setState({ blocklist: value });
|
||||
};
|
||||
|
||||
onSkipReDownloadChange = ({ value }) => {
|
||||
this.setState({ skipredownload: value });
|
||||
onSkipRedownloadChange = ({ value }) => {
|
||||
this.setState({ skipRedownload: value });
|
||||
};
|
||||
|
||||
onRemoveConfirmed = () => {
|
||||
|
|
@ -77,7 +77,7 @@ class RemoveQueueItemsModal extends Component {
|
|||
allPending
|
||||
} = this.props;
|
||||
|
||||
const { remove, blocklist, skipredownload } = this.state;
|
||||
const { remove, blocklist, skipRedownload } = this.state;
|
||||
|
||||
return (
|
||||
<Modal
|
||||
|
|
@ -138,10 +138,10 @@ class RemoveQueueItemsModal extends Component {
|
|||
</FormLabel>
|
||||
<FormInputGroup
|
||||
type={inputTypes.CHECK}
|
||||
name="skipredownload"
|
||||
value={skipredownload}
|
||||
helpText={translate('SkipredownloadHelpText')}
|
||||
onChange={this.onSkipReDownloadChange}
|
||||
name="skipRedownload"
|
||||
value={skipRedownload}
|
||||
helpText={translate('SkipRedownloadHelpText')}
|
||||
onChange={this.onSkipRedownloadChange}
|
||||
/>
|
||||
</FormGroup>
|
||||
}
|
||||
|
|
|
|||
|
|
@ -371,13 +371,13 @@ export const actionHandlers = handleThunks({
|
|||
id,
|
||||
remove,
|
||||
blocklist,
|
||||
skipredownload
|
||||
skipRedownload
|
||||
} = payload;
|
||||
|
||||
dispatch(updateItem({ section: paged, id, isRemoving: true }));
|
||||
|
||||
const promise = createAjaxRequest({
|
||||
url: `/queue/${id}?removeFromClient=${remove}&blocklist=${blocklist}&skipredownload=${skipredownload}`,
|
||||
url: `/queue/${id}?removeFromClient=${remove}&blocklist=${blocklist}&skipRedownload=${skipRedownload}`,
|
||||
method: 'DELETE'
|
||||
}).request;
|
||||
|
||||
|
|
@ -395,7 +395,7 @@ export const actionHandlers = handleThunks({
|
|||
ids,
|
||||
remove,
|
||||
blocklist,
|
||||
skipredownload
|
||||
skipRedownload
|
||||
} = payload;
|
||||
|
||||
dispatch(batchActions([
|
||||
|
|
@ -411,7 +411,7 @@ export const actionHandlers = handleThunks({
|
|||
]));
|
||||
|
||||
const promise = createAjaxRequest({
|
||||
url: `/queue/bulk?removeFromClient=${remove}&blocklist=${blocklist}&skipredownload=${skipredownload}`,
|
||||
url: `/queue/bulk?removeFromClient=${remove}&blocklist=${blocklist}&skipRedownload=${skipRedownload}`,
|
||||
method: 'DELETE',
|
||||
dataType: 'json',
|
||||
data: JSON.stringify({ ids })
|
||||
|
|
|
|||
|
|
@ -33,7 +33,7 @@ public void should_skip_redownload_if_event_has_skipredownload_set()
|
|||
{
|
||||
AuthorId = 1,
|
||||
BookIds = new List<int> { 1 },
|
||||
SkipReDownload = true
|
||||
SkipRedownload = true
|
||||
};
|
||||
|
||||
Subject.Handle(failedEvent);
|
||||
|
|
|
|||
|
|
@ -21,6 +21,6 @@ public DownloadFailedEvent()
|
|||
public string Message { get; set; }
|
||||
public Dictionary<string, string> Data { get; set; }
|
||||
public TrackedDownload TrackedDownload { get; set; }
|
||||
public bool SkipReDownload { get; set; }
|
||||
public bool SkipRedownload { get; set; }
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -9,8 +9,8 @@ namespace NzbDrone.Core.Download
|
|||
{
|
||||
public interface IFailedDownloadService
|
||||
{
|
||||
void MarkAsFailed(int historyId, bool skipReDownload = false);
|
||||
void MarkAsFailed(string downloadId, bool skipReDownload = false);
|
||||
void MarkAsFailed(int historyId, bool skipRedownload = false);
|
||||
void MarkAsFailed(string downloadId, bool skipRedownload = false);
|
||||
void Check(TrackedDownload trackedDownload);
|
||||
void ProcessFailed(TrackedDownload trackedDownload);
|
||||
}
|
||||
|
|
@ -30,14 +30,14 @@ public FailedDownloadService(IHistoryService historyService,
|
|||
_eventAggregator = eventAggregator;
|
||||
}
|
||||
|
||||
public void MarkAsFailed(int historyId, bool skipReDownload = false)
|
||||
public void MarkAsFailed(int historyId, bool skipRedownload = false)
|
||||
{
|
||||
var history = _historyService.Get(historyId);
|
||||
|
||||
var downloadId = history.DownloadId;
|
||||
if (downloadId.IsNullOrWhiteSpace())
|
||||
{
|
||||
PublishDownloadFailedEvent(new List<EntityHistory> { history }, "Manually marked as failed", skipReDownload: skipReDownload);
|
||||
PublishDownloadFailedEvent(new List<EntityHistory> { history }, "Manually marked as failed", skipRedownload: skipRedownload);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
@ -46,7 +46,7 @@ public void MarkAsFailed(int historyId, bool skipReDownload = false)
|
|||
}
|
||||
}
|
||||
|
||||
public void MarkAsFailed(string downloadId, bool skipReDownload = false)
|
||||
public void MarkAsFailed(string downloadId, bool skipRedownload = false)
|
||||
{
|
||||
var history = _historyService.Find(downloadId, EntityHistoryEventType.Grabbed);
|
||||
|
||||
|
|
@ -54,7 +54,7 @@ public void MarkAsFailed(string downloadId, bool skipReDownload = false)
|
|||
{
|
||||
var trackedDownload = _trackedDownloadService.Find(downloadId);
|
||||
|
||||
PublishDownloadFailedEvent(history, "Manually marked as failed", trackedDownload, skipReDownload);
|
||||
PublishDownloadFailedEvent(history, "Manually marked as failed", trackedDownload, skipRedownload);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -114,7 +114,7 @@ public void ProcessFailed(TrackedDownload trackedDownload)
|
|||
PublishDownloadFailedEvent(grabbedItems, failure, trackedDownload);
|
||||
}
|
||||
|
||||
private void PublishDownloadFailedEvent(List<EntityHistory> historyItems, string message, TrackedDownload trackedDownload = null, bool skipReDownload = false)
|
||||
private void PublishDownloadFailedEvent(List<EntityHistory> historyItems, string message, TrackedDownload trackedDownload = null, bool skipRedownload = false)
|
||||
{
|
||||
var historyItem = historyItems.First();
|
||||
|
||||
|
|
@ -129,7 +129,7 @@ private void PublishDownloadFailedEvent(List<EntityHistory> historyItems, string
|
|||
Message = message,
|
||||
Data = historyItem.Data,
|
||||
TrackedDownload = trackedDownload,
|
||||
SkipReDownload = skipReDownload
|
||||
SkipRedownload = skipRedownload
|
||||
};
|
||||
|
||||
_eventAggregator.PublishEvent(downloadFailedEvent);
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@ public RedownloadFailedDownloadService(IConfigService configService,
|
|||
[EventHandleOrder(EventHandleOrder.Last)]
|
||||
public void Handle(DownloadFailedEvent message)
|
||||
{
|
||||
if (message.SkipReDownload)
|
||||
if (message.SkipRedownload)
|
||||
{
|
||||
_logger.Debug("Skip redownloading requested by user");
|
||||
return;
|
||||
|
|
|
|||
|
|
@ -825,8 +825,8 @@
|
|||
"SkipFreeSpaceCheckWhenImportingHelpText": "Use when Readarr is unable to detect free space from your author root folder",
|
||||
"SkipPartBooksAndSets": "Skip part books and sets",
|
||||
"SkipRedownload": "Skip Redownload",
|
||||
"SkipRedownloadHelpText": "Prevents Readarr from trying download alternative releases for the removed items",
|
||||
"SkipSecondarySeriesBooks": "Skip secondary series books",
|
||||
"SkipredownloadHelpText": "Prevents Readarr from trying download alternative releases for the removed items",
|
||||
"SmartReplace": "Smart Replace",
|
||||
"SorryThatAuthorCannotBeFound": "Sorry, that author cannot be found.",
|
||||
"SorryThatBookCannotBeFound": "Sorry, that book cannot be found.",
|
||||
|
|
|
|||
|
|
@ -69,9 +69,9 @@ protected override QueueResource GetResourceById(int id)
|
|||
}
|
||||
|
||||
[RestDeleteById]
|
||||
public void RemoveAction(int id, bool removeFromClient = true, bool blocklist = false, bool skipReDownload = false)
|
||||
public void RemoveAction(int id, bool removeFromClient = true, bool blocklist = false, bool skipRedownload = false)
|
||||
{
|
||||
var trackedDownload = Remove(id, removeFromClient, blocklist, skipReDownload);
|
||||
var trackedDownload = Remove(id, removeFromClient, blocklist, skipRedownload);
|
||||
|
||||
if (trackedDownload != null)
|
||||
{
|
||||
|
|
@ -80,13 +80,13 @@ public void RemoveAction(int id, bool removeFromClient = true, bool blocklist =
|
|||
}
|
||||
|
||||
[HttpDelete("bulk")]
|
||||
public object RemoveMany([FromBody] QueueBulkResource resource, [FromQuery] bool removeFromClient = true, [FromQuery] bool blocklist = false, [FromQuery] bool skipReDownload = false)
|
||||
public object RemoveMany([FromBody] QueueBulkResource resource, [FromQuery] bool removeFromClient = true, [FromQuery] bool blocklist = false, [FromQuery] bool skipRedownload = false)
|
||||
{
|
||||
var trackedDownloadIds = new List<string>();
|
||||
|
||||
foreach (var id in resource.Ids)
|
||||
{
|
||||
var trackedDownload = Remove(id, removeFromClient, blocklist, skipReDownload);
|
||||
var trackedDownload = Remove(id, removeFromClient, blocklist, skipRedownload);
|
||||
|
||||
if (trackedDownload != null)
|
||||
{
|
||||
|
|
@ -205,7 +205,7 @@ public PagingResource<QueueResource> GetQueue(bool includeUnknownAuthorItems = f
|
|||
}
|
||||
}
|
||||
|
||||
private TrackedDownload Remove(int id, bool removeFromClient, bool blocklist, bool skipReDownload)
|
||||
private TrackedDownload Remove(int id, bool removeFromClient, bool blocklist, bool skipRedownload)
|
||||
{
|
||||
var pendingRelease = _pendingReleaseService.FindPendingQueueItem(id);
|
||||
|
||||
|
|
@ -238,7 +238,7 @@ private TrackedDownload Remove(int id, bool removeFromClient, bool blocklist, bo
|
|||
|
||||
if (blocklist)
|
||||
{
|
||||
_failedDownloadService.MarkAsFailed(trackedDownload.DownloadItem.DownloadId, skipReDownload);
|
||||
_failedDownloadService.MarkAsFailed(trackedDownload.DownloadItem.DownloadId, skipRedownload);
|
||||
}
|
||||
|
||||
if (!removeFromClient && !blocklist)
|
||||
|
|
|
|||
|
|
@ -6190,7 +6190,7 @@
|
|||
}
|
||||
},
|
||||
{
|
||||
"name": "skipReDownload",
|
||||
"name": "skipRedownload",
|
||||
"in": "query",
|
||||
"schema": {
|
||||
"type": "boolean",
|
||||
|
|
@ -6228,7 +6228,7 @@
|
|||
}
|
||||
},
|
||||
{
|
||||
"name": "skipReDownload",
|
||||
"name": "skipRedownload",
|
||||
"in": "query",
|
||||
"schema": {
|
||||
"type": "boolean",
|
||||
|
|
|
|||
Loading…
Reference in a new issue