mirror of
https://github.com/Jackett/Jackett.git
synced 2025-09-17 17:34:09 +02:00
iiptorrents: add genre query and results
This commit is contained in:
@@ -61,11 +61,11 @@ namespace Jackett.Common.Indexers
|
||||
{
|
||||
TvSearchParams = new List<TvSearchParam>
|
||||
{
|
||||
TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep, TvSearchParam.ImdbId
|
||||
TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep, TvSearchParam.ImdbId, TvSearchParam.Genre
|
||||
},
|
||||
MovieSearchParams = new List<MovieSearchParam>
|
||||
{
|
||||
MovieSearchParam.Q, MovieSearchParam.ImdbId
|
||||
MovieSearchParam.Q, MovieSearchParam.ImdbId, MovieSearchParam.Genre
|
||||
},
|
||||
MusicSearchParams = new List<MusicSearchParam>
|
||||
{
|
||||
@@ -199,6 +199,48 @@ namespace Jackett.Common.Indexers
|
||||
{
|
||||
var releases = new List<ReleaseInfo>();
|
||||
|
||||
var ValidList = new List<string>() {
|
||||
"action",
|
||||
"adventure",
|
||||
"animation",
|
||||
"biography",
|
||||
"comedy",
|
||||
"crime",
|
||||
"documentary",
|
||||
"drama",
|
||||
"family",
|
||||
"fantasy",
|
||||
"game-show",
|
||||
"history",
|
||||
"horror",
|
||||
"music",
|
||||
"musical",
|
||||
"mystery",
|
||||
"news",
|
||||
"reality-tv",
|
||||
"romance",
|
||||
"sci-fi",
|
||||
"sitcom",
|
||||
"sport",
|
||||
"talk-show",
|
||||
"thriller",
|
||||
"war",
|
||||
"western"
|
||||
};
|
||||
|
||||
|
||||
/* notes:
|
||||
* IPTorrents can search for genre (tags) using the default title&tags search
|
||||
* qf=
|
||||
* "" = Title and Tags
|
||||
* ti = Title
|
||||
* ta = Tags
|
||||
* all = Title, Tags & Description
|
||||
* adv = Advanced
|
||||
*
|
||||
* But only movies and tv have tags.
|
||||
*/
|
||||
|
||||
var qc = new NameValueCollection();
|
||||
|
||||
|
||||
@@ -212,7 +254,11 @@ namespace Jackett.Common.Indexers
|
||||
|
||||
if (query.IsImdbQuery)
|
||||
qc.Add("q", query.ImdbID);
|
||||
else if (!string.IsNullOrWhiteSpace(query.GetQueryString()))
|
||||
else
|
||||
if (query.IsGenreQuery)
|
||||
qc.Add("q", query.GetQueryString() + " " + query.Genre);
|
||||
else
|
||||
if (!string.IsNullOrWhiteSpace(query.GetQueryString()))
|
||||
qc.Add("q", query.GetQueryString());
|
||||
|
||||
foreach (var cat in MapTorznabCapsToTrackers(query))
|
||||
@@ -258,6 +304,9 @@ namespace Jackett.Common.Indexers
|
||||
var description = descrSplit.Length > 1 ? "Tags: " + descrSplit.First().Trim() : "";
|
||||
description += dateSplit.Length > 1 ? " Uploaded by: " + dateSplit.Last().Trim() : "";
|
||||
|
||||
char[] delimiters = { ',', ' ', '/', ')', '(', '.', ';', '[', ']', '"', '|', ':' };
|
||||
var releaseGenres = ValidList.Intersect(description.ToLower().Split(delimiters, System.StringSplitOptions.RemoveEmptyEntries)).ToList();
|
||||
|
||||
var catIcon = row.QuerySelector("td:nth-of-type(1) a");
|
||||
if (catIcon == null)
|
||||
// Torrents - Category column == Text or Code
|
||||
@@ -299,6 +348,9 @@ namespace Jackett.Common.Indexers
|
||||
MinimumRatio = 1,
|
||||
MinimumSeedTime = 1209600 // 336 hours
|
||||
};
|
||||
if (release.Genres == null)
|
||||
release.Genres = new List<string>();
|
||||
release.Genres = releaseGenres;
|
||||
|
||||
releases.Add(release);
|
||||
}
|
||||
|
Reference in New Issue
Block a user