From 67b96f0696c6e95a36e83bf01174840b34ca82a4 Mon Sep 17 00:00:00 2001 From: mikeoscar2006 <89641725+mikeoscar2006@users.noreply.github.com> Date: Sun, 29 Aug 2021 04:03:23 +0530 Subject: [PATCH] rarbg: Add IMDB support for tvsearch (#12225) resolves #12127 --- src/Jackett.Common/Indexers/RarBG.cs | 14 +++++++++++--- src/Jackett.Common/Models/TorznabCapabilities.cs | 3 ++- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/src/Jackett.Common/Indexers/RarBG.cs b/src/Jackett.Common/Indexers/RarBG.cs index 5be59cac6..f150d3734 100644 --- a/src/Jackett.Common/Indexers/RarBG.cs +++ b/src/Jackett.Common/Indexers/RarBG.cs @@ -41,7 +41,7 @@ namespace Jackett.Common.Indexers { TvSearchParams = new List { - TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep + TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep, TvSearchParam.ImdbId }, MovieSearchParams = new List { @@ -54,7 +54,8 @@ namespace Jackett.Common.Indexers BookSearchParams = new List { BookSearchParam.Q - } + }, + TvSearchImdbAvailable = true }, configService: configService, client: wc, @@ -230,6 +231,7 @@ namespace Jackett.Common.Indexers private string BuildSearchUrl(TorznabQuery query) { var searchString = query.GetQueryString(); + var episodeSearchString = query.GetEpisodeSearchString(); var qc = new NameValueCollection { { "token", _token }, @@ -240,7 +242,13 @@ namespace Jackett.Common.Indexers { "sort", _sort } }; - if (query.ImdbID != null) + if (query.IsTVSearch && !string.IsNullOrWhiteSpace(episodeSearchString) && query.ImdbID != null) + { + qc.Add("mode", "search"); + qc.Add("search_imdb", query.ImdbID); + qc.Add("search_string", episodeSearchString); + } + else if (query.ImdbID != null) { qc.Add("mode", "search"); qc.Add("search_imdb", query.ImdbID); diff --git a/src/Jackett.Common/Models/TorznabCapabilities.cs b/src/Jackett.Common/Models/TorznabCapabilities.cs index 67093f1e4..884e72562 100644 --- a/src/Jackett.Common/Models/TorznabCapabilities.cs +++ b/src/Jackett.Common/Models/TorznabCapabilities.cs @@ -50,7 +50,8 @@ namespace Jackett.Common.Models public bool TvSearchSeasonAvailable => (TvSearchParams.Contains(TvSearchParam.Season)); public bool TvSearchEpAvailable => (TvSearchParams.Contains(TvSearchParam.Ep)); //TvSearchImdbAvailable temporarily disabled due to #8107 - public bool TvSearchImdbAvailable => false; // (TvSearchParams.Contains(TvSearchParam.ImdbId)); + // Introduce setter so individual trackers can override + public bool TvSearchImdbAvailable { get; set; } = false; // (TvSearchParams.Contains(TvSearchParam.ImdbId)); public bool TvSearchTvdbAvailable => (TvSearchParams.Contains(TvSearchParam.TvdbId)); public bool TvSearchTvRageAvailable => (TvSearchParams.Contains(TvSearchParam.RId));