mirror of
https://github.com/Prowlarr/Prowlarr.git
synced 2025-09-17 17:14:18 +02:00
Fixed: DigitalCore IMDB, TV, Music, Book Search
This commit is contained in:
@@ -1,16 +1,19 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
using System.Collections.Specialized;
|
||||||
using System.Globalization;
|
using System.Globalization;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Net;
|
using System.Net;
|
||||||
using FluentValidation;
|
using FluentValidation;
|
||||||
using Newtonsoft.Json;
|
using Newtonsoft.Json;
|
||||||
using NLog;
|
using NLog;
|
||||||
|
using NzbDrone.Common.Extensions;
|
||||||
using NzbDrone.Common.Http;
|
using NzbDrone.Common.Http;
|
||||||
using NzbDrone.Core.Annotations;
|
using NzbDrone.Core.Annotations;
|
||||||
using NzbDrone.Core.Configuration;
|
using NzbDrone.Core.Configuration;
|
||||||
using NzbDrone.Core.Indexers.Exceptions;
|
using NzbDrone.Core.Indexers.Exceptions;
|
||||||
using NzbDrone.Core.IndexerSearch.Definitions;
|
using NzbDrone.Core.IndexerSearch.Definitions;
|
||||||
|
using NzbDrone.Core.Parser;
|
||||||
using NzbDrone.Core.Parser.Model;
|
using NzbDrone.Core.Parser.Model;
|
||||||
using NzbDrone.Core.ThingiProvider;
|
using NzbDrone.Core.ThingiProvider;
|
||||||
using NzbDrone.Core.Validation;
|
using NzbDrone.Core.Validation;
|
||||||
@@ -132,25 +135,34 @@ namespace NzbDrone.Core.Indexers.Definitions
|
|||||||
PageSize = 100;
|
PageSize = 100;
|
||||||
}
|
}
|
||||||
|
|
||||||
private IEnumerable<IndexerRequest> GetPagedRequests(string term, int[] categories)
|
private IEnumerable<IndexerRequest> GetPagedRequests(string term, int[] categories, string imdbId = null)
|
||||||
{
|
{
|
||||||
var baseUrl = string.Format("{0}/api/v1/torrents?extendedSearch=false", BaseUrl.TrimEnd('/'));
|
var searchUrl = string.Format("{0}/api/v1/torrents", BaseUrl.TrimEnd('/'));
|
||||||
|
|
||||||
var parameters = string.Empty;
|
var parameters = new NameValueCollection();
|
||||||
|
|
||||||
parameters += "&freeleech=false";
|
parameters.Add("extendedSearch", "false");
|
||||||
parameters += "&index=0";
|
parameters.Add("freeleech", "false");
|
||||||
parameters += "&limit=100";
|
parameters.Add("index", "0");
|
||||||
parameters += "&order=desc";
|
parameters.Add("limit", "100");
|
||||||
parameters += "&page=search";
|
parameters.Add("order", "desc");
|
||||||
parameters += string.Format("&searchText={0}", term);
|
parameters.Add("page", "search");
|
||||||
|
|
||||||
parameters += "&sort=d";
|
if (imdbId.IsNotNullOrWhiteSpace())
|
||||||
parameters += "§ion=all";
|
{
|
||||||
parameters += "&stereoscopic=false";
|
parameters.Add("searchText", imdbId);
|
||||||
parameters += "&watchview=false";
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
parameters.Add("searchText", term);
|
||||||
|
}
|
||||||
|
|
||||||
var searchUrl = baseUrl + parameters;
|
parameters.Add("sort", "d");
|
||||||
|
parameters.Add("section", "all");
|
||||||
|
parameters.Add("stereoscopic", "false");
|
||||||
|
parameters.Add("watchview", "false");
|
||||||
|
|
||||||
|
searchUrl += "?" + parameters.GetQueryString();
|
||||||
|
|
||||||
foreach (var cat in Capabilities.Categories.MapTorznabCapsToTrackers(categories))
|
foreach (var cat in Capabilities.Categories.MapTorznabCapsToTrackers(categories))
|
||||||
{
|
{
|
||||||
@@ -166,24 +178,36 @@ namespace NzbDrone.Core.Indexers.Definitions
|
|||||||
{
|
{
|
||||||
var pageableRequests = new IndexerPageableRequestChain();
|
var pageableRequests = new IndexerPageableRequestChain();
|
||||||
|
|
||||||
pageableRequests.Add(GetPagedRequests(string.Format("{0}", searchCriteria.SearchTerm), searchCriteria.Categories));
|
pageableRequests.Add(GetPagedRequests(string.Format("{0}", searchCriteria.SanitizedSearchTerm), searchCriteria.Categories, searchCriteria.ImdbId));
|
||||||
|
|
||||||
return pageableRequests;
|
return pageableRequests;
|
||||||
}
|
}
|
||||||
|
|
||||||
public IndexerPageableRequestChain GetSearchRequests(MusicSearchCriteria searchCriteria)
|
public IndexerPageableRequestChain GetSearchRequests(MusicSearchCriteria searchCriteria)
|
||||||
{
|
{
|
||||||
return new IndexerPageableRequestChain();
|
var pageableRequests = new IndexerPageableRequestChain();
|
||||||
|
|
||||||
|
pageableRequests.Add(GetPagedRequests(string.Format("{0}", searchCriteria.SanitizedSearchTerm), searchCriteria.Categories));
|
||||||
|
|
||||||
|
return pageableRequests;
|
||||||
}
|
}
|
||||||
|
|
||||||
public IndexerPageableRequestChain GetSearchRequests(TvSearchCriteria searchCriteria)
|
public IndexerPageableRequestChain GetSearchRequests(TvSearchCriteria searchCriteria)
|
||||||
{
|
{
|
||||||
return new IndexerPageableRequestChain();
|
var pageableRequests = new IndexerPageableRequestChain();
|
||||||
|
|
||||||
|
pageableRequests.Add(GetPagedRequests(string.Format("{0}", searchCriteria.SanitizedTvSearchString), searchCriteria.Categories, searchCriteria.ImdbId));
|
||||||
|
|
||||||
|
return pageableRequests;
|
||||||
}
|
}
|
||||||
|
|
||||||
public IndexerPageableRequestChain GetSearchRequests(BookSearchCriteria searchCriteria)
|
public IndexerPageableRequestChain GetSearchRequests(BookSearchCriteria searchCriteria)
|
||||||
{
|
{
|
||||||
return new IndexerPageableRequestChain();
|
var pageableRequests = new IndexerPageableRequestChain();
|
||||||
|
|
||||||
|
pageableRequests.Add(GetPagedRequests(string.Format("{0}", searchCriteria.SanitizedSearchTerm), searchCriteria.Categories));
|
||||||
|
|
||||||
|
return pageableRequests;
|
||||||
}
|
}
|
||||||
|
|
||||||
public IndexerPageableRequestChain GetSearchRequests(BasicSearchCriteria searchCriteria)
|
public IndexerPageableRequestChain GetSearchRequests(BasicSearchCriteria searchCriteria)
|
||||||
|
Reference in New Issue
Block a user