|
|
@ -20,7 +20,7 @@ namespace NzbDrone.Core.Indexers.Rarbg
|
|
|
|
_tokenProvider = tokenProvider;
|
|
|
|
_tokenProvider = tokenProvider;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
private IEnumerable<IndexerRequest> GetRequest(string term, int[] categories, string imdbId = null, int? tmdbId = null)
|
|
|
|
private IEnumerable<IndexerRequest> GetRequest(string term, int[] categories, string imdbId = null, int? tmdbId = null, int? tvdbId = null)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
var requestBuilder = new HttpRequestBuilder(Settings.BaseUrl)
|
|
|
|
var requestBuilder = new HttpRequestBuilder(Settings.BaseUrl)
|
|
|
|
.Resource("/pubapi_v2.php")
|
|
|
|
.Resource("/pubapi_v2.php")
|
|
|
@ -42,6 +42,10 @@ namespace NzbDrone.Core.Indexers.Rarbg
|
|
|
|
{
|
|
|
|
{
|
|
|
|
requestBuilder.AddQueryParam("search_themoviedb", tmdbId);
|
|
|
|
requestBuilder.AddQueryParam("search_themoviedb", tmdbId);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
else if (tvdbId.HasValue && tmdbId > 0)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
requestBuilder.AddQueryParam("search_tvdb", tvdbId);
|
|
|
|
|
|
|
|
}
|
|
|
|
else if (term.IsNotNullOrWhiteSpace())
|
|
|
|
else if (term.IsNotNullOrWhiteSpace())
|
|
|
|
{
|
|
|
|
{
|
|
|
|
requestBuilder.AddQueryParam("search_string", $"{term}");
|
|
|
|
requestBuilder.AddQueryParam("search_string", $"{term}");
|
|
|
@ -70,36 +74,43 @@ namespace NzbDrone.Core.Indexers.Rarbg
|
|
|
|
|
|
|
|
|
|
|
|
public IndexerPageableRequestChain GetSearchRequests(MovieSearchCriteria searchCriteria)
|
|
|
|
public IndexerPageableRequestChain GetSearchRequests(MovieSearchCriteria searchCriteria)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
var pageableRequests = new IndexerPageableRequestChain();
|
|
|
|
var request = GetRequest(searchCriteria.SanitizedSearchTerm, searchCriteria.Categories, searchCriteria.FullImdbId, searchCriteria.TmdbId);
|
|
|
|
pageableRequests.Add(GetRequest(searchCriteria.SanitizedSearchTerm, searchCriteria.Categories, searchCriteria.FullImdbId, searchCriteria.TmdbId));
|
|
|
|
return GetRequestChain(request, 2);
|
|
|
|
return pageableRequests;
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public IndexerPageableRequestChain GetSearchRequests(MusicSearchCriteria searchCriteria)
|
|
|
|
public IndexerPageableRequestChain GetSearchRequests(MusicSearchCriteria searchCriteria)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
var pageableRequests = new IndexerPageableRequestChain();
|
|
|
|
var request = GetRequest(searchCriteria.SanitizedSearchTerm, searchCriteria.Categories);
|
|
|
|
pageableRequests.Add(GetRequest(searchCriteria.SanitizedSearchTerm, searchCriteria.Categories));
|
|
|
|
return GetRequestChain(request, 2);
|
|
|
|
return pageableRequests;
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public IndexerPageableRequestChain GetSearchRequests(TvSearchCriteria searchCriteria)
|
|
|
|
public IndexerPageableRequestChain GetSearchRequests(TvSearchCriteria searchCriteria)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
var pageableRequests = new IndexerPageableRequestChain();
|
|
|
|
var request = GetRequest(searchCriteria.SanitizedTvSearchString, searchCriteria.Categories, searchCriteria.FullImdbId, tvdbId: searchCriteria.TvdbId);
|
|
|
|
pageableRequests.Add(GetRequest(searchCriteria.SanitizedTvSearchString, searchCriteria.Categories, searchCriteria.FullImdbId));
|
|
|
|
return GetRequestChain(request, 2);
|
|
|
|
return pageableRequests;
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public IndexerPageableRequestChain GetSearchRequests(BookSearchCriteria searchCriteria)
|
|
|
|
public IndexerPageableRequestChain GetSearchRequests(BookSearchCriteria searchCriteria)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
var pageableRequests = new IndexerPageableRequestChain();
|
|
|
|
var request = GetRequest(searchCriteria.SanitizedSearchTerm, searchCriteria.Categories);
|
|
|
|
pageableRequests.Add(GetRequest(searchCriteria.SanitizedSearchTerm, searchCriteria.Categories));
|
|
|
|
return GetRequestChain(request, 2);
|
|
|
|
return pageableRequests;
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public IndexerPageableRequestChain GetSearchRequests(BasicSearchCriteria searchCriteria)
|
|
|
|
public IndexerPageableRequestChain GetSearchRequests(BasicSearchCriteria searchCriteria)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
var request = GetRequest(searchCriteria.SanitizedSearchTerm, searchCriteria.Categories);
|
|
|
|
|
|
|
|
return GetRequestChain(request, 2);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private IndexerPageableRequestChain GetRequestChain(IEnumerable<IndexerRequest> requests, int retry)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
var pageableRequests = new IndexerPageableRequestChain();
|
|
|
|
var pageableRequests = new IndexerPageableRequestChain();
|
|
|
|
pageableRequests.Add(GetRequest(searchCriteria.SanitizedSearchTerm, searchCriteria.Categories));
|
|
|
|
|
|
|
|
|
|
|
|
for (int i = 0; i < retry; i++)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
pageableRequests.AddTier(requests);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
return pageableRequests;
|
|
|
|
return pageableRequests;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|