From 899d6ddbab30aaefadc3673f8e84944a40e62c85 Mon Sep 17 00:00:00 2001 From: Mark McDowall Date: Sun, 11 Dec 2022 17:09:11 -0800 Subject: [PATCH] Fixed: Store Custom Format score during import Closes #5291 --- src/NzbDrone.Core/History/HistoryService.cs | 1 + .../MediaFiles/EpisodeImport/ImportDecisionMaker.cs | 3 +++ .../MediaFiles/EpisodeImport/Manual/ManualImportService.cs | 2 ++ src/NzbDrone.Core/Parser/Model/LocalEpisode.cs | 3 +++ 4 files changed, 9 insertions(+) diff --git a/src/NzbDrone.Core/History/HistoryService.cs b/src/NzbDrone.Core/History/HistoryService.cs index 31cc01c27..1f1e9a668 100644 --- a/src/NzbDrone.Core/History/HistoryService.cs +++ b/src/NzbDrone.Core/History/HistoryService.cs @@ -220,6 +220,7 @@ namespace NzbDrone.Core.History history.Data.Add("DownloadClient", message.DownloadClientInfo?.Type); history.Data.Add("DownloadClientName", message.DownloadClientInfo?.Name); history.Data.Add("ReleaseGroup", message.EpisodeInfo.ReleaseGroup); + history.Data.Add("CustomFormatScore", message.EpisodeInfo.CustomFormatScore.ToString()); _historyRepository.Insert(history); } diff --git a/src/NzbDrone.Core/MediaFiles/EpisodeImport/ImportDecisionMaker.cs b/src/NzbDrone.Core/MediaFiles/EpisodeImport/ImportDecisionMaker.cs index 6c20be9ef..c499783f6 100644 --- a/src/NzbDrone.Core/MediaFiles/EpisodeImport/ImportDecisionMaker.cs +++ b/src/NzbDrone.Core/MediaFiles/EpisodeImport/ImportDecisionMaker.cs @@ -140,6 +140,9 @@ namespace NzbDrone.Core.MediaFiles.EpisodeImport } else { + localEpisode.CustomFormats = _formatCalculator.ParseCustomFormat(localEpisode); + localEpisode.CustomFormatScore = localEpisode.Series.QualityProfile?.Value.CalculateCustomFormatScore(localEpisode.CustomFormats) ?? 0; + decision = GetDecision(localEpisode, downloadClientItem); } } diff --git a/src/NzbDrone.Core/MediaFiles/EpisodeImport/Manual/ManualImportService.cs b/src/NzbDrone.Core/MediaFiles/EpisodeImport/Manual/ManualImportService.cs index ed5e33849..45d90daf0 100644 --- a/src/NzbDrone.Core/MediaFiles/EpisodeImport/Manual/ManualImportService.cs +++ b/src/NzbDrone.Core/MediaFiles/EpisodeImport/Manual/ManualImportService.cs @@ -487,6 +487,8 @@ namespace NzbDrone.Core.MediaFiles.EpisodeImport.Manual // Augment episode file so imported files have all additional information an automatic import would localEpisode = _aggregationService.Augment(localEpisode, trackedDownload?.DownloadItem); + localEpisode.CustomFormats = _formatCalculator.ParseCustomFormat(localEpisode); + localEpisode.CustomFormatScore = localEpisode.Series.QualityProfile?.Value.CalculateCustomFormatScore(localEpisode.CustomFormats) ?? 0; // Apply the user-chosen values. localEpisode.Series = series; diff --git a/src/NzbDrone.Core/Parser/Model/LocalEpisode.cs b/src/NzbDrone.Core/Parser/Model/LocalEpisode.cs index e233cdcf6..91427a3f7 100644 --- a/src/NzbDrone.Core/Parser/Model/LocalEpisode.cs +++ b/src/NzbDrone.Core/Parser/Model/LocalEpisode.cs @@ -1,6 +1,7 @@ using System.Collections.Generic; using System.Linq; using NzbDrone.Common.Extensions; +using NzbDrone.Core.CustomFormats; using NzbDrone.Core.Languages; using NzbDrone.Core.MediaFiles.MediaInfo; using NzbDrone.Core.Qualities; @@ -31,6 +32,8 @@ namespace NzbDrone.Core.Parser.Model public string ReleaseGroup { get; set; } public string SceneName { get; set; } public bool OtherVideoFiles { get; set; } + public List CustomFormats { get; set; } + public int CustomFormatScore { get; set; } public int SeasonNumber {