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:
parent
9801e02c33
commit
fb3fdc7e8c
1 changed files with 28 additions and 6 deletions
|
@ -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();
|
||||||
|
|
||||||
|
var queryStr = value.Query;
|
||||||
|
if (queryStr != null)
|
||||||
{
|
{
|
||||||
SearchTerm = value.Query,
|
var seasonMatch = Regex.Match(queryStr, @"S(\d{2,4})");
|
||||||
Categories = value.Category == 0 ? new int[0] : new int[1] { value.Category }
|
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();
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue