mirror of
https://github.com/Radarr/Radarr.git
synced 2025-04-24 06:27:08 -04:00
New: Improve UI status when downloads cannot be imported automatically
(cherry picked from commit 6d5ff9c4d6993d16848980aea499a45b1b51d95c) Closes #10107
This commit is contained in:
parent
fcb0d8a930
commit
7bdb3e437d
5 changed files with 17 additions and 8 deletions
|
@ -70,6 +70,11 @@ function QueueStatus(props) {
|
|||
iconName = icons.DOWNLOADED;
|
||||
title = translate('Downloaded');
|
||||
|
||||
if (trackedDownloadState === 'importBlocked') {
|
||||
title += ` - ${translate('UnableToImportAutomatically')}`;
|
||||
iconKind = kinds.WARNING;
|
||||
}
|
||||
|
||||
if (trackedDownloadState === 'importPending') {
|
||||
title += ` - ${translate('WaitingToImport')}`;
|
||||
iconKind = kinds.PURPLE;
|
||||
|
|
|
@ -207,7 +207,7 @@ namespace NzbDrone.Core.Test.Download
|
|||
Mocker.GetMock<IEventAggregator>()
|
||||
.Verify(v => v.PublishEvent(It.IsAny<DownloadCompletedEvent>()), Times.Never());
|
||||
|
||||
_trackedDownload.State.Should().Be(TrackedDownloadState.ImportPending);
|
||||
_trackedDownload.State.Should().Be(TrackedDownloadState.ImportBlocked);
|
||||
}
|
||||
|
||||
private void AssertImported()
|
||||
|
|
|
@ -63,8 +63,8 @@ namespace NzbDrone.Core.Download
|
|||
|
||||
SetImportItem(trackedDownload);
|
||||
|
||||
// Only process tracked downloads that are still downloading
|
||||
if (trackedDownload.State != TrackedDownloadState.Downloading)
|
||||
// Only process tracked downloads that are still downloading or have been blocked for importing due to an issue with matching
|
||||
if (trackedDownload.State != TrackedDownloadState.Downloading && trackedDownload.State != TrackedDownloadState.ImportBlocked)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
@ -95,7 +95,7 @@ namespace NzbDrone.Core.Download
|
|||
if (movie == null)
|
||||
{
|
||||
trackedDownload.Warn("Movie title mismatch, automatic import is not possible. Manual Import required.");
|
||||
SendManualInteractionRequiredNotification(trackedDownload);
|
||||
SetStateToImportBlocked(trackedDownload);
|
||||
|
||||
return;
|
||||
}
|
||||
|
@ -107,7 +107,7 @@ namespace NzbDrone.Core.Download
|
|||
if (movieMatchType == MovieMatchType.Id && releaseSource != ReleaseSourceType.InteractiveSearch)
|
||||
{
|
||||
trackedDownload.Warn("Found matching movie via grab history, but release was matched to movie by ID. Manual Import required.");
|
||||
SendManualInteractionRequiredNotification(trackedDownload);
|
||||
SetStateToImportBlocked(trackedDownload);
|
||||
|
||||
return;
|
||||
}
|
||||
|
@ -128,7 +128,7 @@ namespace NzbDrone.Core.Download
|
|||
if (trackedDownload.RemoteMovie?.Movie == null)
|
||||
{
|
||||
trackedDownload.Warn("Unable to parse download, automatic import is not possible.");
|
||||
SendManualInteractionRequiredNotification(trackedDownload);
|
||||
SetStateToImportBlocked(trackedDownload);
|
||||
|
||||
return;
|
||||
}
|
||||
|
@ -186,7 +186,7 @@ namespace NzbDrone.Core.Download
|
|||
if (statusMessages.Any())
|
||||
{
|
||||
trackedDownload.Warn(statusMessages.ToArray());
|
||||
SendManualInteractionRequiredNotification(trackedDownload);
|
||||
SetStateToImportBlocked(trackedDownload);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -245,8 +245,10 @@ namespace NzbDrone.Core.Download
|
|||
return false;
|
||||
}
|
||||
|
||||
private void SendManualInteractionRequiredNotification(TrackedDownload trackedDownload)
|
||||
private void SetStateToImportBlocked(TrackedDownload trackedDownload)
|
||||
{
|
||||
trackedDownload.State = TrackedDownloadState.ImportBlocked;
|
||||
|
||||
if (!trackedDownload.HasNotifiedManualInteractionRequired)
|
||||
{
|
||||
var grabbedHistories = _historyService.FindByDownloadId(trackedDownload.DownloadItem.DownloadId).Where(h => h.EventType == MovieHistoryEventType.Grabbed).ToList();
|
||||
|
|
|
@ -40,6 +40,7 @@ namespace NzbDrone.Core.Download.TrackedDownloads
|
|||
public enum TrackedDownloadState
|
||||
{
|
||||
Downloading,
|
||||
ImportBlocked,
|
||||
ImportPending,
|
||||
Importing,
|
||||
Imported,
|
||||
|
|
|
@ -1705,6 +1705,7 @@
|
|||
"UiSettingsLoadError": "Unable to load UI settings",
|
||||
"UiSettingsSummary": "Calendar, date and color impaired options",
|
||||
"Umask": "Umask",
|
||||
"UnableToImportAutomatically": "Unable to Import Automatically",
|
||||
"UnableToLoadAltTitle": "Unable to load alternative titles.",
|
||||
"UnableToLoadCollections": "Unable to load collections",
|
||||
"UnableToLoadManualImportItems": "Unable to load manual import items",
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue