redacted/orpheus: fetch latest 50 releases with grouped torrents on RSS

This commit is contained in:
Bogdan 2023-11-07 21:29:16 +02:00
parent 2381363ca5
commit 2fa617b97d
7 changed files with 48 additions and 13 deletions

View File

@ -89,7 +89,7 @@ namespace Jackett.Common.Indexers.Abstract
qc.Add("tmdb", query.TmdbID.ToString());
qc.Add("search", GetEpisodeSearchTerm(query));
}
else if (query.IsTvdbSearch)
else if (query.IsTvdbQuery)
{
qc.Add("tvdb", query.TvdbID.ToString());
qc.Add("search", GetEpisodeSearchTerm(query));

View File

@ -271,9 +271,9 @@ namespace Jackett.Common.Indexers
return true;
if (caps.BookSearchAvailable && query.IsBookSearch)
return true;
if (caps.TvSearchTvRageAvailable && query.IsTVRageSearch)
if (caps.TvSearchTvRageAvailable && query.IsTVRageQuery)
return true;
if (caps.TvSearchTvdbAvailable && query.IsTvdbSearch)
if (caps.TvSearchTvdbAvailable && query.IsTvdbQuery)
return true;
if (caps.MovieSearchImdbAvailable && query.IsImdbQuery)
return true;

View File

@ -115,7 +115,7 @@ namespace Jackett.Common.Indexers
var releases = new List<ReleaseInfo>();
var searchParam = new Dictionary<string, string>();
if (query.IsTvdbSearch)
if (query.IsTvdbQuery)
searchParam["tvdb"] = string.Format("{0}", query.TvdbID);
searchParam["search"] = searchString.Replace(" ", "%");

View File

@ -73,9 +73,9 @@ namespace Jackett.Common.Indexers
var releases = await base.PerformQuery(query);
if (query.SearchTerm.IsNullOrWhiteSpace())
if (query.IsRssSearch)
{
releases = releases.Take(50).ToList();
releases = releases.Take(50);
}
return releases;

View File

@ -1,5 +1,7 @@
using System.Collections.Generic;
using System.Diagnostics.CodeAnalysis;
using System.Linq;
using System.Threading.Tasks;
using Jackett.Common.Indexers.Abstract;
using Jackett.Common.Models;
using Jackett.Common.Services.Interfaces;
@ -65,5 +67,17 @@ namespace Jackett.Common.Indexers
return caps;
}
protected override async Task<IEnumerable<ReleaseInfo>> PerformQuery(TorznabQuery query)
{
var releases = await base.PerformQuery(query);
if (query.IsRssSearch)
{
releases = releases.Take(50);
}
return releases;
}
}
}

View File

@ -70,11 +70,17 @@ namespace Jackett.Common.Indexers
protected override async Task<IEnumerable<ReleaseInfo>> PerformQuery(TorznabQuery query)
{
var results = await base.PerformQuery(query);
// results must contain search terms
results = results.Where(release => query.MatchQueryStringAND(release.Title));
return results;
}
var releases = await base.PerformQuery(query);
// results must contain search terms
releases = releases.Where(release => query.MatchQueryStringAND(release.Title));
if (query.IsRssSearch)
{
releases = releases.Take(50);
}
return releases;
}
}
}

View File

@ -61,9 +61,9 @@ namespace Jackett.Common.Models
public bool IsBookSearch => QueryType == "book";
public bool IsTVRageSearch => RageID != null;
public bool IsTVRageQuery => RageID != null;
public bool IsTvdbSearch => TvdbID != null;
public bool IsTvdbQuery => TvdbID != null;
public bool IsImdbQuery => ImdbID != null;
@ -77,6 +77,21 @@ namespace Jackett.Common.Models
public bool IsGenreQuery => Genre != null;
public bool IsRssSearch =>
SearchTerm.IsNullOrWhiteSpace() &&
!IsIdSearch;
public bool IsIdSearch =>
Episode.IsNotNullOrWhiteSpace() ||
Season > 0 ||
IsImdbQuery ||
IsTvdbQuery ||
IsTVRageQuery ||
IsTraktQuery ||
IsTvmazeQuery ||
IsTmdbQuery ||
IsDoubanQuery;
public bool HasSpecifiedCategories => (Categories != null && Categories.Length > 0);
public string SanitizedSearchTerm