From e2a46820da5e80e9db5c326d52ef05b8d708c7b2 Mon Sep 17 00:00:00 2001 From: Qstick Date: Sun, 27 Dec 2020 23:23:45 -0500 Subject: [PATCH] Fixed: Allow add and search of PTP --- .../PassThePopcorn/PassThePopcorn.cs | 35 +++++++++++++++---- .../PassThePopcorn/PassThePopcornParser.cs | 3 +- .../PassThePopcornRequestGenerator.cs | 6 +++- 3 files changed, 35 insertions(+), 9 deletions(-) diff --git a/src/NzbDrone.Core/Indexers/Definitions/PassThePopcorn/PassThePopcorn.cs b/src/NzbDrone.Core/Indexers/Definitions/PassThePopcorn/PassThePopcorn.cs index c113aa654..fc7e7244c 100644 --- a/src/NzbDrone.Core/Indexers/Definitions/PassThePopcorn/PassThePopcorn.cs +++ b/src/NzbDrone.Core/Indexers/Definitions/PassThePopcorn/PassThePopcorn.cs @@ -14,13 +14,7 @@ namespace NzbDrone.Core.Indexers.PassThePopcorn public override bool SupportsRss => true; public override bool SupportsSearch => true; - public override IndexerCapabilities Capabilities => new IndexerCapabilities - { - MovieSearchParams = new List - { - MovieSearchParam.Q, MovieSearchParam.ImdbId - } - }; + public override IndexerCapabilities Capabilities => SetCapabilities(); public override int PageSize => 50; @@ -43,6 +37,33 @@ namespace NzbDrone.Core.Indexers.PassThePopcorn }; } + private IndexerCapabilities SetCapabilities() + { + var caps = new IndexerCapabilities + { + MovieSearchParams = new List + { + MovieSearchParam.Q, MovieSearchParam.ImdbId + } + }; + + caps.Categories.AddCategoryMapping(1.ToString(), NewznabStandardCategory.Movies, "Feature Film"); + caps.Categories.AddCategoryMapping(1.ToString(), NewznabStandardCategory.MoviesForeign); + caps.Categories.AddCategoryMapping(1.ToString(), NewznabStandardCategory.MoviesOther); + caps.Categories.AddCategoryMapping(1.ToString(), NewznabStandardCategory.MoviesSD); + caps.Categories.AddCategoryMapping(1.ToString(), NewznabStandardCategory.MoviesHD); + caps.Categories.AddCategoryMapping(1.ToString(), NewznabStandardCategory.Movies3D); + caps.Categories.AddCategoryMapping(1.ToString(), NewznabStandardCategory.MoviesBluRay); + caps.Categories.AddCategoryMapping(1.ToString(), NewznabStandardCategory.MoviesDVD); + caps.Categories.AddCategoryMapping(1.ToString(), NewznabStandardCategory.MoviesWEBDL); + caps.Categories.AddCategoryMapping(2.ToString(), NewznabStandardCategory.Movies, "Short Film"); + caps.Categories.AddCategoryMapping(3.ToString(), NewznabStandardCategory.TV, "Miniseries"); + caps.Categories.AddCategoryMapping(4.ToString(), NewznabStandardCategory.TV, "Stand-up Comedy"); + caps.Categories.AddCategoryMapping(5.ToString(), NewznabStandardCategory.TV, "Live Performance"); + + return caps; + } + public override IParseIndexerResponse GetParser() { return new PassThePopcornParser(Settings, _logger); diff --git a/src/NzbDrone.Core/Indexers/Definitions/PassThePopcorn/PassThePopcornParser.cs b/src/NzbDrone.Core/Indexers/Definitions/PassThePopcorn/PassThePopcornParser.cs index 03d155c65..13860ce22 100644 --- a/src/NzbDrone.Core/Indexers/Definitions/PassThePopcorn/PassThePopcornParser.cs +++ b/src/NzbDrone.Core/Indexers/Definitions/PassThePopcorn/PassThePopcornParser.cs @@ -102,7 +102,8 @@ namespace NzbDrone.Core.Indexers.PassThePopcorn Scene = torrent.Scene, Approved = torrent.Checked, ImdbId = result.ImdbId.IsNotNullOrWhiteSpace() ? int.Parse(result.ImdbId) : 0, - IndexerFlags = flags + IndexerFlags = flags, + Category = new List { NewznabStandardCategory.Movies } }); } catch (Exception e) diff --git a/src/NzbDrone.Core/Indexers/Definitions/PassThePopcorn/PassThePopcornRequestGenerator.cs b/src/NzbDrone.Core/Indexers/Definitions/PassThePopcorn/PassThePopcornRequestGenerator.cs index 3a5911ead..77fb4c6ee 100644 --- a/src/NzbDrone.Core/Indexers/Definitions/PassThePopcorn/PassThePopcornRequestGenerator.cs +++ b/src/NzbDrone.Core/Indexers/Definitions/PassThePopcorn/PassThePopcornRequestGenerator.cs @@ -75,7 +75,11 @@ namespace NzbDrone.Core.Indexers.PassThePopcorn public IndexerPageableRequestChain GetSearchRequests(BasicSearchCriteria searchCriteria) { - return new IndexerPageableRequestChain(); + var pageableRequests = new IndexerPageableRequestChain(); + + pageableRequests.Add(GetRequest(string.Format("{0}", searchCriteria.SearchTerm))); + + return pageableRequests; } } }