diff --git a/src/Jackett/Indexers/PassThePopcorn.cs b/src/Jackett/Indexers/PassThePopcorn.cs index c53931d31..e40e6b734 100644 --- a/src/Jackett/Indexers/PassThePopcorn.cs +++ b/src/Jackett/Indexers/PassThePopcorn.cs @@ -1,18 +1,16 @@ -using CsQuery; -using Jackett.Models; -using Jackett.Services; -using Jackett.Utils; -using Jackett.Utils.Clients; -using Newtonsoft.Json.Linq; -using NLog; -using System; +using System; using System.Collections.Generic; using System.Globalization; using System.Linq; +using System.Text; using System.Threading.Tasks; using System.Web; -using System.Text; +using Jackett.Models; using Jackett.Models.IndexerConfig; +using Jackett.Services; +using Jackett.Utils.Clients; +using Newtonsoft.Json.Linq; +using NLog; namespace Jackett.Indexers { @@ -23,7 +21,8 @@ namespace Jackett.Indexers private string SearchUrl { get { return "https://passthepopcorn.me/torrents.php"; } } private string DetailURL { get { return "https://passthepopcorn.me/torrents.php?torrentid="; } } private string AuthKey { get; set; } - new ConfigurationDataBasicLoginWithFilterAndPasskey configData + + private new ConfigurationDataBasicLoginWithFilterAndPasskey configData { get { return (ConfigurationDataBasicLoginWithFilterAndPasskey)base.configData; } set { base.configData = value; } @@ -38,7 +37,7 @@ namespace Jackett.Indexers client: c, logger: l, p: ps, - configData: new ConfigurationDataBasicLoginWithFilterAndPasskey(@"Enter filter options below to restrict search results. + configData: new ConfigurationDataBasicLoginWithFilterAndPasskey(@"Enter filter options below to restrict search results. Separate options with a space if using more than one option.
Filter options available:
GoldenPopcorn
Scene
Checked")) { @@ -162,7 +161,6 @@ namespace Jackett.Indexers bool.TryParse((string)torrent["Scene"], out scene); bool.TryParse((string)torrent["Checked"], out check); - if (configGoldenPopcornOnly && !golden) { continue; //Skip release if user only wants GoldenPopcorn diff --git a/src/Jackett/Indexers/PiXELHD.cs b/src/Jackett/Indexers/PiXELHD.cs index 6958ece73..e33745abd 100644 --- a/src/Jackett/Indexers/PiXELHD.cs +++ b/src/Jackett/Indexers/PiXELHD.cs @@ -1,36 +1,36 @@ using System; using System.Collections.Generic; +using System.Collections.Specialized; using System.Text; using System.Text.RegularExpressions; using System.Threading.Tasks; - using AngleSharp.Parser.Html; -using Newtonsoft.Json.Linq; -using NLog; - using Jackett.Models; using Jackett.Models.IndexerConfig; using Jackett.Services; using Jackett.Utils; using Jackett.Utils.Clients; -using System.Collections.Specialized; +using Newtonsoft.Json.Linq; +using NLog; namespace Jackett.Indexers { - class PiXELHD : BaseWebIndexer + public class PiXELHD : BaseWebIndexer { - string LoginUrl { get { return SiteLink + "login.php"; } } - string BrowseUrl { get { return SiteLink + "torrents.php"; } } + private string LoginUrl + { get { return SiteLink + "login.php"; } } + private string BrowseUrl + { get { return SiteLink + "torrents.php"; } } - new ConfigurationDataCaptchaLogin configData + private new ConfigurationDataCaptchaLogin configData { get { return (ConfigurationDataCaptchaLogin)base.configData; } set { base.configData = value; } } - string input_captcha = null; - string input_username = null; - string input_password = null; + private string input_captcha = null; + private string input_username = null; + private string input_password = null; public PiXELHD(IIndexerConfigurationService configService, IWebClient webClient, Logger logger, IProtectionService protectionService) : base(name: "PiXELHD", @@ -51,7 +51,6 @@ namespace Jackett.Indexers TorznabCaps.SupportsImdbSearch = true; AddCategoryMapping(1, TorznabCatType.MoviesHD); - } public override async Task GetConfigurationForSetup() @@ -82,7 +81,7 @@ namespace Jackett.Indexers var passwordInput = LoginDocument.QuerySelector("input[maxlength=\"40\"]"); input_password = passwordInput.GetAttribute("name"); - + return configData; } @@ -204,6 +203,5 @@ namespace Jackett.Indexers return releases; } - } } diff --git a/src/Jackett/Indexers/PirateTheNet.cs b/src/Jackett/Indexers/PirateTheNet.cs index 6d9865fc6..477d467c3 100644 --- a/src/Jackett/Indexers/PirateTheNet.cs +++ b/src/Jackett/Indexers/PirateTheNet.cs @@ -1,18 +1,18 @@ -using CsQuery; +using System; +using System.Collections.Generic; +using System.Collections.Specialized; +using System.Globalization; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using CsQuery; using Jackett.Models; +using Jackett.Models.IndexerConfig; using Jackett.Services; using Jackett.Utils; using Jackett.Utils.Clients; using Newtonsoft.Json.Linq; using NLog; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using Jackett.Models.IndexerConfig; -using System.Collections.Specialized; -using System.Globalization; namespace Jackett.Indexers { @@ -21,10 +21,10 @@ namespace Jackett.Indexers private string SearchUrl { get { return SiteLink + "torrentsutils.php"; } } private string LoginUrl { get { return SiteLink + "takelogin.php"; } } private string CaptchaUrl { get { return SiteLink + "simpleCaptcha.php?numImages=1"; } } - TimeZoneInfo germanyTz = TimeZoneInfo.CreateCustomTimeZone("W. Europe Standard Time", new TimeSpan(1, 0, 0), "W. Europe Standard Time", "W. Europe Standard Time"); + private TimeZoneInfo germanyTz = TimeZoneInfo.CreateCustomTimeZone("W. Europe Standard Time", new TimeSpan(1, 0, 0), "W. Europe Standard Time", "W. Europe Standard Time"); private readonly List categories = new List() { "1080P", "720P", "BDRip", "BluRay", "BRRip", "DVDR", "DVDRip", "FLAC", "MP3", "MP4", "Packs", "R5", "Remux", "TVRip", "WebRip" }; - new ConfigurationDataBasicLoginWithRSSAndDisplay configData + private new ConfigurationDataBasicLoginWithRSSAndDisplay configData { get { return (ConfigurationDataBasicLoginWithRSSAndDisplay)base.configData; } set { base.configData = value; } diff --git a/src/Jackett/Indexers/PolishTracker.cs b/src/Jackett/Indexers/PolishTracker.cs index 3c0b15b2f..e1e6f1504 100644 --- a/src/Jackett/Indexers/PolishTracker.cs +++ b/src/Jackett/Indexers/PolishTracker.cs @@ -1,32 +1,30 @@ -using Jackett.Utils.Clients; -using NLog; -using Jackett.Services; -using Jackett.Utils; -using Jackett.Models; -using System.Threading.Tasks; -using Newtonsoft.Json.Linq; +using System; using System.Collections.Generic; -using System; -using Jackett.Models.IndexerConfig; using System.Collections.Specialized; using System.Text; +using System.Threading.Tasks; +using Jackett.Models; +using Jackett.Models.IndexerConfig; +using Jackett.Services; +using Jackett.Utils; +using Jackett.Utils.Clients; using Newtonsoft.Json; -using static Jackett.Models.IndexerConfig.ConfigurationData; -using System.Globalization; +using Newtonsoft.Json.Linq; +using NLog; namespace Jackett.Indexers { public class PolishTracker : BaseWebIndexer { - string LoginUrl { get { return SiteLink + "login"; } } - string TorrentApiUrl { get { return SiteLink + "apitorrents"; } } - string CDNUrl { get { return "https://cdn.pte.nu/"; } } + private string LoginUrl { get { return SiteLink + "login"; } } + private string TorrentApiUrl { get { return SiteLink + "apitorrents"; } } + private string CDNUrl { get { return "https://cdn.pte.nu/"; } } public override string[] LegacySiteLinks { get; protected set; } = new string[] { "https://polishtracker.net/", }; - new ConfigurationDataBasicLoginWithRSSAndDisplay configData + private new ConfigurationDataBasicLoginWithRSSAndDisplay configData { get { return (ConfigurationDataBasicLoginWithRSSAndDisplay)base.configData; } set { base.configData = value; } @@ -120,7 +118,7 @@ namespace Jackett.Indexers if (json["hits"] != null) // is search result torrents = json.SelectTokens("$.hits[?(@._type == 'torrent')]._source"); /* - { + { "id":426868, "name":"Realease-nameE", "size":"2885494332", @@ -139,7 +137,6 @@ namespace Jackett.Indexers }, */ - foreach (var torrent in torrents) { var release = new ReleaseInfo(); @@ -163,7 +160,7 @@ namespace Jackett.Indexers release.Imdb = ParseUtil.CoerceLong(imdbid); if ((bool)torrent.poster == true) - { + { if (release.Imdb != null) release.BannerUrl = new Uri(CDNUrl + "images/torrents/poster/imd/l/" + imdbid + ".jpg"); else if (torrent["cdu_id"] != null) @@ -184,7 +181,7 @@ namespace Jackett.Indexers descriptions.Add("Language: pl"); if (descriptions.Count > 0) - release.Description = string.Join("
\n", descriptions); + release.Description = string.Join("
\n", descriptions); releases.Add(release); } @@ -198,4 +195,3 @@ namespace Jackett.Indexers } } } - diff --git a/src/Jackett/Indexers/Pretome.cs b/src/Jackett/Indexers/Pretome.cs index 989ad4037..aefb409dc 100644 --- a/src/Jackett/Indexers/Pretome.cs +++ b/src/Jackett/Indexers/Pretome.cs @@ -1,19 +1,18 @@ using System; using System.Collections.Generic; +using System.Collections.Specialized; using System.Linq; using System.Text; -using System.Threading.Tasks; -using Jackett.Models; -using Newtonsoft.Json.Linq; -using Jackett.Utils.Clients; -using Jackett.Services; -using NLog; -using Jackett.Utils; -using CsQuery; -using System.Web; -using Jackett.Models.IndexerConfig; -using System.Collections.Specialized; using System.Text.RegularExpressions; +using System.Threading.Tasks; +using CsQuery; +using Jackett.Models; +using Jackett.Models.IndexerConfig; +using Jackett.Services; +using Jackett.Utils; +using Jackett.Utils.Clients; +using Newtonsoft.Json.Linq; +using NLog; namespace Jackett.Indexers { @@ -25,7 +24,7 @@ namespace Jackett.Indexers private List resultMapping = new List(); - new ConfigurationDataPinNumber configData + private new ConfigurationDataPinNumber configData { get { return (ConfigurationDataPinNumber)base.configData; } set { base.configData = value; } @@ -93,7 +92,6 @@ namespace Jackett.Indexers AddCategoryMapping("cat[]=7&tags=PDTV", TorznabCatType.TVSD); AddCategoryMapping("cat[]=7&tags=HD-DVD", TorznabCatType.TVSD); - AddCategoryMapping("cat[]=51&tags=XviD", TorznabCatType.XXXXviD); AddCategoryMapping("cat[]=51&tags=DVDRiP", TorznabCatType.XXXDVD); @@ -254,12 +252,13 @@ namespace Jackett.Indexers if (tags.Split(',').Length < 7) { queryCollection.Add("tags", tags); - if(!string.IsNullOrWhiteSpace(tags)) { + if (!string.IsNullOrWhiteSpace(tags)) + { // if tags are specified match any queryCollection.Add("tf", "any"); } else - { + { // if no tags are specified match all, with any we get random results queryCollection.Add("tf", "all"); } diff --git a/src/Jackett/Indexers/PrivateHD.cs b/src/Jackett/Indexers/PrivateHD.cs index f9e2b3e0b..7f6022040 100644 --- a/src/Jackett/Indexers/PrivateHD.cs +++ b/src/Jackett/Indexers/PrivateHD.cs @@ -1,18 +1,6 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using Jackett.Models; -using Newtonsoft.Json.Linq; -using NLog; -using Jackett.Utils; -using CsQuery; -using System.Web; -using Jackett.Services; +using Jackett.Services; using Jackett.Utils.Clients; -using Jackett.Models.IndexerConfig; -using System.Globalization; +using NLog; namespace Jackett.Indexers { diff --git a/src/Jackett/Indexers/Psytorrents.cs b/src/Jackett/Indexers/Psytorrents.cs index 167e1b632..4de3427f9 100644 --- a/src/Jackett/Indexers/Psytorrents.cs +++ b/src/Jackett/Indexers/Psytorrents.cs @@ -1,8 +1,8 @@ -using Jackett.Models; -using NLog; +using Jackett.Indexers.Abstract; +using Jackett.Models; using Jackett.Services; using Jackett.Utils.Clients; -using Jackett.Indexers.Abstract; +using NLog; namespace Jackett.Indexers { diff --git a/src/Jackett/Indexers/Rarbg.cs b/src/Jackett/Indexers/Rarbg.cs index 305b12f76..964f188f4 100644 --- a/src/Jackett/Indexers/Rarbg.cs +++ b/src/Jackett/Indexers/Rarbg.cs @@ -1,25 +1,24 @@ -using Jackett.Models; +using System; +using System.Collections.Generic; +using System.Collections.Specialized; +using System.Globalization; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Jackett.Models; using Jackett.Models.IndexerConfig; using Jackett.Services; using Jackett.Utils; using Jackett.Utils.Clients; using Newtonsoft.Json.Linq; using NLog; -using System; -using System.Collections.Generic; -using System.Collections.Specialized; -using System.Globalization; -using System.Linq; -using System.Threading.Tasks; -using System.Text; -using System.Web; namespace Jackett.Indexers { public class Rarbg : BaseWebIndexer { // API doc: https://torrentapi.org/apidocs_v2.txt - readonly static string defaultSiteLink = "https://torrentapi.org/"; + private static readonly string defaultSiteLink = "https://torrentapi.org/"; private Uri BaseUri { @@ -29,7 +28,7 @@ namespace Jackett.Indexers private string ApiEndpoint { get { return BaseUri + "pubapi_v2.php"; } } - new ConfigurationDataUrl configData + private new ConfigurationDataUrl configData { get { return (ConfigurationDataUrl)base.configData; } set { base.configData = value; } @@ -38,7 +37,7 @@ namespace Jackett.Indexers private DateTime lastTokenFetch; private string token; - readonly TimeSpan TOKEN_DURATION = TimeSpan.FromMinutes(10); + private readonly TimeSpan TOKEN_DURATION = TimeSpan.FromMinutes(10); private bool HasValidToken { get { return !string.IsNullOrEmpty(token) && lastTokenFetch > DateTime.Now - TOKEN_DURATION; } } @@ -87,8 +86,7 @@ namespace Jackett.Indexers AddCategoryMapping(35, TorznabCatType.BooksEbook, "e-Books"); } - - async Task CheckToken() + private async Task CheckToken() { if (!HasValidToken) { @@ -127,7 +125,7 @@ namespace Jackett.Indexers await CheckToken(); var releases = new List(); var searchString = query.GetQueryString(); - + var queryCollection = new NameValueCollection(); queryCollection.Add("token", token); queryCollection.Add("format", "json_extended"); @@ -200,7 +198,7 @@ namespace Jackett.Indexers if (errorCode > 0) // too many requests per seconds ??? { - // we use the IwebClient rate limiter now, this shouldn't happen + // we use the IwebClient rate limiter now, this shouldn't happen throw new Exception("error " + errorCode.ToString() + ": " + jsonContent.Value("error")); } @@ -248,6 +246,5 @@ namespace Jackett.Indexers return releases; } - } } diff --git a/src/Jackett/Indexers/Redacted.cs b/src/Jackett/Indexers/Redacted.cs index 8b81cdce0..8339bd986 100644 --- a/src/Jackett/Indexers/Redacted.cs +++ b/src/Jackett/Indexers/Redacted.cs @@ -1,9 +1,9 @@ -using Jackett.Models; -using NLog; +using System.Collections.Generic; +using Jackett.Indexers.Abstract; +using Jackett.Models; using Jackett.Services; using Jackett.Utils.Clients; -using Jackett.Indexers.Abstract; -using System.Collections.Generic; +using NLog; namespace Jackett.Indexers { @@ -21,7 +21,7 @@ namespace Jackett.Indexers { Language = "en-us"; Type = "private"; - TorznabCaps.SupportedMusicSearchParamsList = new List() { "q", "album", "artist", "label", "year" } ; + TorznabCaps.SupportedMusicSearchParamsList = new List() { "q", "album", "artist", "label", "year" }; AddCategoryMapping(1, TorznabCatType.Audio, "Music"); AddCategoryMapping(2, TorznabCatType.PC, "Applications"); diff --git a/src/Jackett/Indexers/RevolutionTT.cs b/src/Jackett/Indexers/RevolutionTT.cs index 440c6c7ad..e65a067c4 100644 --- a/src/Jackett/Indexers/RevolutionTT.cs +++ b/src/Jackett/Indexers/RevolutionTT.cs @@ -1,36 +1,33 @@ -using CsQuery; +using System; +using System.Collections.Generic; +using System.Globalization; +using System.Linq; +using System.Text; +using System.Text.RegularExpressions; +using System.Threading.Tasks; +using System.Web; +using System.Xml.Linq; +using CsQuery; using Jackett.Models; +using Jackett.Models.IndexerConfig; using Jackett.Services; using Jackett.Utils; using Jackett.Utils.Clients; using Newtonsoft.Json.Linq; using NLog; -using System; -using System.Collections.Generic; -using System.Globalization; -using System.Linq; -using System.Net; -using System.Net.Http; -using System.Text; -using System.Threading.Tasks; -using System.Web; -using Jackett.Models.IndexerConfig; -using System.Text.RegularExpressions; -using System.Xml.Linq; namespace Jackett.Indexers { public class RevolutionTT : BaseWebIndexer - { + { private string LandingPageURL { get { return SiteLink + "login.php"; } } private string LoginUrl { get { return SiteLink + "takelogin.php"; } } private string GetRSSKeyUrl { get { return SiteLink + "getrss.php"; } } private string RSSUrl { get { return SiteLink + "rss.php?feed=dl&passkey="; } } - private string SearchUrl { get { return SiteLink + "browse.php"; } } + private string SearchUrl { get { return SiteLink + "browse.php"; } } private string DetailsURL { get { return SiteLink + "details.php?id={0}&hit=1"; } } - - new ConfigurationDataBasicLoginWithRSS configData + private new ConfigurationDataBasicLoginWithRSS configData { get { return (ConfigurationDataBasicLoginWithRSS)base.configData; } set { base.configData = value; } @@ -53,7 +50,7 @@ namespace Jackett.Indexers Type = "private"; /* Original RevolutionTT Categories - - + Anime - 23 Appz/Misc - 22 Appz/PC-ISO - 1 @@ -80,8 +77,8 @@ namespace Jackett.Indexers TV/HDx264 - 42 TV/Packs - 45 TV/SDx264 - 41 - TV/XViD - 7 - + TV/XViD - 7 + */ //AddCategoryMapping("cat_id", TorznabCatType.Console); @@ -98,7 +95,7 @@ namespace Jackett.Indexers //AddCategoryMapping("cat_id", TorznabCatType.ConsolePSVita); AddCategoryMapping("40", TorznabCatType.ConsoleWiiU); //AddCategoryMapping("cat_id", TorznabCatType.ConsoleXboxOne); - //AddCategoryMapping("cat_id", TorznabCatType.ConsolePS4); + //AddCategoryMapping("cat_id", TorznabCatType.ConsolePS4); AddCategoryMapping("44", TorznabCatType.Movies); //AddCategoryMapping("cat_id", TorznabCatType.MoviesForeign); //AddCategoryMapping("cat_id", TorznabCatType.MoviesOther); @@ -226,7 +223,6 @@ namespace Jackett.Indexers throw e; } - return IndexerConfigurationStatus.RequiresTesting; } @@ -262,10 +258,10 @@ namespace Jackett.Indexers var imdbMatch = Regex.Match(description, "(?<=http://www.imdb.com/title/tt)([0-9]*)"); long? imdbID = null; - if(imdbMatch.Success) + if (imdbMatch.Success) { long l; - if(long.TryParse(imdbMatch.Value, out l)) + if (long.TryParse(imdbMatch.Value, out l)) { imdbID = l; } @@ -293,11 +289,9 @@ namespace Jackett.Indexers release.Peers += release.Seeders; releases.Add(release); } - } else { - searchUrl += "?titleonly=1&search=" + HttpUtility.UrlEncode(searchString); string.Format(SearchUrl, HttpUtility.UrlEncode(searchString)); @@ -337,7 +331,8 @@ namespace Jackett.Indexers var releaseLinkURI = qRow.Find("td:nth-child(4) > a").Attr("href"); release.Link = new Uri(SiteLink + releaseLinkURI); - if (releaseLinkURI != null){ + if (releaseLinkURI != null) + { var dateString = qRow.Find("td:nth-child(6) nobr")[0].TextContent.Trim(); //"2015-04-25 23:38:12" //"yyyy-MMM-dd hh:mm:ss" diff --git a/src/Jackett/Indexers/SceneFZ.cs b/src/Jackett/Indexers/SceneFZ.cs index 59221f3cf..12ef67dfc 100644 --- a/src/Jackett/Indexers/SceneFZ.cs +++ b/src/Jackett/Indexers/SceneFZ.cs @@ -114,7 +114,6 @@ namespace Jackett.Indexers // If we want to simulate a browser if (ConfigData.Browser.Value) { - // Clean headers emulatedBrowserHeaders.Clear(); @@ -134,7 +133,6 @@ namespace Jackett.Indexers { "returnto", "%2F" } }; - // Getting login form to retrieve PHPSESSID var myRequest = new WebRequest() { @@ -371,7 +369,6 @@ namespace Jackett.Indexers }; releases.Add(release); } - } catch (Exception ex) { @@ -410,7 +407,7 @@ namespace Jackett.Indexers queryCollection.Add("cat", "0"); queryCollection.Add("incldead", "0"); - // Building our query + // Building our query url += "?" + queryCollection.GetQueryString(); } else @@ -633,9 +630,11 @@ namespace Jackett.Indexers logger.Debug(message); } break; + case "info": logger.Info(message); break; + case "error": logger.Error(message); break; diff --git a/src/Jackett/Indexers/SceneTime.cs b/src/Jackett/Indexers/SceneTime.cs index d337e2f86..d5ac3294d 100644 --- a/src/Jackett/Indexers/SceneTime.cs +++ b/src/Jackett/Indexers/SceneTime.cs @@ -1,17 +1,17 @@ -using CsQuery; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Text.RegularExpressions; +using System.Threading.Tasks; +using CsQuery; using Jackett.Models; +using Jackett.Models.IndexerConfig; using Jackett.Services; using Jackett.Utils; using Jackett.Utils.Clients; using Newtonsoft.Json.Linq; using NLog; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using Jackett.Models.IndexerConfig; -using System.Text.RegularExpressions; namespace Jackett.Indexers { @@ -22,7 +22,7 @@ namespace Jackett.Indexers private string SearchUrl { get { return SiteLink + "browse_API.php"; } } private string DownloadUrl { get { return SiteLink + "download.php/{0}/download.torrent"; } } - new ConfigurationDataRecaptchaLogin configData + private new ConfigurationDataRecaptchaLogin configData { get { return (ConfigurationDataRecaptchaLogin)base.configData; } set { base.configData = value; } @@ -60,7 +60,7 @@ namespace Jackett.Indexers AddCategoryMapping(102, TorznabCatType.MoviesOther, "Movies/Remux"); AddCategoryMapping(103, TorznabCatType.MoviesWEBDL, "Movies/Web-Rip"); AddCategoryMapping(105, TorznabCatType.Movies, "Movies/Kids"); - + //TV AddCategoryMapping(2, TorznabCatType.TVSD, "TV/XviD"); AddCategoryMapping(43, TorznabCatType.TV, "TV/Packs"); @@ -162,13 +162,12 @@ namespace Jackett.Indexers return IndexerConfigurationStatus.RequiresTesting; } - protected override async Task> PerformQuery(TorznabQuery query) { Dictionary qParams = new Dictionary(); qParams.Add("cata", "yes"); qParams.Add("sec", "jax"); - + List catList = MapTorznabCapsToTrackers(query); foreach (string cat in catList) { @@ -182,7 +181,7 @@ namespace Jackett.Indexers var results = await PostDataWithCookiesAndRetry(SearchUrl, qParams); List releases = ParseResponse(query, results.Content); - + return releases; } @@ -210,8 +209,8 @@ namespace Jackett.Indexers var categoryCol = row.ChildElements.ElementAt(categoryIndex); string catLink = categoryCol.Cq().Find("a").Attr("href"); - if(catLink != null) - { + if (catLink != null) + { string catId = new Regex(@"\?cat=(\d*)").Match(catLink).Groups[1].ToString().Trim(); release.Category = MapTrackerCatToNewznab(catId); } diff --git a/src/Jackett/Indexers/Shazbat.cs b/src/Jackett/Indexers/Shazbat.cs index eb73efeee..9127d66e7 100644 --- a/src/Jackett/Indexers/Shazbat.cs +++ b/src/Jackett/Indexers/Shazbat.cs @@ -1,24 +1,17 @@ -using CsQuery; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Text.RegularExpressions; +using System.Threading.Tasks; +using CsQuery; using Jackett.Models; +using Jackett.Models.IndexerConfig; using Jackett.Services; using Jackett.Utils; using Jackett.Utils.Clients; using Newtonsoft.Json.Linq; using NLog; -using System; -using System.Collections.Generic; -using System.IO; -using System.Linq; -using System.Net; -using System.Net.Http; -using System.Text; -using System.Threading.Tasks; -using System.Web; -using Jackett.Models.IndexerConfig; -using System.Globalization; -using System.Text.RegularExpressions; -using System.Xml.Linq; -using System.Xml.XPath; namespace Jackett.Indexers { @@ -30,7 +23,7 @@ namespace Jackett.Indexers private string ShowUrl { get { return SiteLink + "show?id="; } } private string RSSProfile { get { return SiteLink + "rss_feeds"; } } - new ConfigurationDataBasicLoginWithRSS configData + private new ConfigurationDataBasicLoginWithRSS configData { get { return (ConfigurationDataBasicLoginWithRSS)base.configData; } set { base.configData = value; } @@ -246,7 +239,6 @@ namespace Jackett.Indexers OnParseError(results.Content, ex); }*/ - foreach (var release in releases) { if (release.Title.Contains("1080p") || release.Title.Contains("720p")) diff --git a/src/Jackett/Indexers/ShowRSS.cs b/src/Jackett/Indexers/ShowRSS.cs index d33f77d4e..caf7e67fc 100644 --- a/src/Jackett/Indexers/ShowRSS.cs +++ b/src/Jackett/Indexers/ShowRSS.cs @@ -1,17 +1,17 @@ -using Jackett.Models; +using System; +using System.Collections.Generic; +using System.Globalization; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Xml; +using Jackett.Models; +using Jackett.Models.IndexerConfig; using Jackett.Services; using Jackett.Utils; using Jackett.Utils.Clients; using Newtonsoft.Json.Linq; using NLog; -using System; -using System.Collections.Generic; -using System.Globalization; -using System.Linq; -using System.Threading.Tasks; -using System.Xml; -using System.Text; -using Jackett.Models.IndexerConfig; namespace Jackett.Indexers { @@ -19,7 +19,7 @@ namespace Jackett.Indexers { private string SearchAllUrl { get { return SiteLink + "other/all.rss"; } } - new ConfigurationData configData + private new ConfigurationData configData { get { return (ConfigurationData)base.configData; } set { base.configData = value; } diff --git a/src/Jackett/Indexers/SpeedCD.cs b/src/Jackett/Indexers/SpeedCD.cs index 91e0b9dc1..c4f49ace7 100644 --- a/src/Jackett/Indexers/SpeedCD.cs +++ b/src/Jackett/Indexers/SpeedCD.cs @@ -1,18 +1,18 @@ -using CsQuery; +using System; +using System.Collections.Generic; +using System.Collections.Specialized; +using System.Globalization; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using CsQuery; using Jackett.Models; +using Jackett.Models.IndexerConfig; using Jackett.Services; using Jackett.Utils; using Jackett.Utils.Clients; using Newtonsoft.Json.Linq; using NLog; -using System; -using System.Collections.Generic; -using System.Globalization; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using Jackett.Models.IndexerConfig; -using System.Collections.Specialized; namespace Jackett.Indexers { @@ -21,7 +21,7 @@ namespace Jackett.Indexers private string LoginUrl { get { return SiteLink + "takelogin.php"; } } private string SearchUrl { get { return SiteLink + "browse.php"; } } - new ConfigurationDataBasicLogin configData + private new ConfigurationDataBasicLogin configData { get { return (ConfigurationDataBasicLogin)base.configData; } set { base.configData = value; } @@ -161,7 +161,6 @@ namespace Jackett.Indexers string cat = torrentData.Find("a[class='cat']").First().Attr("id").Trim(); long.TryParse(cat, out category); - var release = new ReleaseInfo(); release.Title = title; @@ -185,7 +184,6 @@ namespace Jackett.Indexers releases.Add(release); } - } catch (Exception ex) { diff --git a/src/Jackett/Indexers/Superbits.cs b/src/Jackett/Indexers/Superbits.cs index fbe835dc0..3bbace62d 100644 --- a/src/Jackett/Indexers/Superbits.cs +++ b/src/Jackett/Indexers/Superbits.cs @@ -1,17 +1,17 @@ -using Jackett.Models; +using System; +using System.Collections.Generic; +using System.Collections.Specialized; +using System.Globalization; +using System.Text; +using System.Threading.Tasks; +using Jackett.Models; +using Jackett.Models.IndexerConfig; using Jackett.Services; using Jackett.Utils; using Jackett.Utils.Clients; +using Newtonsoft.Json; using Newtonsoft.Json.Linq; using NLog; -using System; -using System.Collections.Generic; -using System.Text; -using System.Threading.Tasks; -using Jackett.Models.IndexerConfig; -using System.Collections.Specialized; -using Newtonsoft.Json; -using System.Globalization; namespace Jackett.Indexers { @@ -20,7 +20,7 @@ namespace Jackett.Indexers private string SearchUrl { get { return SiteLink + "api/v1/torrents"; } } private string LoginUrl { get { return SiteLink + "api/v1/auth"; } } - new ConfigurationDataBasicLogin configData + private new ConfigurationDataBasicLogin configData { get { return (ConfigurationDataBasicLogin)base.configData; } set { base.configData = value; } @@ -148,7 +148,7 @@ namespace Jackett.Indexers release.BannerUrl = new Uri(SiteLink + row.customcover); if (row.imdbid2 != null && row.imdbid2.ToString().StartsWith("tt")) - { + { release.Imdb = ParseUtil.CoerceLong(row.imdbid2.ToString().Substring(2)); descriptions.Add("Title: " + row.title); descriptions.Add("Year: " + row.year); diff --git a/src/Jackett/Indexers/Synthesiz3r.cs b/src/Jackett/Indexers/Synthesiz3r.cs index 0bc01a604..78aa13fc2 100644 --- a/src/Jackett/Indexers/Synthesiz3r.cs +++ b/src/Jackett/Indexers/Synthesiz3r.cs @@ -1,9 +1,9 @@ -using Jackett.Models; -using NLog; +using System.Collections.Generic; +using Jackett.Indexers.Abstract; +using Jackett.Models; using Jackett.Services; using Jackett.Utils.Clients; -using Jackett.Indexers.Abstract; -using System.Collections.Generic; +using NLog; namespace Jackett.Indexers { @@ -21,7 +21,7 @@ namespace Jackett.Indexers { Language = "en-us"; Type = "private"; - TorznabCaps.SupportedMusicSearchParamsList = new List() { "q", "album", "artist", "label", "year"}; + TorznabCaps.SupportedMusicSearchParamsList = new List() { "q", "album", "artist", "label", "year" }; AddCategoryMapping(1, TorznabCatType.Audio, "Music"); AddCategoryMapping(2, TorznabCatType.PC, "Applications"); diff --git a/src/Jackett/Indexers/TVChaosUK.cs b/src/Jackett/Indexers/TVChaosUK.cs index fe3425bc9..6768de3fe 100644 --- a/src/Jackett/Indexers/TVChaosUK.cs +++ b/src/Jackett/Indexers/TVChaosUK.cs @@ -1,36 +1,32 @@ -using CsQuery; +using System; +using System.Collections.Generic; +using System.Globalization; +using System.Linq; +using System.Text; +using System.Text.RegularExpressions; +using System.Threading.Tasks; +using System.Xml.Linq; +using CsQuery; using Jackett.Models; +using Jackett.Models.IndexerConfig; using Jackett.Services; using Jackett.Utils; using Jackett.Utils.Clients; using Newtonsoft.Json.Linq; using NLog; -using System; -using System.Collections.Generic; -using System.Collections.Specialized; -using System.Globalization; -using System.Linq; -using System.Net; -using System.Net.Http; -using System.Text; -using System.Threading.Tasks; -using System.Web; -using Jackett.Models.IndexerConfig; -using System.Text.RegularExpressions; -using System.Xml.Linq; namespace Jackett.Indexers { public class TVChaosUK : BaseWebIndexer { - string LoginUrl { get { return SiteLink + "takelogin.php"; } } - string GetRSSKeyUrl { get { return SiteLink + "getrss.php"; } } - string SearchUrl { get { return SiteLink + "browse.php"; } } - string RSSUrl { get { return SiteLink + "rss.php?secret_key={0}&feedtype=download&timezone=0&showrows=50&categories=all"; } } - string CommentUrl { get { return SiteLink + "details.php?id={0}"; } } - string DownloadUrl { get { return SiteLink + "download.php?id={0}"; } } + private string LoginUrl { get { return SiteLink + "takelogin.php"; } } + private string GetRSSKeyUrl { get { return SiteLink + "getrss.php"; } } + private string SearchUrl { get { return SiteLink + "browse.php"; } } + private string RSSUrl { get { return SiteLink + "rss.php?secret_key={0}&feedtype=download&timezone=0&showrows=50&categories=all"; } } + private string CommentUrl { get { return SiteLink + "details.php?id={0}"; } } + private string DownloadUrl { get { return SiteLink + "download.php?id={0}"; } } - new ConfigurationDataBasicLoginWithRSS configData + private new ConfigurationDataBasicLoginWithRSS configData { get { return (ConfigurationDataBasicLoginWithRSS)base.configData; } set { base.configData = value; } @@ -224,7 +220,7 @@ namespace Jackett.Indexers Description = description, Guid = new Uri(string.Format(DownloadUrl, torrentId)), Comments = new Uri(string.Format(CommentUrl, torrentId)), - PublishDate = DateTime.ParseExact(date, "yyyy-MM-dd H:mm:ss", CultureInfo.InvariantCulture), //2015-08-08 21:20:31 + PublishDate = DateTime.ParseExact(date, "yyyy-MM-dd H:mm:ss", CultureInfo.InvariantCulture), //2015-08-08 21:20:31 Link = new Uri(string.Format(DownloadUrl, torrentId)), Seeders = ParseUtil.CoerceInt(infoMatch.Groups["seeders"].Value), Peers = ParseUtil.CoerceInt(infoMatch.Groups["leechers"].Value), @@ -233,7 +229,6 @@ namespace Jackett.Indexers Category = MapTrackerCatDescToNewznab(infoMatch.Groups["cat"].Value) }; - release.Peers += release.Seeders; releases.Add(release); } @@ -284,19 +279,17 @@ namespace Jackett.Indexers release.Guid = new Uri(qRow.Find("td:eq(2) a").Attr("href")); release.Link = release.Guid; release.Comments = new Uri(qRow.Find("td:eq(1) .tooltip-target a").Attr("href")); - release.PublishDate = DateTime.ParseExact(qRow.Find("td:eq(1) div").Last().Text().Trim(), "dd-MM-yyyy H:mm", CultureInfo.InvariantCulture); //08-08-2015 12:51 + release.PublishDate = DateTime.ParseExact(qRow.Find("td:eq(1) div").Last().Text().Trim(), "dd-MM-yyyy H:mm", CultureInfo.InvariantCulture); //08-08-2015 12:51 release.Seeders = ParseUtil.CoerceInt(qRow.Find("td:eq(6)").Text()); release.Peers = release.Seeders + ParseUtil.CoerceInt(qRow.Find("td:eq(7)").Text().Trim()); release.Size = ReleaseInfo.GetBytes(qRow.Find("td:eq(4)").Text().Trim()); - var cat = row.Cq().Find("td:eq(0) a").First().Attr("href"); var catSplit = cat.LastIndexOf('='); if (catSplit > -1) cat = cat.Substring(catSplit + 1); release.Category = MapTrackerCatToNewznab(cat); - var grabs = qRow.Find("td:nth-child(6)").Text(); release.Grabs = ParseUtil.CoerceInt(grabs); diff --git a/src/Jackett/Indexers/TVVault.cs b/src/Jackett/Indexers/TVVault.cs index 74c730c7a..650655776 100644 --- a/src/Jackett/Indexers/TVVault.cs +++ b/src/Jackett/Indexers/TVVault.cs @@ -1,26 +1,26 @@ -using Jackett.Utils.Clients; -using NLog; +using System; +using System.Collections.Generic; +using System.Collections.Specialized; +using System.Text; +using System.Text.RegularExpressions; +using System.Threading.Tasks; +using AngleSharp.Parser.Html; +using Jackett.Models; +using Jackett.Models.IndexerConfig; using Jackett.Services; using Jackett.Utils; -using Jackett.Models; -using System.Threading.Tasks; +using Jackett.Utils.Clients; using Newtonsoft.Json.Linq; -using System.Collections.Generic; -using System; -using System.Text; -using Jackett.Models.IndexerConfig; -using System.Collections.Specialized; -using AngleSharp.Parser.Html; -using System.Text.RegularExpressions; +using NLog; namespace Jackett.Indexers { public class TVVault : BaseWebIndexer { - string LoginUrl { get { return SiteLink + "login.php"; } } - string BrowseUrl { get { return SiteLink + "torrents.php"; } } + private string LoginUrl { get { return SiteLink + "login.php"; } } + private string BrowseUrl { get { return SiteLink + "torrents.php"; } } - new ConfigurationDataBasicLoginWithRSSAndDisplay configData + private new ConfigurationDataBasicLoginWithRSSAndDisplay configData { get { return (ConfigurationDataBasicLoginWithRSSAndDisplay)base.configData; } set { base.configData = value; } @@ -77,7 +77,7 @@ namespace Jackett.Indexers protected override async Task> PerformQuery(TorznabQuery query) { var releases = new List(); - + var searchString = query.GetQueryString(); var searchUrl = BrowseUrl; @@ -152,4 +152,3 @@ namespace Jackett.Indexers } } } - diff --git a/src/Jackett/Indexers/TehConnection.cs b/src/Jackett/Indexers/TehConnection.cs index 779f56cba..3234f1da1 100644 --- a/src/Jackett/Indexers/TehConnection.cs +++ b/src/Jackett/Indexers/TehConnection.cs @@ -1,18 +1,18 @@ -using CsQuery; -using Jackett.Models; -using Jackett.Services; -using Jackett.Utils; -using Jackett.Utils.Clients; -using Newtonsoft.Json.Linq; -using NLog; -using System; +using System; using System.Collections.Generic; using System.Globalization; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Web; +using CsQuery; +using Jackett.Models; using Jackett.Models.IndexerConfig; +using Jackett.Services; +using Jackett.Utils; +using Jackett.Utils.Clients; +using Newtonsoft.Json.Linq; +using NLog; namespace Jackett.Indexers { @@ -22,7 +22,7 @@ namespace Jackett.Indexers private string indexUrl { get { return SiteLink + "index.php"; } } private string SearchUrl { get { return SiteLink + "torrents.php"; } } - new ConfigurationDataBasicLoginWithFilter configData + private new ConfigurationDataBasicLoginWithFilter configData { get { return (ConfigurationDataBasicLoginWithFilter)base.configData; } set { base.configData = value; } @@ -37,7 +37,7 @@ namespace Jackett.Indexers client: c, logger: l, p: ps, - configData: new ConfigurationDataBasicLoginWithFilter(@"Enter filter options below to restrict search results. + configData: new ConfigurationDataBasicLoginWithFilter(@"Enter filter options below to restrict search results. Separate options with a space if using more than one option.
Filter options available:
QualityEncodeOnly
FreeLeechOnly")) { @@ -186,7 +186,6 @@ namespace Jackett.Indexers title = dom.Find("div.title_text").Text() + " - " + qRow.Find("div.details_title > a").Text(); } - release.Title = title; release.Guid = guid; release.Link = link; @@ -226,7 +225,6 @@ namespace Jackett.Indexers releases.Add(release); } - } } catch (Exception ex) diff --git a/src/Jackett/Indexers/TorrentBytes.cs b/src/Jackett/Indexers/TorrentBytes.cs index 47b6805d3..5b5aa917c 100644 --- a/src/Jackett/Indexers/TorrentBytes.cs +++ b/src/Jackett/Indexers/TorrentBytes.cs @@ -1,21 +1,17 @@ -using CsQuery; +using System; +using System.Collections.Generic; +using System.Collections.Specialized; +using System.Globalization; +using System.Text; +using System.Threading.Tasks; +using CsQuery; using Jackett.Models; +using Jackett.Models.IndexerConfig; using Jackett.Services; using Jackett.Utils; using Jackett.Utils.Clients; using Newtonsoft.Json.Linq; using NLog; -using System; -using System.Collections.Generic; -using System.Collections.Specialized; -using System.Globalization; -using System.Linq; -using System.Net; -using System.Net.Http; -using System.Text; -using System.Threading.Tasks; -using System.Web; -using Jackett.Models.IndexerConfig; namespace Jackett.Indexers { @@ -24,7 +20,7 @@ namespace Jackett.Indexers private string BrowseUrl { get { return SiteLink + "browse.php"; } } private string LoginUrl { get { return SiteLink + "takelogin.php"; } } - new ConfigurationDataBasicLogin configData + private new ConfigurationDataBasicLogin configData { get { return (ConfigurationDataBasicLogin)base.configData; } set { base.configData = value; } diff --git a/src/Jackett/Indexers/TorrentDay.cs b/src/Jackett/Indexers/TorrentDay.cs index cf4c98f11..68631e77a 100644 --- a/src/Jackett/Indexers/TorrentDay.cs +++ b/src/Jackett/Indexers/TorrentDay.cs @@ -1,21 +1,17 @@ -using CsQuery; +using System; +using System.Collections.Generic; +using System.Collections.Specialized; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using CsQuery; using Jackett.Models; +using Jackett.Models.IndexerConfig; using Jackett.Services; using Jackett.Utils; using Jackett.Utils.Clients; using Newtonsoft.Json.Linq; using NLog; -using System; -using System.Collections.Generic; -using System.Globalization; -using System.Linq; -using System.Net; -using System.Net.Http; -using System.Text; -using System.Threading.Tasks; -using System.Web; -using Jackett.Models.IndexerConfig; -using System.Collections.Specialized; namespace Jackett.Indexers { @@ -24,6 +20,7 @@ namespace Jackett.Indexers private string StartPageUrl { get { return SiteLink + "login.php"; } } private string LoginUrl { get { return SiteLink + "tak3login.php"; } } private string SearchUrl { get { return SiteLink + "browse.php"; } } + public override string[] AlternativeSiteLinks { get; protected set; } = new string[] { "https://tdonline.org/", "https://secure.torrentday.com/", @@ -38,7 +35,7 @@ namespace Jackett.Indexers "https://www.td.af/", }; - new ConfigurationDataRecaptchaLogin configData + private new ConfigurationDataRecaptchaLogin configData { get { return (ConfigurationDataRecaptchaLogin)base.configData; } set { base.configData = value; } diff --git a/src/Jackett/Indexers/TorrentHeaven.cs b/src/Jackett/Indexers/TorrentHeaven.cs index 2362adee8..cbd0f22c8 100644 --- a/src/Jackett/Indexers/TorrentHeaven.cs +++ b/src/Jackett/Indexers/TorrentHeaven.cs @@ -1,29 +1,29 @@ -using Jackett.Utils.Clients; -using NLog; +using System; +using System.Collections.Generic; +using System.Collections.Specialized; +using System.Globalization; +using System.Linq; +using System.Text; +using System.Text.RegularExpressions; +using System.Threading.Tasks; +using CsQuery; +using Jackett.Models; +using Jackett.Models.IndexerConfig; using Jackett.Services; using Jackett.Utils; -using Jackett.Models; -using System.Threading.Tasks; +using Jackett.Utils.Clients; using Newtonsoft.Json.Linq; -using System.Collections.Generic; -using CsQuery; -using System; -using System.Globalization; -using Jackett.Models.IndexerConfig; -using System.Collections.Specialized; -using System.Text; -using System.Linq; -using System.Text.RegularExpressions; +using NLog; namespace Jackett.Indexers { public class TorrentHeaven : BaseWebIndexer { - string IndexUrl { get { return SiteLink + "index.php"; } } - string LoginCompleteUrl { get { return SiteLink + "index.php?strWebValue=account&strWebAction=login_complete&ancestry=verify"; } } - static readonly string certificateHash = "6F5CE30D578C2A7AECFB919D0D013976D395055F"; + private string IndexUrl { get { return SiteLink + "index.php"; } } + private string LoginCompleteUrl { get { return SiteLink + "index.php?strWebValue=account&strWebAction=login_complete&ancestry=verify"; } } + private static readonly string certificateHash = "6F5CE30D578C2A7AECFB919D0D013976D395055F"; - new ConfigurationDataCaptchaLogin configData + private new ConfigurationDataCaptchaLogin configData { get { return (ConfigurationDataCaptchaLogin)base.configData; } set { base.configData = value; } @@ -260,4 +260,3 @@ namespace Jackett.Indexers } } } - diff --git a/src/Jackett/Indexers/TorrentLeech.cs b/src/Jackett/Indexers/TorrentLeech.cs index 8909200af..a12cf3fba 100644 --- a/src/Jackett/Indexers/TorrentLeech.cs +++ b/src/Jackett/Indexers/TorrentLeech.cs @@ -1,20 +1,18 @@ -using CsQuery; +using System; +using System.Collections.Generic; +using System.Globalization; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Web; +using CsQuery; using Jackett.Models; +using Jackett.Models.IndexerConfig; using Jackett.Services; using Jackett.Utils; using Jackett.Utils.Clients; using Newtonsoft.Json.Linq; using NLog; -using System; -using System.Collections.Generic; -using System.Globalization; -using System.Linq; -using System.Net; -using System.Net.Http; -using System.Text; -using System.Threading.Tasks; -using System.Web; -using Jackett.Models.IndexerConfig; namespace Jackett.Indexers { @@ -23,7 +21,7 @@ namespace Jackett.Indexers private string LoginUrl { get { return SiteLink + "user/account/login/"; } } private string SearchUrl { get { return SiteLink + "torrents/browse/index/"; } } - new ConfigurationDataBasicLogin configData + private new ConfigurationDataBasicLogin configData { get { return (ConfigurationDataBasicLogin)base.configData; } set { base.configData = value; } @@ -204,7 +202,6 @@ namespace Jackett.Indexers releases.Add(release); } } - catch (Exception ex) { OnParseError(results.Content, ex); diff --git a/src/Jackett/Indexers/TorrentNetwork.cs b/src/Jackett/Indexers/TorrentNetwork.cs index 28679848e..538bd50c3 100644 --- a/src/Jackett/Indexers/TorrentNetwork.cs +++ b/src/Jackett/Indexers/TorrentNetwork.cs @@ -1,23 +1,23 @@ -using Jackett.Utils.Clients; -using NLog; -using Jackett.Services; -using Jackett.Utils; -using Jackett.Models; -using System.Threading.Tasks; -using Newtonsoft.Json.Linq; +using System; using System.Collections.Generic; -using System; -using Jackett.Models.IndexerConfig; using System.Collections.Specialized; using System.Text; +using System.Threading.Tasks; +using Jackett.Models; +using Jackett.Models.IndexerConfig; +using Jackett.Services; +using Jackett.Utils; +using Jackett.Utils.Clients; using Newtonsoft.Json; +using Newtonsoft.Json.Linq; +using NLog; using static Jackett.Models.IndexerConfig.ConfigurationData; namespace Jackett.Indexers { public class TorrentNetwork : BaseWebIndexer { - string APIUrl { get { return SiteLink + "api/"; } } + private string APIUrl { get { return SiteLink + "api/"; } } private string passkey; private Dictionary APIHeaders = new Dictionary() @@ -25,7 +25,7 @@ namespace Jackett.Indexers {"Content-Type", "application/json"}, }; - new ConfigurationDataBasicLoginWithRSSAndDisplay configData + private new ConfigurationDataBasicLoginWithRSSAndDisplay configData { get { return (ConfigurationDataBasicLoginWithRSSAndDisplay)base.configData; } set { base.configData = value; } @@ -79,7 +79,6 @@ namespace Jackett.Indexers AddCategoryMapping(42, TorznabCatType.TV, "Series ENG/Pack"); AddCategoryMapping(31, TorznabCatType.TVSport, "Sport"); - AddCategoryMapping(10, TorznabCatType.PCGames, "Games/Win"); AddCategoryMapping(12, TorznabCatType.ConsoleWii, "Games/Wii"); AddCategoryMapping(13, TorznabCatType.ConsolePS4, "Games/PSX"); @@ -189,7 +188,7 @@ namespace Jackett.Indexers throw new Exception(result["error"].ToString()); var data = (JArray)result.data; - + foreach (JArray torrent in data) { var release = new ReleaseInfo(); @@ -240,4 +239,3 @@ namespace Jackett.Indexers } } } - diff --git a/src/Jackett/Indexers/TorrentSyndikat.cs b/src/Jackett/Indexers/TorrentSyndikat.cs index 2f4f04c91..380fc7ef6 100644 --- a/src/Jackett/Indexers/TorrentSyndikat.cs +++ b/src/Jackett/Indexers/TorrentSyndikat.cs @@ -1,19 +1,19 @@ -using CsQuery; +using System; +using System.Collections.Generic; +using System.Collections.Specialized; +using System.Globalization; +using System.Linq; +using System.Text; +using System.Text.RegularExpressions; +using System.Threading.Tasks; +using CsQuery; using Jackett.Models; +using Jackett.Models.IndexerConfig; using Jackett.Services; using Jackett.Utils; using Jackett.Utils.Clients; using Newtonsoft.Json.Linq; using NLog; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using Jackett.Models.IndexerConfig; -using System.Collections.Specialized; -using System.Globalization; -using System.Text.RegularExpressions; namespace Jackett.Indexers { @@ -22,9 +22,9 @@ namespace Jackett.Indexers private string SearchUrl { get { return SiteLink + "browse.php"; } } private string LoginUrl { get { return SiteLink + "eing2.php"; } } private string CaptchaUrl { get { return SiteLink + "simpleCaptcha.php?numImages=1"; } } - TimeZoneInfo germanyTz = TimeZoneInfo.CreateCustomTimeZone("W. Europe Standard Time", new TimeSpan(1, 0, 0), "W. Europe Standard Time", "W. Europe Standard Time"); + private TimeZoneInfo germanyTz = TimeZoneInfo.CreateCustomTimeZone("W. Europe Standard Time", new TimeSpan(1, 0, 0), "W. Europe Standard Time", "W. Europe Standard Time"); - new ConfigurationDataBasicLoginWithRSSAndDisplay configData + private new ConfigurationDataBasicLoginWithRSSAndDisplay configData { get { return (ConfigurationDataBasicLoginWithRSSAndDisplay)base.configData; } set { base.configData = value; } @@ -163,7 +163,7 @@ namespace Jackett.Indexers { var release = new ReleaseInfo(); release.MinimumRatio = 1; - release.MinimumSeedTime = 96*60*60; + release.MinimumSeedTime = 96 * 60 * 60; var qRow = row.Cq(); @@ -184,7 +184,7 @@ namespace Jackett.Indexers release.Guid = release.Comments; var torrent_details = descCol.ChildElements.Last(); - var dateStr = torrent_details.ChildNodes.ElementAt(torrent_details.ChildNodes.Length-3).Cq().Text().Replace(" von ", "").Trim(); + var dateStr = torrent_details.ChildNodes.ElementAt(torrent_details.ChildNodes.Length - 3).Cq().Text().Replace(" von ", "").Trim(); DateTime dateGerman; if (dateStr.StartsWith("Heute ")) dateGerman = DateTime.SpecifyKind(DateTime.UtcNow.Date, DateTimeKind.Unspecified) + TimeSpan.Parse(dateStr.Split(' ')[1]); diff --git a/src/Jackett/Indexers/Torrentech.cs b/src/Jackett/Indexers/Torrentech.cs index 8c0c38beb..3564a9bd5 100644 --- a/src/Jackett/Indexers/Torrentech.cs +++ b/src/Jackett/Indexers/Torrentech.cs @@ -1,29 +1,27 @@ -using Jackett.Utils.Clients; -using NLog; +using System; +using System.Collections.Generic; +using System.Collections.Specialized; +using System.Text; +using System.Threading.Tasks; +using System.Web; +using AngleSharp.Dom; +using AngleSharp.Parser.Html; +using Jackett.Models; +using Jackett.Models.IndexerConfig; using Jackett.Services; using Jackett.Utils; -using Jackett.Models; -using System.Threading.Tasks; +using Jackett.Utils.Clients; using Newtonsoft.Json.Linq; -using System.Collections.Generic; -using System; -using System.Text; -using System.Globalization; -using Jackett.Models.IndexerConfig; -using System.Collections.Specialized; -using AngleSharp.Parser.Html; -using AngleSharp.Dom; -using System.Text.RegularExpressions; -using System.Web; +using NLog; namespace Jackett.Indexers { public class Torrentech : BaseWebIndexer { - string LoginUrl { get { return SiteLink + "index.php?act=Login&CODE=01&CookieDate=1"; } } - string IndexUrl { get { return SiteLink + "index.php"; } } + private string LoginUrl { get { return SiteLink + "index.php?act=Login&CODE=01&CookieDate=1"; } } + private string IndexUrl { get { return SiteLink + "index.php"; } } - new ConfigurationDataBasicLoginWithRSSAndDisplay configData + private new ConfigurationDataBasicLoginWithRSSAndDisplay configData { get { return (ConfigurationDataBasicLoginWithRSSAndDisplay)base.configData; } set { base.configData = value; } @@ -219,4 +217,3 @@ namespace Jackett.Indexers } } } - diff --git a/src/Jackett/Indexers/TransmitheNet.cs b/src/Jackett/Indexers/TransmitheNet.cs index 9e26cb3e0..b1793337c 100644 --- a/src/Jackett/Indexers/TransmitheNet.cs +++ b/src/Jackett/Indexers/TransmitheNet.cs @@ -1,18 +1,18 @@ -using Jackett.Models; +using System; +using System.Collections.Generic; +using System.Globalization; +using System.Text; +using System.Text.RegularExpressions; +using System.Threading.Tasks; +using System.Web; +using AngleSharp.Parser.Html; +using Jackett.Models; +using Jackett.Models.IndexerConfig; using Jackett.Services; using Jackett.Utils; using Jackett.Utils.Clients; using Newtonsoft.Json.Linq; using NLog; -using System; -using System.Collections.Generic; -using System.Globalization; -using System.Threading.Tasks; -using System.Web; -using System.Text; -using Jackett.Models.IndexerConfig; -using AngleSharp.Parser.Html; -using System.Text.RegularExpressions; namespace Jackett.Indexers { @@ -21,7 +21,7 @@ namespace Jackett.Indexers private string LoginUrl { get { return SiteLink + "login.php"; } } private string SearchUrl { get { return SiteLink + "torrents.php?action=basic&order_by=time&order_way=desc&search_type=0&taglist=&tags_type=0"; } } - new ConfigurationDataBasicLogin configData + private new ConfigurationDataBasicLogin configData { get { return (ConfigurationDataBasicLogin)base.configData; } set { base.configData = value; } @@ -157,7 +157,6 @@ namespace Jackett.Indexers release.UploadVolumeFactor = 1; - releases.Add(release); } } diff --git a/src/Jackett/Indexers/WiHD.cs b/src/Jackett/Indexers/WiHD.cs index 1a8a78889..227a17b35 100644 --- a/src/Jackett/Indexers/WiHD.cs +++ b/src/Jackett/Indexers/WiHD.cs @@ -1,9 +1,10 @@ using System; using System.Collections.Generic; using System.Collections.Specialized; +using System.IO; using System.Linq; -using System.Text; using System.Reflection; +using System.Text; using System.Text.RegularExpressions; using System.Threading.Tasks; using CsQuery; @@ -15,7 +16,6 @@ using Jackett.Utils.Clients; using Newtonsoft.Json; using Newtonsoft.Json.Linq; using NLog; -using System.IO; namespace Jackett.Indexers { @@ -113,7 +113,6 @@ namespace Jackett.Indexers // If we want to simulate a browser if (ConfigData.Browser.Value) { - // Clean headers emulatedBrowserHeaders.Clear(); @@ -125,7 +124,6 @@ namespace Jackett.Indexers emulatedBrowserHeaders.Add("User-Agent", ConfigData.HeaderUserAgent.Value); } - // Getting login form to retrieve CSRF token var myRequest = new Utils.Clients.WebRequest() { @@ -369,7 +367,6 @@ namespace Jackett.Indexers }; releases.Add(release); } - } catch (Exception ex) { @@ -812,9 +809,11 @@ namespace Jackett.Indexers logger.Debug(message); } break; + case "info": logger.Info(message); break; + case "error": logger.Error(message); break; diff --git a/src/Jackett/Indexers/XSpeeds.cs b/src/Jackett/Indexers/XSpeeds.cs index 2e94a1a1f..9e8410d10 100644 --- a/src/Jackett/Indexers/XSpeeds.cs +++ b/src/Jackett/Indexers/XSpeeds.cs @@ -1,37 +1,37 @@ -using CsQuery; +using System; +using System.Collections.Generic; +using System.Globalization; +using System.Linq; +using System.Text; +using System.Text.RegularExpressions; +using System.Threading.Tasks; +using System.Xml.Linq; +using CsQuery; using Jackett.Models; +using Jackett.Models.IndexerConfig; using Jackett.Services; using Jackett.Utils; using Jackett.Utils.Clients; using Newtonsoft.Json.Linq; using NLog; -using System; -using System.Collections.Generic; -using System.Globalization; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using Jackett.Models.IndexerConfig; -using System.Text.RegularExpressions; -using System.Xml.Linq; -using static Jackett.Utils.ParseUtil; using static Jackett.Models.IndexerConfig.ConfigurationData; +using static Jackett.Utils.ParseUtil; namespace Jackett.Indexers { public class XSpeeds : BaseWebIndexer { - string LandingUrl => SiteLink + "login.php"; - string LoginUrl => SiteLink + "takelogin.php"; - string GetRSSKeyUrl => SiteLink + "getrss.php"; - string SearchUrl => SiteLink + "browse.php"; - string RSSUrl => SiteLink + "rss.php?secret_key={0}&feedtype=download&timezone=0&showrows=50&categories=all"; - string CommentUrl => SiteLink + "details.php?id={0}"; - string DownloadUrl => SiteLink + "download.php?id={0}"; + private string LandingUrl => SiteLink + "login.php"; + private string LoginUrl => SiteLink + "takelogin.php"; + private string GetRSSKeyUrl => SiteLink + "getrss.php"; + private string SearchUrl => SiteLink + "browse.php"; + private string RSSUrl => SiteLink + "rss.php?secret_key={0}&feedtype=download&timezone=0&showrows=50&categories=all"; + private string CommentUrl => SiteLink + "details.php?id={0}"; + private string DownloadUrl => SiteLink + "download.php?id={0}"; - new ConfigurationDataBasicLoginWithRSSAndDisplay configData + private new ConfigurationDataBasicLoginWithRSSAndDisplay configData { - get {return (ConfigurationDataBasicLoginWithRSSAndDisplay)base.configData; } + get { return (ConfigurationDataBasicLoginWithRSSAndDisplay)base.configData; } set { base.configData = value; } } @@ -133,8 +133,7 @@ namespace Jackett.Indexers CQ dom = loginPage.Content; CQ qCaptchaImg = dom.Find("img#regimage").First(); if (qCaptchaImg.Length > 0) - { - + { var CaptchaUrl = qCaptchaImg.Attr("src"); var captchaImage = await RequestBytesWithCookies(CaptchaUrl, loginPage.Cookies, RequestType.GET, LandingUrl); @@ -213,11 +212,11 @@ namespace Jackett.Indexers // If we have no query use the RSS Page as their server is slow enough at times! if (query.IsTest || string.IsNullOrWhiteSpace(searchString)) { - var rssPage = await RequestStringWithCookiesAndRetry(string.Format(RSSUrl, configData.RSSKey.Value)); try { - if (rssPage.Content.EndsWith("\0")) { + if (rssPage.Content.EndsWith("\0")) + { rssPage.Content = rssPage.Content.Substring(0, rssPage.Content.Length - 1); } rssPage.Content = RemoveInvalidXmlChars(rssPage.Content); @@ -246,7 +245,7 @@ namespace Jackett.Indexers Description = title, Guid = new Uri(string.Format(DownloadUrl, torrentId)), Comments = new Uri(string.Format(CommentUrl, torrentId)), - PublishDate = DateTime.ParseExact(date, "yyyy-MM-dd H:mm:ss", CultureInfo.InvariantCulture), //2015-08-08 21:20:31 + PublishDate = DateTime.ParseExact(date, "yyyy-MM-dd H:mm:ss", CultureInfo.InvariantCulture), //2015-08-08 21:20:31 Link = new Uri(string.Format(DownloadUrl, torrentId)), Seeders = ParseUtil.CoerceInt(infoMatch.Groups["seeders"].Value), Peers = ParseUtil.CoerceInt(infoMatch.Groups["leechers"].Value), @@ -264,7 +263,6 @@ namespace Jackett.Indexers logger.Error(rssPage.Content); throw ex; } - } if (query.IsTest || !string.IsNullOrWhiteSpace(searchString)) { @@ -304,7 +302,7 @@ namespace Jackett.Indexers var qDetails = qRow.Find("div > a[href*=\"details.php?id=\"]"); // details link, release name get's shortened if it's to long var qTitle = qRow.Find("td:eq(1) .tooltip-content div:eq(0)"); // use Title from tooltip - if(!qTitle.Any()) // fallback to Details link if there's no tooltip + if (!qTitle.Any()) // fallback to Details link if there's no tooltip { qTitle = qDetails; } @@ -313,7 +311,7 @@ namespace Jackett.Indexers release.Guid = new Uri(qRow.Find("td:eq(2) a").Attr("href")); release.Link = release.Guid; release.Comments = new Uri(qDetails.Attr("href")); - release.PublishDate = DateTime.ParseExact(qRow.Find("td:eq(1) div").Last().Text().Trim(), "dd-MM-yyyy H:mm", CultureInfo.InvariantCulture, DateTimeStyles.AssumeUniversal); //08-08-2015 12:51 + release.PublishDate = DateTime.ParseExact(qRow.Find("td:eq(1) div").Last().Text().Trim(), "dd-MM-yyyy H:mm", CultureInfo.InvariantCulture, DateTimeStyles.AssumeUniversal); //08-08-2015 12:51 release.Seeders = ParseUtil.CoerceInt(qRow.Find("td:eq(6)").Text()); release.Peers = release.Seeders + ParseUtil.CoerceInt(qRow.Find("td:eq(7)").Text().Trim()); release.Size = ReleaseInfo.GetBytes(qRow.Find("td:eq(4)").Text().Trim()); diff --git a/src/Jackett/Indexers/Xthor.cs b/src/Jackett/Indexers/Xthor.cs index 2e1008149..f3a66dc4f 100644 --- a/src/Jackett/Indexers/Xthor.cs +++ b/src/Jackett/Indexers/Xthor.cs @@ -118,6 +118,7 @@ namespace Jackett.Indexers /// Our params in Json /// Configuration state #pragma warning disable 1998 + public override async Task ApplyConfiguration(JToken configJson) #pragma warning restore 1998 { @@ -463,6 +464,7 @@ namespace Jackett.Indexers // Everything OK Output("\nAPI State : Everything OK ... -> " + state.descr); break; + case 1: // Passkey not found Output("\nAPI State : Error, Passkey not found in tracker's database, aborting... -> " + state.descr); @@ -471,10 +473,12 @@ namespace Jackett.Indexers // No results Output("\nAPI State : No results for query ... -> " + state.descr); break; + case 3: // Power Saver Output("\nAPI State : Power Saver mode, only cached query with no parameters available ... -> " + state.descr); break; + case 4: // DDOS Attack, API disabled Output("\nAPI State : Tracker is under DDOS attack, API disabled, aborting ... -> " + state.descr); @@ -566,9 +570,11 @@ namespace Jackett.Indexers logger.Debug(message); } break; + case "info": logger.Info(message); break; + case "error": logger.Error(message); break; diff --git a/src/Jackett/Indexers/rutracker.cs b/src/Jackett/Indexers/rutracker.cs index e5098677e..a85417c80 100644 --- a/src/Jackett/Indexers/rutracker.cs +++ b/src/Jackett/Indexers/rutracker.cs @@ -1,28 +1,30 @@ -using Jackett.Utils.Clients; -using NLog; +using System; +using System.Collections.Generic; +using System.Collections.Specialized; +using System.Text; +using System.Threading.Tasks; +using AngleSharp.Parser.Html; +using Jackett.Models; +using Jackett.Models.IndexerConfig; using Jackett.Services; using Jackett.Utils; -using Jackett.Models; -using System.Threading.Tasks; +using Jackett.Utils.Clients; using Newtonsoft.Json.Linq; -using System.Collections.Generic; -using System; -using System.Text; -using Jackett.Models.IndexerConfig; -using System.Collections.Specialized; -using AngleSharp.Parser.Html; +using NLog; namespace Jackett.Indexers { public class RuTracker : BaseWebIndexer { - string LoginUrl { get { return SiteLink + "forum/login.php"; } } - string SearchUrl { get { return SiteLink + "forum/tracker.php"; } } + private string LoginUrl + { get { return SiteLink + "forum/login.php"; } } + private string SearchUrl + { get { return SiteLink + "forum/tracker.php"; } } protected string cap_sid = null; protected string cap_code_field = null; - new ConfigurationDataCaptchaLogin configData + private new ConfigurationDataCaptchaLogin configData { get { return (ConfigurationDataCaptchaLogin)base.configData; } set { base.configData = value; } @@ -1441,7 +1443,7 @@ namespace Jackett.Indexers var LoginResultDocument = LoginResultParser.Parse(response.Content); var captchaimg = LoginResultDocument.QuerySelector("img[src^=\"//static.t-ru.org/captcha/\"]"); if (captchaimg != null) - { + { var captchaImage = await RequestBytesWithCookies("https:" + captchaimg.GetAttribute("src")); configData.CaptchaImage.Value = captchaImage.Content; @@ -1582,4 +1584,3 @@ namespace Jackett.Indexers } } } - diff --git a/src/Jackett/Indexers/x264.cs b/src/Jackett/Indexers/x264.cs index 3408ca829..06ee6e01d 100644 --- a/src/Jackett/Indexers/x264.cs +++ b/src/Jackett/Indexers/x264.cs @@ -1,17 +1,17 @@ -using CsQuery; +using System; +using System.Collections.Generic; +using System.Collections.Specialized; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using CsQuery; using Jackett.Models; +using Jackett.Models.IndexerConfig; using Jackett.Services; using Jackett.Utils; using Jackett.Utils.Clients; using Newtonsoft.Json.Linq; using NLog; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using Jackett.Models.IndexerConfig; -using System.Collections.Specialized; namespace Jackett.Indexers { @@ -21,7 +21,7 @@ namespace Jackett.Indexers private string LoginUrl { get { return SiteLink + "login.php"; } } private string SubmitLoginUrl { get { return SiteLink + "takelogin.php"; } } - new ConfigurationDataRecaptchaLogin configData + private new ConfigurationDataRecaptchaLogin configData { get { return (ConfigurationDataRecaptchaLogin)base.configData; } set { base.configData = value; } @@ -151,7 +151,7 @@ namespace Jackett.Indexers var release = new ReleaseInfo(); release.MinimumRatio = 1; release.MinimumSeedTime = 7 * 24 * 60 * 60; - + var qRow = row.Cq(); var qCatLink = qRow.Find("a[href^=?cat]").First(); var qDetailsLink = qRow.Find("a[href^=details.php]").First(); @@ -172,7 +172,8 @@ namespace Jackett.Indexers var sizeStr = qSize.Text(); release.Size = ReleaseInfo.GetBytes(sizeStr); - if(qImdbLink.Length == 1) { + if (qImdbLink.Length == 1) + { var ImdbId = qImdbLink.Attr("href").Split('/').Last().Substring(2); release.Imdb = ParseUtil.CoerceLong(ImdbId); } diff --git a/src/Jackett/Indexers/yts.cs b/src/Jackett/Indexers/yts.cs index 68face670..009487985 100644 --- a/src/Jackett/Indexers/yts.cs +++ b/src/Jackett/Indexers/yts.cs @@ -1,24 +1,23 @@ -using Jackett.Models; +using System; +using System.Collections.Generic; +using System.Collections.Specialized; +using System.Globalization; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Jackett.Models; using Jackett.Models.IndexerConfig; using Jackett.Services; using Jackett.Utils; using Jackett.Utils.Clients; using Newtonsoft.Json.Linq; using NLog; -using System; -using System.Collections.Generic; -using System.Collections.Specialized; -using System.Globalization; -using System.Linq; -using System.Threading.Tasks; -using System.Text; -using System.Web; namespace Jackett.Indexers { public class Yts : BaseWebIndexer { - readonly static string defaultSiteLink = "https://yts.ag/"; + private static readonly string defaultSiteLink = "https://yts.ag/"; private Uri BaseUri { @@ -28,7 +27,7 @@ namespace Jackett.Indexers private string ApiEndpoint { get { return BaseUri + "api/v2/list_movies.json"; } } - new ConfigurationDataUrl configData + private new ConfigurationDataUrl configData { get { return (ConfigurationDataUrl)base.configData; } set { base.configData = value; } @@ -80,7 +79,7 @@ namespace Jackett.Indexers { var releases = new List(); var searchString = query.GetQueryString(); - + var queryCollection = new NameValueCollection(); if (query.ImdbID != null)