|
|
|
@ -7,6 +7,7 @@ using NzbDrone.Common.Extensions;
|
|
|
|
|
using NzbDrone.Core.CustomFormats;
|
|
|
|
|
using NzbDrone.Core.DecisionEngine;
|
|
|
|
|
using NzbDrone.Core.Download;
|
|
|
|
|
using NzbDrone.Core.Download.TrackedDownloads;
|
|
|
|
|
using NzbDrone.Core.MediaFiles.EpisodeImport.Aggregation;
|
|
|
|
|
using NzbDrone.Core.Parser.Model;
|
|
|
|
|
using NzbDrone.Core.Tv;
|
|
|
|
@ -29,6 +30,7 @@ namespace NzbDrone.Core.MediaFiles.EpisodeImport
|
|
|
|
|
private readonly IAggregationService _aggregationService;
|
|
|
|
|
private readonly IDiskProvider _diskProvider;
|
|
|
|
|
private readonly IDetectSample _detectSample;
|
|
|
|
|
private readonly ITrackedDownloadService _trackedDownloadService;
|
|
|
|
|
private readonly ICustomFormatCalculationService _formatCalculator;
|
|
|
|
|
private readonly Logger _logger;
|
|
|
|
|
|
|
|
|
@ -37,6 +39,7 @@ namespace NzbDrone.Core.MediaFiles.EpisodeImport
|
|
|
|
|
IAggregationService aggregationService,
|
|
|
|
|
IDiskProvider diskProvider,
|
|
|
|
|
IDetectSample detectSample,
|
|
|
|
|
ITrackedDownloadService trackedDownloadService,
|
|
|
|
|
ICustomFormatCalculationService formatCalculator,
|
|
|
|
|
Logger logger)
|
|
|
|
|
{
|
|
|
|
@ -45,6 +48,7 @@ namespace NzbDrone.Core.MediaFiles.EpisodeImport
|
|
|
|
|
_aggregationService = aggregationService;
|
|
|
|
|
_diskProvider = diskProvider;
|
|
|
|
|
_detectSample = detectSample;
|
|
|
|
|
_trackedDownloadService = trackedDownloadService;
|
|
|
|
|
_formatCalculator = formatCalculator;
|
|
|
|
|
_logger = logger;
|
|
|
|
|
}
|
|
|
|
@ -145,6 +149,16 @@ namespace NzbDrone.Core.MediaFiles.EpisodeImport
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
if (downloadClientItem?.DownloadId.IsNotNullOrWhiteSpace() == true)
|
|
|
|
|
{
|
|
|
|
|
var trackedDownload = _trackedDownloadService.Find(downloadClientItem.DownloadId);
|
|
|
|
|
|
|
|
|
|
if (trackedDownload?.RemoteEpisode?.Release?.IndexerFlags != null)
|
|
|
|
|
{
|
|
|
|
|
localEpisode.IndexerFlags = trackedDownload.RemoteEpisode.Release.IndexerFlags;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
localEpisode.CustomFormats = _formatCalculator.ParseCustomFormat(localEpisode);
|
|
|
|
|
localEpisode.CustomFormatScore = localEpisode.Series.QualityProfile?.Value.CalculateCustomFormatScore(localEpisode.CustomFormats) ?? 0;
|
|
|
|
|
|
|
|
|
|