From 22f296b645344a574b53bbefbb14059374118727 Mon Sep 17 00:00:00 2001 From: Bogdan Date: Fri, 20 Oct 2023 00:21:09 +0300 Subject: [PATCH] ptp: return TV category if season/episode detected in title --- src/Jackett.Common/Indexers/PassThePopcorn.cs | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/src/Jackett.Common/Indexers/PassThePopcorn.cs b/src/Jackett.Common/Indexers/PassThePopcorn.cs index f70535caa..24f5d960c 100644 --- a/src/Jackett.Common/Indexers/PassThePopcorn.cs +++ b/src/Jackett.Common/Indexers/PassThePopcorn.cs @@ -5,6 +5,7 @@ using System.Diagnostics.CodeAnalysis; using System.Globalization; using System.Linq; using System.Net; +using System.Text.RegularExpressions; using System.Threading.Tasks; using Jackett.Common.Models; using Jackett.Common.Models.IndexerConfig; @@ -162,6 +163,8 @@ namespace Jackett.Common.Indexers results = await RequestWithCookiesAndRetryAsync(movieListSearchUrl, headers: authHeaders); } + var seasonRegex = new Regex(@"\bS\d{2,3}(E\d{2,3})?\b", RegexOptions.Compiled); + try { //Iterate over the releases for each movie @@ -226,6 +229,13 @@ namespace Jackett.Common.Indexers var publishDate = DateTime.ParseExact((string)torrent["UploadTime"], "yyyy-MM-dd HH:mm:ss", CultureInfo.InvariantCulture, DateTimeStyles.AssumeUniversal).ToLocalTime(); var leechers = int.Parse((string)torrent["Leechers"]); + var categories = new List { TorznabCatType.Movies.ID }; + + if (releaseName != null && seasonRegex.Match(releaseName).Success) + { + categories.Add(TorznabCatType.TV.ID); + } + var release = new ReleaseInfo { Guid = link, @@ -234,7 +244,7 @@ namespace Jackett.Common.Indexers Title = releaseName, Description = $"Title: {movieTitle}", Year = int.Parse(year), - Category = new List { TorznabCatType.Movies.ID }, + Category = categories, Poster = poster, Imdb = movieImdbId, Size = size,