From ea8302071458ce1556e8b37bcac010fca32ca1bc Mon Sep 17 00:00:00 2001 From: Qstick Date: Sat, 4 Dec 2021 17:17:47 -0600 Subject: [PATCH] Build Magnet on Cardigann separate --- .../Definitions/Cardigann/CardigannParser.cs | 15 +++++++++++++++ src/NzbDrone.Core/Indexers/IndexerBase.cs | 12 ------------ 2 files changed, 15 insertions(+), 12 deletions(-) diff --git a/src/NzbDrone.Core/Indexers/Definitions/Cardigann/CardigannParser.cs b/src/NzbDrone.Core/Indexers/Definitions/Cardigann/CardigannParser.cs index 55ac4f3bd..a48cd760d 100644 --- a/src/NzbDrone.Core/Indexers/Definitions/Cardigann/CardigannParser.cs +++ b/src/NzbDrone.Core/Indexers/Definitions/Cardigann/CardigannParser.cs @@ -358,6 +358,21 @@ public IList ParseResponse(IndexerResponse indexerResponse) releases = releases.Take(query.Limit).ToList(); }*/ + releases.ForEach(c => + { + // generate magnet link from info hash (not allowed for private sites) + if (((TorrentInfo)c).MagnetUrl == null && !string.IsNullOrWhiteSpace(((TorrentInfo)c).InfoHash) && _definition.Type != "private") + { + ((TorrentInfo)c).MagnetUrl = MagnetLinkBuilder.BuildPublicMagnetLink(((TorrentInfo)c).InfoHash, c.Title); + } + + // generate info hash from magnet link + if (((TorrentInfo)c).MagnetUrl != null && string.IsNullOrWhiteSpace(((TorrentInfo)c).InfoHash)) + { + ((TorrentInfo)c).InfoHash = MagnetLinkBuilder.GetInfoHashFromMagnet(((TorrentInfo)c).MagnetUrl); + } + }); + _logger.Debug($"Got {releases.Count} releases"); return releases; diff --git a/src/NzbDrone.Core/Indexers/IndexerBase.cs b/src/NzbDrone.Core/Indexers/IndexerBase.cs index cd123f4ad..9f29f8bdd 100644 --- a/src/NzbDrone.Core/Indexers/IndexerBase.cs +++ b/src/NzbDrone.Core/Indexers/IndexerBase.cs @@ -134,18 +134,6 @@ protected virtual IList CleanupReleases(IEnumerable re if (Protocol == DownloadProtocol.Torrent) { - // generate magnet link from info hash (not allowed for private sites) - if (((TorrentInfo)c).MagnetUrl == null && !string.IsNullOrWhiteSpace(((TorrentInfo)c).InfoHash) && ((IndexerDefinition)Definition).Privacy != IndexerPrivacy.Private) - { - ((TorrentInfo)c).MagnetUrl = MagnetLinkBuilder.BuildPublicMagnetLink(((TorrentInfo)c).InfoHash, c.Title); - } - - // generate info hash from magnet link - if (((TorrentInfo)c).MagnetUrl != null && string.IsNullOrWhiteSpace(((TorrentInfo)c).InfoHash)) - { - ((TorrentInfo)c).InfoHash = MagnetLinkBuilder.GetInfoHashFromMagnet(((TorrentInfo)c).MagnetUrl); - } - //Add common flags if (((TorrentInfo)c).DownloadVolumeFactor == 0) {