ci/cd: fix whitespaces (#11749)

This commit is contained in:
Diego Heras 2021-05-16 20:13:54 +02:00 committed by GitHub
parent 519d1ea929
commit aca4a16bae
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
79 changed files with 333 additions and 294 deletions

View File

@ -300,23 +300,9 @@ stages:
workingDirectory: $(Build.SourcesDirectory) workingDirectory: $(Build.SourcesDirectory)
targetType: inline targetType: inline
failOnStderr: true failOnStderr: true
script: | # execute this command to format all files:
dotnet-format --fix-whitespace --verbosity diagnostic --folder ./src/DateTimeRoutines # dotnet-format --fix-whitespace --verbosity diagnostic --folder ./src
dotnet-format --fix-whitespace --verbosity diagnostic --folder ./src/Jackett.Common script: dotnet-format --check --verbosity diagnostic --folder ./src
dotnet-format --fix-whitespace --verbosity diagnostic --folder ./src/Jackett.IntegrationTests
dotnet-format --fix-whitespace --verbosity diagnostic --folder ./src/Jackett.Server
dotnet-format --fix-whitespace --verbosity diagnostic --folder ./src/Jackett.Service
dotnet-format --fix-whitespace --verbosity diagnostic --folder ./src/Jackett.Test
dotnet-format --fix-whitespace --verbosity diagnostic --folder ./src/Jackett.Tray
dotnet-format --fix-whitespace --verbosity diagnostic --folder ./src/Jackett.Updater
dotnet-format --check --verbosity diagnostic --folder ./src/DateTimeRoutines
dotnet-format --check --verbosity diagnostic --folder ./src/Jackett.Common
dotnet-format --check --verbosity diagnostic --folder ./src/Jackett.IntegrationTests
dotnet-format --check --verbosity diagnostic --folder ./src/Jackett.Server
dotnet-format --check --verbosity diagnostic --folder ./src/Jackett.Service
dotnet-format --check --verbosity diagnostic --folder ./src/Jackett.Test
dotnet-format --check --verbosity diagnostic --folder ./src/Jackett.Tray
dotnet-format --check --verbosity diagnostic --folder ./src/Jackett.Updater
- job: Linting_YAML - job: Linting_YAML
displayName: Linting YAML displayName: Linting YAML

View File

@ -45,7 +45,8 @@ namespace Jackett.Common.Indexers
name: "Abnormal", name: "Abnormal",
description: "General French Private Tracker", description: "General French Private Tracker",
link: "https://abnormal.ws/", link: "https://abnormal.ws/",
caps: new TorznabCapabilities { caps: new TorznabCapabilities
{
TvSearchParams = new List<TvSearchParam> TvSearchParams = new List<TvSearchParam>
{ {
TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep

View File

@ -5,8 +5,8 @@ using System.Diagnostics.CodeAnalysis;
using System.Linq; using System.Linq;
using System.Net; using System.Net;
using System.Text; using System.Text;
using System.Threading.Tasks;
using System.Text.RegularExpressions; using System.Text.RegularExpressions;
using System.Threading.Tasks;
using Jackett.Common.Models; using Jackett.Common.Models;
using Jackett.Common.Models.IndexerConfig.Bespoke; using Jackett.Common.Models.IndexerConfig.Bespoke;
using Jackett.Common.Services.Interfaces; using Jackett.Common.Services.Interfaces;
@ -80,7 +80,8 @@ namespace Jackett.Common.Indexers
throw new WebException($"AniLibria search returned unexpected result. Expected 200 OK but got {response.Status}.", WebExceptionStatus.ProtocolError); throw new WebException($"AniLibria search returned unexpected result. Expected 200 OK but got {response.Status}.", WebExceptionStatus.ProtocolError);
var results = ParseApiResults(response.ContentString); var results = ParseApiResults(response.ContentString);
return results.Where(release => query.MatchQueryStringAND(release.Title, null, title));; return results.Where(release => query.MatchQueryStringAND(release.Title, null, title));
;
} }
private async Task<IEnumerable<ReleaseInfo>> FetchNewReleases() private async Task<IEnumerable<ReleaseInfo>> FetchNewReleases()
@ -97,7 +98,8 @@ namespace Jackett.Common.Indexers
return ParseApiResults(response.ContentString); return ParseApiResults(response.ContentString);
} }
private string composeTitle(dynamic json) { private string composeTitle(dynamic json)
{
var title = json.names.ru; var title = json.names.ru;
title += " / " + json.names.en; title += " / " + json.names.en;
if (json.alternative is string) if (json.alternative is string)
@ -109,7 +111,8 @@ namespace Jackett.Common.Indexers
private List<ReleaseInfo> ParseApiResults(string json) private List<ReleaseInfo> ParseApiResults(string json)
{ {
var releases = new List<ReleaseInfo>(); var releases = new List<ReleaseInfo>();
foreach (dynamic r in JArray.Parse(json)) { foreach (dynamic r in JArray.Parse(json))
{
var baseRelease = new ReleaseInfo var baseRelease = new ReleaseInfo
{ {
Title = composeTitle(r), Title = composeTitle(r),
@ -122,7 +125,8 @@ namespace Jackett.Common.Indexers
TorznabCatType.TVAnime.ID TorznabCatType.TVAnime.ID
} }
}; };
foreach (var t in r.torrents.list) { foreach (var t in r.torrents.list)
{
var release = (ReleaseInfo)baseRelease.Clone(); var release = (ReleaseInfo)baseRelease.Clone();
release.Title += " [" + t.quality["string"] + "] - " + t.series["string"]; release.Title += " [" + t.quality["string"] + "] - " + t.series["string"];
release.Size = t.total_size; release.Size = t.total_size;

View File

@ -40,7 +40,8 @@ namespace Jackett.Common.Indexers
link: "https://animebytes.tv/", link: "https://animebytes.tv/",
configService: configService, configService: configService,
client: client, client: client,
caps: new TorznabCapabilities { caps: new TorznabCapabilities
{
TvSearchParams = new List<TvSearchParam> TvSearchParams = new List<TvSearchParam>
{ {
TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep
@ -214,7 +215,8 @@ namespace Jackett.Common.Indexers
synonyms.Add(allSyonyms[1]); synonyms.Add(allSyonyms[1]);
if (AddAlternativeTitles && allSyonyms.Count >= 3) if (AddAlternativeTitles && allSyonyms.Count >= 3)
synonyms.AddRange(allSyonyms[2].Split(',').Select(t => t.Trim())); synonyms.AddRange(allSyonyms[2].Split(',').Select(t => t.Trim()));
} else }
else
{ {
var allSynonyms = group["Synonymns"].ToObject<Dictionary<int, string>>(); var allSynonyms = group["Synonymns"].ToObject<Dictionary<int, string>>();
@ -222,7 +224,8 @@ namespace Jackett.Common.Indexers
synonyms.Add(allSynonyms[0]); synonyms.Add(allSynonyms[0]);
if (AddRomajiTitle && allSynonyms.ContainsKey(1)) if (AddRomajiTitle && allSynonyms.ContainsKey(1))
synonyms.Add(allSynonyms[1]); synonyms.Add(allSynonyms[1]);
if (AddAlternativeTitles && allSynonyms.ContainsKey(2)) { if (AddAlternativeTitles && allSynonyms.ContainsKey(2))
{
synonyms.AddRange(allSynonyms[2].Split(',').Select(t => t.Trim())); synonyms.AddRange(allSynonyms[2].Split(',').Select(t => t.Trim()));
} }
} }

View File

@ -38,7 +38,8 @@ namespace Jackett.Common.Indexers
name: "AnimeTorrents", name: "AnimeTorrents",
description: "Definitive source for anime and manga", description: "Definitive source for anime and manga",
link: "https://animetorrents.me/", link: "https://animetorrents.me/",
caps: new TorznabCapabilities { caps: new TorznabCapabilities
{
TvSearchParams = new List<TvSearchParam> TvSearchParams = new List<TvSearchParam>
{ {
TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep

View File

@ -2,9 +2,10 @@ using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Collections.Specialized; using System.Collections.Specialized;
using System.Diagnostics.CodeAnalysis; using System.Diagnostics.CodeAnalysis;
using System.Linq;
using System.Text; using System.Text;
using System.Threading.Tasks;
using System.Text.RegularExpressions; using System.Text.RegularExpressions;
using System.Threading.Tasks;
using AngleSharp.Dom; using AngleSharp.Dom;
using AngleSharp.Html.Dom; using AngleSharp.Html.Dom;
using AngleSharp.Html.Parser; using AngleSharp.Html.Parser;
@ -15,7 +16,6 @@ using Jackett.Common.Utils;
using Jackett.Common.Utils.Clients; using Jackett.Common.Utils.Clients;
using Newtonsoft.Json.Linq; using Newtonsoft.Json.Linq;
using NLog; using NLog;
using System.Linq;
namespace Jackett.Common.Indexers namespace Jackett.Common.Indexers
{ {
@ -72,11 +72,15 @@ namespace Jackett.Common.Indexers
} }
// If the search string is empty use the latest releases // If the search string is empty use the latest releases
protected override async Task<IEnumerable<ReleaseInfo>> PerformQuery(TorznabQuery query) { protected override async Task<IEnumerable<ReleaseInfo>> PerformQuery(TorznabQuery query)
{
WebResult result; WebResult result;
if (query.IsTest || string.IsNullOrWhiteSpace(query.SearchTerm)) { if (query.IsTest || string.IsNullOrWhiteSpace(query.SearchTerm))
{
result = await RequestWithCookiesAndRetryAsync(SiteLink); result = await RequestWithCookiesAndRetryAsync(SiteLink);
} else { }
else
{
// Prepare the search query // Prepare the search query
var queryParameters = new NameValueCollection var queryParameters = new NameValueCollection
{ {
@ -161,22 +165,26 @@ namespace Jackett.Common.Indexers
return releases; return releases;
} }
private string composeBaseTitle(IHtmlDocument r) { private string composeBaseTitle(IHtmlDocument r)
{
var name_ru = r.QuerySelector("div.media__post__header > h1").Text().Trim(); var name_ru = r.QuerySelector("div.media__post__header > h1").Text().Trim();
var name_en = r.QuerySelector("div.media__panel > div:nth-of-type(1) > div.col-l:nth-of-type(1) > div > span").Text().Trim(); var name_en = r.QuerySelector("div.media__panel > div:nth-of-type(1) > div.col-l:nth-of-type(1) > div > span").Text().Trim();
var name_orig = r.QuerySelector("div.media__panel > div:nth-of-type(1) > div.col-l:nth-of-type(2) > div > span").Text().Trim(); var name_orig = r.QuerySelector("div.media__panel > div:nth-of-type(1) > div.col-l:nth-of-type(2) > div > span").Text().Trim();
var title = name_ru + " / " + name_en; var title = name_ru + " / " + name_en;
if (name_en != name_orig) { if (name_en != name_orig)
{
title += " / " + name_orig; title += " / " + name_orig;
} }
return title; return title;
} }
private string composeTitleAdditionalInfo(IElement t, IElement tr) { private string composeTitleAdditionalInfo(IElement t, IElement tr)
{
var tabName = t.Text(); var tabName = t.Text();
tabName = tabName.Replace("Сезон", "Season"); tabName = tabName.Replace("Сезон", "Season");
if (tabName.Contains("Серии")) { if (tabName.Contains("Серии"))
{
tabName = ""; tabName = "";
} }

View File

@ -36,7 +36,8 @@ namespace Jackett.Common.Indexers
name: "Anthelion", // old name: TehConnection.me name: "Anthelion", // old name: TehConnection.me
description: "A movies tracker", description: "A movies tracker",
link: "https://anthelion.me/", link: "https://anthelion.me/",
caps: new TorznabCapabilities { caps: new TorznabCapabilities
{
TvSearchParams = new List<TvSearchParam> TvSearchParams = new List<TvSearchParam>
{ {
TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep

View File

@ -296,10 +296,12 @@ namespace Jackett.Common.Indexers
// so let's try to pick up first without the .tooltip class, // so let's try to pick up first without the .tooltip class,
// if nothing is found, then we try again without that filter // if nothing is found, then we try again without that filter
var qDetailsLink = row.QuerySelector("a[href^=\"torrents.php?id=\"]:not(.tooltip)"); var qDetailsLink = row.QuerySelector("a[href^=\"torrents.php?id=\"]:not(.tooltip)");
if (qDetailsLink == null) { if (qDetailsLink == null)
{
qDetailsLink = row.QuerySelector("a[href^=\"torrents.php?id=\"]"); qDetailsLink = row.QuerySelector("a[href^=\"torrents.php?id=\"]");
// if still can't find the right link, skip it // if still can't find the right link, skip it
if (qDetailsLink == null) { if (qDetailsLink == null)
{
logger.Error($"{Id}: Error while parsing row '{row.OuterHtml}': Can't find the right details link"); logger.Error($"{Id}: Error while parsing row '{row.OuterHtml}': Can't find the right details link");
continue; continue;
} }

View File

@ -9,10 +9,10 @@ using Jackett.Common.Models.IndexerConfig;
using Jackett.Common.Services.Interfaces; using Jackett.Common.Services.Interfaces;
using Jackett.Common.Utils; using Jackett.Common.Utils;
using Jackett.Common.Utils.Clients; using Jackett.Common.Utils.Clients;
using Polly;
using Newtonsoft.Json; using Newtonsoft.Json;
using Newtonsoft.Json.Linq; using Newtonsoft.Json.Linq;
using NLog; using NLog;
using Polly;
using static Jackett.Common.Models.IndexerConfig.ConfigurationData; using static Jackett.Common.Models.IndexerConfig.ConfigurationData;
namespace Jackett.Common.Indexers namespace Jackett.Common.Indexers

View File

@ -108,7 +108,8 @@ namespace Jackett.Common.Indexers
{ {
searchParam["name"] = $"Season {query.Season}"; searchParam["name"] = $"Season {query.Season}";
searchParam["category"] = "Season"; searchParam["category"] = "Season";
} else if (query.Season > 0 && int.Parse(query.Episode) > 0) }
else if (query.Season > 0 && int.Parse(query.Episode) > 0)
{ {
searchParam["name"] = string.Format("S{0:00}E{1:00}", query.Season, int.Parse(query.Episode)); searchParam["name"] = string.Format("S{0:00}E{1:00}", query.Season, int.Parse(query.Episode));
searchParam["category"] = "Episode"; searchParam["category"] = "Episode";

View File

@ -60,7 +60,8 @@ namespace Jackett.Common.Indexers
name: "DivxTotal", name: "DivxTotal",
description: "DivxTotal is a SPANISH site for Movies, TV series and Software", description: "DivxTotal is a SPANISH site for Movies, TV series and Software",
link: "https://www.divxtotal.ch/", link: "https://www.divxtotal.ch/",
caps: new TorznabCapabilities { caps: new TorznabCapabilities
{
TvSearchParams = new List<TvSearchParam> TvSearchParams = new List<TvSearchParam>
{ {
TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep

View File

@ -1,9 +1,9 @@
using System; using System;
using System.Collections.Generic;
using System.Linq;
using System.Text; using System.Text;
using System.Text.RegularExpressions; using System.Text.RegularExpressions;
using System.Collections.Generic;
using System.Threading.Tasks; using System.Threading.Tasks;
using System.Linq;
using System.Xml; using System.Xml;
using Jackett.Common.Models; using Jackett.Common.Models;
using Jackett.Common.Models.IndexerConfig; using Jackett.Common.Models.IndexerConfig;

View File

@ -274,7 +274,8 @@ namespace Jackett.Common.Indexers
for (var i = releaseTags.Count - 1; i >= 0; i--) for (var i = releaseTags.Count - 1; i >= 0; i--)
{ {
var releaseTag = releaseTags[i]; var releaseTag = releaseTags[i];
if (VolumeTagMappings.ContainsKey(releaseTag)) { if (VolumeTagMappings.ContainsKey(releaseTag))
{
var volumeFactor = VolumeTagMappings[releaseTag]; var volumeFactor = VolumeTagMappings[releaseTag];
release.DownloadVolumeFactor = volumeFactor.DownloadVolumeFactor; release.DownloadVolumeFactor = volumeFactor.DownloadVolumeFactor;
release.UploadVolumeFactor = volumeFactor.UploadVolumeFactor; release.UploadVolumeFactor = volumeFactor.UploadVolumeFactor;

View File

@ -103,7 +103,8 @@ namespace Jackett.Common.Indexers
name: "LostFilm.tv", name: "LostFilm.tv",
description: "Unique portal about foreign series", description: "Unique portal about foreign series",
link: "https://www.lostfilm.run/", link: "https://www.lostfilm.run/",
caps: new TorznabCapabilities { caps: new TorznabCapabilities
{
TvSearchParams = new List<TvSearchParam> TvSearchParams = new List<TvSearchParam>
{ {
TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep

View File

@ -7,6 +7,7 @@ using System.Linq;
using System.Text; using System.Text;
using System.Text.RegularExpressions; using System.Text.RegularExpressions;
using System.Threading.Tasks; using System.Threading.Tasks;
using System.Web;
using AngleSharp.Dom; using AngleSharp.Dom;
using AngleSharp.Html.Dom; using AngleSharp.Html.Dom;
using AngleSharp.Html.Parser; using AngleSharp.Html.Parser;
@ -16,7 +17,6 @@ using Jackett.Common.Services.Interfaces;
using Jackett.Common.Utils; using Jackett.Common.Utils;
using Jackett.Common.Utils.Clients; using Jackett.Common.Utils.Clients;
using Newtonsoft.Json.Linq; using Newtonsoft.Json.Linq;
using System.Web;
using NLog; using NLog;
using static Jackett.Common.Models.IndexerConfig.ConfigurationData; using static Jackett.Common.Models.IndexerConfig.ConfigurationData;

View File

@ -124,7 +124,8 @@ namespace Jackett.Common.Indexers
name: "NewPCT", name: "NewPCT",
description: "NewPCT - Descargar peliculas, series y estrenos torrent gratis", description: "NewPCT - Descargar peliculas, series y estrenos torrent gratis",
link: "https://pctmix.com/", link: "https://pctmix.com/",
caps: new TorznabCapabilities { caps: new TorznabCapabilities
{
TvSearchParams = new List<TvSearchParam> TvSearchParams = new List<TvSearchParam>
{ {
TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep
@ -556,7 +557,8 @@ namespace Jackett.Common.Indexers
// we have to guess the language (words DUAL or MULTI are not supported in Radarr) // we have to guess the language (words DUAL or MULTI are not supported in Radarr)
var language = "spanish"; var language = "spanish";
if (titleLower.Contains("latino")) language += " latino"; if (titleLower.Contains("latino"))
language += " latino";
if ((titleLower.Contains("castellano") && titleLower.Contains("ingles")) || if ((titleLower.Contains("castellano") && titleLower.Contains("ingles")) ||
(titleLower.Contains("spanish") && titleLower.Contains("english")) || (titleLower.Contains("spanish") && titleLower.Contains("english")) ||
titleLower.Contains("[es-en]") || titleLower.Contains("multilenguaje")) titleLower.Contains("[es-en]") || titleLower.Contains("multilenguaje"))

View File

@ -137,7 +137,8 @@ namespace Jackett.Common.Indexers
protected override async Task<IEnumerable<ReleaseInfo>> PerformQuery(TorznabQuery query) protected override async Task<IEnumerable<ReleaseInfo>> PerformQuery(TorznabQuery query)
=> await PerformQueryWithRetry(query, true); => await PerformQueryWithRetry(query, true);
private async Task<IEnumerable<ReleaseInfo>> PerformQueryWithRetry(TorznabQuery query, bool retry) { private async Task<IEnumerable<ReleaseInfo>> PerformQueryWithRetry(TorznabQuery query, bool retry)
{
var releases = new List<ReleaseInfo>(); var releases = new List<ReleaseInfo>();
// check the token and renewal if necessary // check the token and renewal if necessary

View File

@ -98,13 +98,17 @@ namespace Jackett.Common.Indexers
} }
// If the search string is empty use the latest releases // If the search string is empty use the latest releases
protected override async Task<IEnumerable<ReleaseInfo>> PerformQuery(TorznabQuery query) { protected override async Task<IEnumerable<ReleaseInfo>> PerformQuery(TorznabQuery query)
{
await EnsureAuthorized(); await EnsureAuthorized();
WebResult result; WebResult result;
if (query.IsTest || string.IsNullOrWhiteSpace(query.SearchTerm)) { if (query.IsTest || string.IsNullOrWhiteSpace(query.SearchTerm))
{
result = await RequestWithCookiesAndRetryAsync(SiteLink); result = await RequestWithCookiesAndRetryAsync(SiteLink);
} else { }
else
{
// Prepare the search query // Prepare the search query
var queryParameters = new NameValueCollection var queryParameters = new NameValueCollection
{ {
@ -191,13 +195,15 @@ namespace Jackett.Common.Indexers
return releases; return releases;
} }
private string composeBaseTitle(IElement release) { private string composeBaseTitle(IElement release)
{
var titleDiv = release.QuerySelector("section:nth-of-type(2) > div.card > article:nth-of-type(1) > div.card-header"); var titleDiv = release.QuerySelector("section:nth-of-type(2) > div.card > article:nth-of-type(1) > div.card-header");
return titleDiv.QuerySelector("h3").Text() + " " + titleDiv.QuerySelector("p").Text(); return titleDiv.QuerySelector("h3").Text() + " " + titleDiv.QuerySelector("p").Text();
} }
// Appending id to differentiate between different quality versions // Appending id to differentiate between different quality versions
private bool IsAuthorized(WebResult result) { private bool IsAuthorized(WebResult result)
{
return result.ContentString.Contains("/logout"); return result.ContentString.Contains("/logout");
} }

View File

@ -36,7 +36,8 @@ namespace Jackett.Common.Indexers
name: "TorrentMafya", name: "TorrentMafya",
description: "TorrentMafya is a Turkish general torrent tracker ", description: "TorrentMafya is a Turkish general torrent tracker ",
link: "https://www.torrentmafya.org/", link: "https://www.torrentmafya.org/",
caps: new TorznabCapabilities { caps: new TorznabCapabilities
{
TvSearchParams = new List<TvSearchParam> TvSearchParams = new List<TvSearchParam>
{ {
TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep
@ -97,17 +98,20 @@ namespace Jackett.Common.Indexers
if (classes.Contains("fa-gamepad")) if (classes.Contains("fa-gamepad"))
{ {
result.Add(TorznabCatType.PCGames.ID); result.Add(TorznabCatType.PCGames.ID);
} else if (classes.Contains("fa-film")) }
else if (classes.Contains("fa-film"))
{ {
result.Add(TorznabCatType.Movies.ID); result.Add(TorznabCatType.Movies.ID);
} else if (classes.Contains("fa-tv")) }
else if (classes.Contains("fa-tv"))
{ {
result.Add(TorznabCatType.TV.ID); result.Add(TorznabCatType.TV.ID);
} }
else if (classes.Contains("fa-microchip")) else if (classes.Contains("fa-microchip"))
{ {
result.Add(TorznabCatType.PC.ID); result.Add(TorznabCatType.PC.ID);
} else if (classes.Contains("fa-android")) }
else if (classes.Contains("fa-android"))
{ {
result.Add(TorznabCatType.PCMobileAndroid.ID); result.Add(TorznabCatType.PCMobileAndroid.ID);
} }

View File

@ -74,7 +74,8 @@ namespace Jackett.Common.Indexers
protected override async Task<IEnumerable<ReleaseInfo>> PerformQuery(TorznabQuery query) protected override async Task<IEnumerable<ReleaseInfo>> PerformQuery(TorznabQuery query)
{ {
var searchUrl = CreateSearchUrl(query); var searchUrl = CreateSearchUrl(query);
if (string.IsNullOrWhiteSpace(searchUrl)) return new List<ReleaseInfo>(); if (string.IsNullOrWhiteSpace(searchUrl))
return new List<ReleaseInfo>();
var response = await RequestWithCookiesAndRetryAsync(searchUrl); var response = await RequestWithCookiesAndRetryAsync(searchUrl);

View File

@ -65,7 +65,8 @@ namespace Jackett.Common.Indexers
return IndexerConfigurationStatus.Completed; return IndexerConfigurationStatus.Completed;
} }
protected override async Task<IEnumerable<ReleaseInfo>> PerformQuery(TorznabQuery query) { protected override async Task<IEnumerable<ReleaseInfo>> PerformQuery(TorznabQuery query)
{
var releases = new List<ReleaseInfo>(); var releases = new List<ReleaseInfo>();
var searchString = query.GetQueryString(); var searchString = query.GetQueryString();

View File

@ -320,7 +320,8 @@ namespace Jackett.Common.Indexers
} }
// Multiple page support // Multiple page support
var nextPage = 1; var followingPages = true; var nextPage = 1;
var followingPages = true;
do do
{ {
@ -425,11 +426,13 @@ namespace Jackett.Common.Indexers
{ {
logger.Info("\nXthor - Stopping follow of next page " + nextPage + " due max available results reached."); logger.Info("\nXthor - Stopping follow of next page " + nextPage + " due max available results reached.");
break; break;
} else if(nextPage > MaxPages) }
else if (nextPage > MaxPages)
{ {
logger.Info("\nXthor - Stopping follow of next page " + nextPage + " due to page limit reached."); logger.Info("\nXthor - Stopping follow of next page " + nextPage + " due to page limit reached.");
break; break;
} else if (query.IsTest) }
else if (query.IsTest)
{ {
logger.Info("\nXthor - Stopping follow of next page " + nextPage + " due to index test query."); logger.Info("\nXthor - Stopping follow of next page " + nextPage + " due to index test query.");
break; break;

View File

@ -135,7 +135,8 @@ namespace Jackett.Common.Services
} }
// Don't remove configs that have been migrated to the same folder // Don't remove configs that have been migrated to the same folder
if (GetAppDataFolder() != oldDirectory) { if (GetAppDataFolder() != oldDirectory)
{
Directory.Delete(oldDirectory, true); Directory.Delete(oldDirectory, true);
} }
} }

View File

@ -87,7 +87,8 @@ namespace Jackett.Test.Common.Models
} }
torznabCaps = new TorznabCapabilities(); torznabCaps = new TorznabCapabilities();
try { try
{
torznabCaps.ParseCardigannSearchModes(new Dictionary<string, List<string>> torznabCaps.ParseCardigannSearchModes(new Dictionary<string, List<string>>
{ {
{"bad", new List<string> {"q"}} // bad search mode {"bad", new List<string> {"q"}} // bad search mode
@ -100,7 +101,8 @@ namespace Jackett.Test.Common.Models
} }
torznabCaps = new TorznabCapabilities(); torznabCaps = new TorznabCapabilities();
try { try
{
torznabCaps.ParseCardigannSearchModes(new Dictionary<string, List<string>> torznabCaps.ParseCardigannSearchModes(new Dictionary<string, List<string>>
{ {
{"search", new List<string> {"bad"}} // search mode with bad parameters {"search", new List<string> {"bad"}} // search mode with bad parameters
@ -141,7 +143,8 @@ namespace Jackett.Test.Common.Models
Assert.AreEqual(new List<TvSearchParam> { TvSearchParam.Q, TvSearchParam.TvdbId }, torznabCaps.TvSearchParams); Assert.AreEqual(new List<TvSearchParam> { TvSearchParam.Q, TvSearchParam.TvdbId }, torznabCaps.TvSearchParams);
torznabCaps = new TorznabCapabilities(); torznabCaps = new TorznabCapabilities();
try { try
{
torznabCaps.ParseCardigannSearchModes(new Dictionary<string, List<string>> torznabCaps.ParseCardigannSearchModes(new Dictionary<string, List<string>>
{ {
{"search", new List<string>{"q"}}, {"search", new List<string>{"q"}},
@ -155,7 +158,8 @@ namespace Jackett.Test.Common.Models
} }
torznabCaps = new TorznabCapabilities(); torznabCaps = new TorznabCapabilities();
try { try
{
torznabCaps.ParseCardigannSearchModes(new Dictionary<string, List<string>> torznabCaps.ParseCardigannSearchModes(new Dictionary<string, List<string>>
{ {
{"search", new List<string>{"q"}}, {"search", new List<string>{"q"}},
@ -197,7 +201,8 @@ namespace Jackett.Test.Common.Models
Assert.AreEqual(new List<MovieSearchParam> { MovieSearchParam.Q, MovieSearchParam.ImdbId }, torznabCaps.MovieSearchParams); Assert.AreEqual(new List<MovieSearchParam> { MovieSearchParam.Q, MovieSearchParam.ImdbId }, torznabCaps.MovieSearchParams);
torznabCaps = new TorznabCapabilities(); torznabCaps = new TorznabCapabilities();
try { try
{
torznabCaps.ParseCardigannSearchModes(new Dictionary<string, List<string>> torznabCaps.ParseCardigannSearchModes(new Dictionary<string, List<string>>
{ {
{"search", new List<string>{"q"}}, {"search", new List<string>{"q"}},
@ -211,7 +216,8 @@ namespace Jackett.Test.Common.Models
} }
torznabCaps = new TorznabCapabilities(); torznabCaps = new TorznabCapabilities();
try { try
{
torznabCaps.ParseCardigannSearchModes(new Dictionary<string, List<string>> torznabCaps.ParseCardigannSearchModes(new Dictionary<string, List<string>>
{ {
{"search", new List<string>{"q"}}, {"search", new List<string>{"q"}},
@ -253,7 +259,8 @@ namespace Jackett.Test.Common.Models
Assert.AreEqual(new List<MusicSearchParam> { MusicSearchParam.Q, MusicSearchParam.Label }, torznabCaps.MusicSearchParams); Assert.AreEqual(new List<MusicSearchParam> { MusicSearchParam.Q, MusicSearchParam.Label }, torznabCaps.MusicSearchParams);
torznabCaps = new TorznabCapabilities(); torznabCaps = new TorznabCapabilities();
try { try
{
torznabCaps.ParseCardigannSearchModes(new Dictionary<string, List<string>> torznabCaps.ParseCardigannSearchModes(new Dictionary<string, List<string>>
{ {
{"search", new List<string>{"q"}}, {"search", new List<string>{"q"}},
@ -267,7 +274,8 @@ namespace Jackett.Test.Common.Models
} }
torznabCaps = new TorznabCapabilities(); torznabCaps = new TorznabCapabilities();
try { try
{
torznabCaps.ParseCardigannSearchModes(new Dictionary<string, List<string>> torznabCaps.ParseCardigannSearchModes(new Dictionary<string, List<string>>
{ {
{"search", new List<string>{"q"}}, {"search", new List<string>{"q"}},
@ -309,7 +317,8 @@ namespace Jackett.Test.Common.Models
Assert.AreEqual(new List<BookSearchParam> { BookSearchParam.Q, BookSearchParam.Title }, torznabCaps.BookSearchParams); Assert.AreEqual(new List<BookSearchParam> { BookSearchParam.Q, BookSearchParam.Title }, torznabCaps.BookSearchParams);
torznabCaps = new TorznabCapabilities(); torznabCaps = new TorznabCapabilities();
try { try
{
torznabCaps.ParseCardigannSearchModes(new Dictionary<string, List<string>> torznabCaps.ParseCardigannSearchModes(new Dictionary<string, List<string>>
{ {
{"search", new List<string>{"q"}}, {"search", new List<string>{"q"}},
@ -323,7 +332,8 @@ namespace Jackett.Test.Common.Models
} }
torznabCaps = new TorznabCapabilities(); torznabCaps = new TorznabCapabilities();
try { try
{
torznabCaps.ParseCardigannSearchModes(new Dictionary<string, List<string>> torznabCaps.ParseCardigannSearchModes(new Dictionary<string, List<string>>
{ {
{"search", new List<string>{"q"}}, {"search", new List<string>{"q"}},