1
0
Fork 0
mirror of https://github.com/Jackett/Jackett synced 2025-02-25 07:32:38 +00:00

Manual search: extract season/episode

This commit is contained in:
kaso17 2017-03-06 19:30:24 +01:00
parent 9801e02c33
commit fb3fdc7e8c

View file

@ -16,6 +16,7 @@ using System.Net.Http;
using System.Net.Http.Headers; using System.Net.Http.Headers;
using System.Security.Claims; using System.Security.Claims;
using System.Text; using System.Text;
using System.Text.RegularExpressions;
using System.Threading; using System.Threading;
using System.Threading.Tasks; using System.Threading.Tasks;
using System.Web; using System.Web;
@ -486,11 +487,30 @@ namespace Jackett.Controllers
public ManualSearchResult Search([FromBody]AdminSearch value) public ManualSearchResult Search([FromBody]AdminSearch value)
{ {
var results = new List<TrackerCacheResult>(); var results = new List<TrackerCacheResult>();
var stringQuery = new TorznabQuery() var stringQuery = new TorznabQuery();
{
SearchTerm = value.Query, var queryStr = value.Query;
Categories = value.Category == 0 ? new int[0] : new int[1] { value.Category } if (queryStr != null)
}; {
var seasonMatch = Regex.Match(queryStr, @"S(\d{2,4})");
if (seasonMatch.Success)
{
stringQuery.Season = int.Parse(seasonMatch.Groups[1].Value);
queryStr = queryStr.Remove(seasonMatch.Index, seasonMatch.Length);
}
var episodeMatch = Regex.Match(queryStr, @"E(\d{2,4})");
if (episodeMatch.Success)
{
stringQuery.Episode = episodeMatch.Groups[1].Value;
queryStr = queryStr.Remove(episodeMatch.Index, episodeMatch.Length);
}
queryStr = queryStr.Trim();
}
stringQuery.SearchTerm = queryStr;
stringQuery.Categories = value.Category == 0 ? new int[0] : new int[1] { value.Category };
stringQuery.ExpandCatsToSubCats(); stringQuery.ExpandCatsToSubCats();
// try to build an IMDB Query // try to build an IMDB Query
@ -501,7 +521,9 @@ namespace Jackett.Controllers
imdbQuery = new TorznabQuery() imdbQuery = new TorznabQuery()
{ {
ImdbID = imdbID, ImdbID = imdbID,
Categories = stringQuery.Categories Categories = stringQuery.Categories,
Season = stringQuery.Season,
Episode = stringQuery.Episode,
}; };
imdbQuery.ExpandCatsToSubCats(); imdbQuery.ExpandCatsToSubCats();
} }