|
|
|
@ -1,6 +1,7 @@
|
|
|
|
|
using System;
|
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
using System.Collections.Specialized;
|
|
|
|
|
using System.Globalization;
|
|
|
|
|
using System.Linq;
|
|
|
|
|
using NzbDrone.Common.Extensions;
|
|
|
|
|
using NzbDrone.Common.Http;
|
|
|
|
@ -25,25 +26,34 @@ public class FileListRequestGenerator : IIndexerRequestGenerator
|
|
|
|
|
{
|
|
|
|
|
parameters.Set("action", "search-torrents");
|
|
|
|
|
|
|
|
|
|
if (searchCriteria.ImdbId.IsNotNullOrWhiteSpace())
|
|
|
|
|
var searchQuery = searchCriteria.SanitizedSearchTerm.Trim();
|
|
|
|
|
|
|
|
|
|
if (DateTime.TryParseExact($"{searchCriteria.Season} {searchCriteria.Episode}", "yyyy MM/dd", CultureInfo.InvariantCulture, DateTimeStyles.None, out var showDate))
|
|
|
|
|
{
|
|
|
|
|
parameters.Set("type", "imdb");
|
|
|
|
|
parameters.Set("query", searchCriteria.FullImdbId);
|
|
|
|
|
searchQuery = $"{searchQuery} {showDate:yyyy.MM.dd}".Trim();
|
|
|
|
|
}
|
|
|
|
|
else if (searchCriteria.SearchTerm.IsNotNullOrWhiteSpace())
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
parameters.Set("type", "name");
|
|
|
|
|
parameters.Set("query", searchCriteria.SanitizedSearchTerm.Trim());
|
|
|
|
|
if (searchCriteria.Season.HasValue)
|
|
|
|
|
{
|
|
|
|
|
parameters.Set("season", searchCriteria.Season.ToString());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (searchCriteria.Episode.IsNotNullOrWhiteSpace())
|
|
|
|
|
{
|
|
|
|
|
parameters.Set("episode", searchCriteria.Episode);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (searchCriteria.Season.HasValue)
|
|
|
|
|
if (searchCriteria.ImdbId.IsNotNullOrWhiteSpace())
|
|
|
|
|
{
|
|
|
|
|
parameters.Set("season", searchCriteria.Season.ToString());
|
|
|
|
|
parameters.Set("type", "imdb");
|
|
|
|
|
parameters.Set("query", searchCriteria.FullImdbId);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (searchCriteria.Episode.IsNotNullOrWhiteSpace())
|
|
|
|
|
else if (searchCriteria.SearchTerm.IsNotNullOrWhiteSpace())
|
|
|
|
|
{
|
|
|
|
|
parameters.Set("episode", searchCriteria.Episode);
|
|
|
|
|
parameters.Set("type", "name");
|
|
|
|
|
parameters.Set("query", searchQuery);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|