Fixed: Newznab Artist search (#482)

* Fixed: Newznab Artist search

space is still not allowed
make code more readable

* add back the curly braces
pull/478/head
gismo2004 6 years ago committed by Qstick
parent 65a1581057
commit e155217165

@ -70,9 +70,7 @@ namespace NzbDrone.Core.Indexers.Newznab
if (SupportsAudioSearch) if (SupportsAudioSearch)
{ {
AddAudioPageableRequests(pageableRequests, searchCriteria, AddAudioPageableRequests(pageableRequests, searchCriteria,
string.Format("&artist={0}&album={1}", NewsnabifyTitle($"&artist={searchCriteria.ArtistQuery}&album={searchCriteria.AlbumQuery}"));
NewsnabifyTitle(searchCriteria.ArtistQuery),
NewsnabifyTitle(searchCriteria.AlbumQuery)));
} }
if (SupportsSearch) if (SupportsSearch)
@ -80,11 +78,7 @@ namespace NzbDrone.Core.Indexers.Newznab
pageableRequests.AddTier(); pageableRequests.AddTier();
pageableRequests.Add(GetPagedRequests(MaxPages, Settings.Categories, "search", pageableRequests.Add(GetPagedRequests(MaxPages, Settings.Categories, "search",
string.Format("&q={0}", NewsnabifyTitle($"&q={searchCriteria.ArtistQuery}+{searchCriteria.AlbumQuery}")));
NewsnabifyTitle(string.Format("{0}+{1}",
searchCriteria.ArtistQuery,
searchCriteria.AlbumQuery)))));
} }
return pageableRequests; return pageableRequests;
@ -94,13 +88,10 @@ namespace NzbDrone.Core.Indexers.Newznab
{ {
var pageableRequests = new IndexerPageableRequestChain(); var pageableRequests = new IndexerPageableRequestChain();
if (SupportsAudioSearch) if (SupportsAudioSearch)
{ {
AddAudioPageableRequests(pageableRequests, searchCriteria, AddAudioPageableRequests(pageableRequests, searchCriteria,
string.Format("&artist={0}", NewsnabifyTitle($"&artist={searchCriteria.ArtistQuery}"));
NewsnabifyTitle(searchCriteria.Artist.Name)));
} }
if (SupportsSearch) if (SupportsSearch)
@ -108,9 +99,7 @@ namespace NzbDrone.Core.Indexers.Newznab
pageableRequests.AddTier(); pageableRequests.AddTier();
pageableRequests.Add(GetPagedRequests(MaxPages, Settings.Categories, "search", pageableRequests.Add(GetPagedRequests(MaxPages, Settings.Categories, "search",
string.Format("&q={0}", NewsnabifyTitle($"&q={searchCriteria.ArtistQuery}")));
NewsnabifyTitle(searchCriteria.Artist.Name))));
} }
return pageableRequests; return pageableRequests;
@ -118,11 +107,9 @@ namespace NzbDrone.Core.Indexers.Newznab
private void AddAudioPageableRequests(IndexerPageableRequestChain chain, SearchCriteriaBase searchCriteria, string parameters) private void AddAudioPageableRequests(IndexerPageableRequestChain chain, SearchCriteriaBase searchCriteria, string parameters)
{ {
chain.AddTier(); chain.AddTier();
chain.Add(GetPagedRequests(MaxPages, Settings.Categories, "music", chain.Add(GetPagedRequests(MaxPages, Settings.Categories, "music", $"&q={parameters}"));
string.Format("&q={0}",
parameters)));
} }
private IEnumerable<IndexerRequest> GetPagedRequests(int maxPages, IEnumerable<int> categories, string searchType, string parameters) private IEnumerable<IndexerRequest> GetPagedRequests(int maxPages, IEnumerable<int> categories, string searchType, string parameters)
@ -134,7 +121,8 @@ namespace NzbDrone.Core.Indexers.Newznab
var categoriesQuery = string.Join(",", categories.Distinct()); var categoriesQuery = string.Join(",", categories.Distinct());
var baseUrl = string.Format("{0}{1}?t={2}&cat={3}&extended=1{4}", Settings.BaseUrl.TrimEnd('/'), Settings.ApiPath.TrimEnd('/'), searchType, categoriesQuery, Settings.AdditionalParameters); var baseUrl =
$"{Settings.BaseUrl.TrimEnd('/')}{Settings.ApiPath.TrimEnd('/')}?t={searchType}&cat={categoriesQuery}&extended=1{Settings.AdditionalParameters}";
if (Settings.ApiKey.IsNotNullOrWhiteSpace()) if (Settings.ApiKey.IsNotNullOrWhiteSpace())
{ {
@ -143,13 +131,14 @@ namespace NzbDrone.Core.Indexers.Newznab
if (PageSize == 0) if (PageSize == 0)
{ {
yield return new IndexerRequest(string.Format("{0}{1}", baseUrl, parameters), HttpAccept.Rss); yield return new IndexerRequest($"{baseUrl}{parameters}", HttpAccept.Rss);
} }
else else
{ {
for (var page = 0; page < maxPages; page++) for (var page = 0; page < maxPages; page++)
{ {
yield return new IndexerRequest(string.Format("{0}&offset={1}&limit={2}{3}", baseUrl, page * PageSize, PageSize, parameters), HttpAccept.Rss); yield return new IndexerRequest($"{baseUrl}&offset={page * PageSize}&limit={PageSize}{parameters}",
HttpAccept.Rss);
} }
} }
} }

Loading…
Cancel
Save