@ -64,8 +64,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 ;
}
@ -96,7 +96,7 @@ namespace NzbDrone.Core.Download
if ( series = = null )
{
trackedDownload . Warn ( "Series title mismatch; automatic import is not possible. Check the download troubleshooting entry on the wiki for common causes." ) ;
Se ndManualInteractionRequiredNotification ( trackedDownload ) ;
Se tStateToImportBlocked ( trackedDownload ) ;
return ;
}
@ -108,7 +108,7 @@ namespace NzbDrone.Core.Download
if ( seriesMatchType = = SeriesMatchType . Id & & releaseSource ! = ReleaseSourceType . InteractiveSearch )
{
trackedDownload . Warn ( "Found matching series via grab history, but release was matched to series by ID. Automatic import is not possible. See the FAQ for details." ) ;
Se ndManualInteractionRequiredNotification ( trackedDownload ) ;
Se tStateToImportBlocked ( trackedDownload ) ;
return ;
}
@ -129,7 +129,7 @@ namespace NzbDrone.Core.Download
if ( trackedDownload . RemoteEpisode = = null )
{
trackedDownload . Warn ( "Unable to parse download, automatic import is not possible." ) ;
Se ndManualInteractionRequiredNotification ( trackedDownload ) ;
Se tStateToImportBlocked ( trackedDownload ) ;
return ;
}
@ -187,7 +187,7 @@ namespace NzbDrone.Core.Download
if ( statusMessages . Any ( ) )
{
trackedDownload . Warn ( statusMessages . ToArray ( ) ) ;
Se ndManualInteractionRequiredNotification ( trackedDownload ) ;
Se tStateToImportBlocked ( trackedDownload ) ;
}
}
@ -254,8 +254,10 @@ namespace NzbDrone.Core.Download
return false ;
}
private void Se ndManualInteractionRequiredNotification ( TrackedDownload trackedDownload )
private void Se tStateToImportBlocked ( TrackedDownload trackedDownload )
{
trackedDownload . State = TrackedDownloadState . ImportBlocked ;
if ( ! trackedDownload . HasNotifiedManualInteractionRequired )
{
var grabbedHistories = _historyService . FindByDownloadId ( trackedDownload . DownloadItem . DownloadId ) . Where ( h = > h . EventType = = EpisodeHistoryEventType . Grabbed ) . ToList ( ) ;