diff --git a/src/Jackett.Common/Indexers/EliteTracker.cs b/src/Jackett.Common/Indexers/EliteTracker.cs index a97626459..f48a1e69e 100644 --- a/src/Jackett.Common/Indexers/EliteTracker.cs +++ b/src/Jackett.Common/Indexers/EliteTracker.cs @@ -16,21 +16,15 @@ using NLog; namespace Jackett.Common.Indexers { + // ReSharper disable once UnusedType.Global internal class EliteTracker : BaseWebIndexer { private string LoginUrl => SiteLink + "takelogin.php"; private string BrowseUrl => SiteLink + "browse.php"; - private bool TorrentHTTPSMode => configData.TorrentHTTPSMode.Value; - private string ReplaceMulti => configData.ReplaceMulti.Value; - private new ConfigurationDataEliteTracker configData - - { - get => (ConfigurationDataEliteTracker)base.configData; - set => base.configData = value; - } + private new ConfigurationDataEliteTracker configData => (ConfigurationDataEliteTracker)base.configData; public EliteTracker(IIndexerConfigurationService configService, WebClient webClient, Logger logger, IProtectionService protectionService) - : base(name: "Elite-Tracker", + : base("Elite-Tracker", description: "French Torrent Tracker", link: "https://elite-tracker.net/", caps: new TorznabCapabilities(), @@ -45,97 +39,99 @@ namespace Jackett.Common.Indexers Language = "fr-fr"; Type = "private"; - // Clean capabilities - TorznabCaps.Categories.Clear(); + TorznabCaps.SupportsImdbMovieSearch = true; AddCategoryMapping(27, TorznabCatType.TVAnime, "Animation/Animes"); - AddCategoryMapping(63, TorznabCatType.TVAnime, "Animes DVD"); - AddCategoryMapping(56, TorznabCatType.TVAnime, "Animes HD"); - AddCategoryMapping(59, TorznabCatType.TVAnime, "Animes Serie"); - AddCategoryMapping(89, TorznabCatType.TVAnime, "Animes HDLight"); - AddCategoryMapping(87, TorznabCatType.TVAnime, "Animes Pack"); - AddCategoryMapping(88, TorznabCatType.TVAnime, "Animes SD"); - AddCategoryMapping(90, TorznabCatType.TVAnime, "Animes 3D"); + AddCategoryMapping(90, TorznabCatType.TVAnime, "Animes - 3D"); + AddCategoryMapping(99, TorznabCatType.TVAnime, "Animes - 4K"); + AddCategoryMapping(63, TorznabCatType.TVAnime, "Animes - DVD"); + AddCategoryMapping(56, TorznabCatType.TVAnime, "Animes - HD"); + AddCategoryMapping(89, TorznabCatType.TVAnime, "Animes - HDRip"); + AddCategoryMapping(87, TorznabCatType.TVAnime, "Animes - Pack"); + AddCategoryMapping(88, TorznabCatType.TVAnime, "Animes - SD"); + AddCategoryMapping(59, TorznabCatType.TVAnime, "Animes - Serie"); AddCategoryMapping(3, TorznabCatType.PC0day, "APPLICATION"); - AddCategoryMapping(74, TorznabCatType.PCPhoneAndroid, "ANDROID"); - AddCategoryMapping(57, TorznabCatType.PCPhoneIOS, "IPHONE"); - AddCategoryMapping(6, TorznabCatType.PC0day, "LINUX"); - AddCategoryMapping(5, TorznabCatType.PCMac, "MAC"); - AddCategoryMapping(4, TorznabCatType.PC0day, "WINDOWS"); + AddCategoryMapping(74, TorznabCatType.PCPhoneAndroid, "APPLICATION - ANDROID"); + AddCategoryMapping(57, TorznabCatType.PCPhoneIOS, "APPLICATION - IPHONE"); + AddCategoryMapping(6, TorznabCatType.PC0day, "APPLICATION - LINUX"); + AddCategoryMapping(5, TorznabCatType.PCMac, "APPLICATION - MAC"); + AddCategoryMapping(4, TorznabCatType.PC0day, "APPLICATION - WINDOWS"); AddCategoryMapping(38, TorznabCatType.TVDocumentary, "DOCUMENTAIRES"); - AddCategoryMapping(97, TorznabCatType.TVDocumentary, "DOCUMENTAIRES PACK"); + AddCategoryMapping(97, TorznabCatType.TVDocumentary, "DOCUMENTAIRES - PACK"); AddCategoryMapping(34, TorznabCatType.Books, "EBOOKS"); - AddCategoryMapping(86, TorznabCatType.Books, "ABOOKS"); + AddCategoryMapping(86, TorznabCatType.Books, "EBOOKS - ABOOKS"); - AddCategoryMapping(7, TorznabCatType.Movies, "FILMS"); - AddCategoryMapping(11, TorznabCatType.MoviesDVD, "DVD"); - AddCategoryMapping(10, TorznabCatType.MoviesSD, "DVD-RIP/BD-RIP"); - AddCategoryMapping(53, TorznabCatType.MoviesSD, "DVD-SCREENER"); - AddCategoryMapping(9, TorznabCatType.MoviesDVD, "R5"); - AddCategoryMapping(8, TorznabCatType.MoviesSD, "SCREENER"); - AddCategoryMapping(40, TorznabCatType.Movies, "VO"); - AddCategoryMapping(39, TorznabCatType.Movies, "VOSTFR"); - AddCategoryMapping(48, TorznabCatType.MoviesHD, "HD"); - AddCategoryMapping(51, TorznabCatType.MoviesHD, "1080P"); - AddCategoryMapping(70, TorznabCatType.Movies3D, "3D"); - AddCategoryMapping(50, TorznabCatType.MoviesHD, "720P"); - AddCategoryMapping(84, TorznabCatType.MoviesUHD, "4K"); - AddCategoryMapping(49, TorznabCatType.MoviesBluRay, "BluRay"); - AddCategoryMapping(78, TorznabCatType.MoviesHD, "HDLight"); - AddCategoryMapping(85, TorznabCatType.MoviesHD, "x265"); - AddCategoryMapping(91, TorznabCatType.Movies3D, "3D"); - AddCategoryMapping(95, TorznabCatType.Movies, "VOSTFR"); + AddCategoryMapping(48, TorznabCatType.MoviesHD, "FiLMS HD"); + AddCategoryMapping(51, TorznabCatType.MoviesHD, "FiLMS HD - 1080p"); + AddCategoryMapping(98, TorznabCatType.MoviesUHD, "FiLMS HD - 2160p"); + AddCategoryMapping(70, TorznabCatType.Movies3D, "FiLMS HD - 3D"); + AddCategoryMapping(84, TorznabCatType.MoviesUHD, "FiLMS HD - 4K"); + AddCategoryMapping(50, TorznabCatType.MoviesHD, "FiLMS HD - 720P"); + AddCategoryMapping(49, TorznabCatType.MoviesBluRay, "FiLMS HD - BluRay"); + AddCategoryMapping(78, TorznabCatType.MoviesHD, "FiLMS HD - HDRip"); + AddCategoryMapping(95, TorznabCatType.Movies, "FiLMS HD - VOSTFR"); + AddCategoryMapping(85, TorznabCatType.MoviesHD, "FiLMS HD - x265"); + + AddCategoryMapping(7, TorznabCatType.Movies, "FiLMS SD"); + AddCategoryMapping(91, TorznabCatType.Movies3D, "FiLMS SD - 3D"); + AddCategoryMapping(11, TorznabCatType.MoviesDVD, "FiLMS SD - DVD"); + AddCategoryMapping(53, TorznabCatType.MoviesSD, "FiLMS SD - DVD-SCREENER"); + AddCategoryMapping(9, TorznabCatType.MoviesDVD, "FiLMS SD - R5"); + AddCategoryMapping(8, TorznabCatType.MoviesSD, "FiLMS SD - SCREENER"); + AddCategoryMapping(10, TorznabCatType.MoviesSD, "FiLMS SD - SDRip"); + AddCategoryMapping(40, TorznabCatType.Movies, "FiLMS SD - VO"); + AddCategoryMapping(39, TorznabCatType.Movies, "FiLMS SD - VOSTFR"); AddCategoryMapping(15, TorznabCatType.Console, "JEUX VIDEO"); - AddCategoryMapping(76, TorznabCatType.Console3DS, "3DS"); - AddCategoryMapping(18, TorznabCatType.ConsoleNDS, "DS"); - AddCategoryMapping(55, TorznabCatType.PCPhoneIOS, "IPHONE"); - AddCategoryMapping(80, TorznabCatType.PCGames, "LINUX"); - AddCategoryMapping(79, TorznabCatType.PCMac, "OSX"); - AddCategoryMapping(22, TorznabCatType.PCGames, "PC"); - AddCategoryMapping(66, TorznabCatType.ConsolePS3, "PS2"); - AddCategoryMapping(58, TorznabCatType.ConsolePS3, "PS3"); - AddCategoryMapping(81, TorznabCatType.ConsolePS4, "PS4"); - AddCategoryMapping(20, TorznabCatType.ConsolePSP, "PSP"); - AddCategoryMapping(75, TorznabCatType.ConsolePS3, "PSX"); - AddCategoryMapping(19, TorznabCatType.ConsoleWii, "WII"); - AddCategoryMapping(83, TorznabCatType.ConsoleWiiU, "WiiU"); - AddCategoryMapping(16, TorznabCatType.ConsoleXbox, "XBOX"); - AddCategoryMapping(82, TorznabCatType.ConsoleXboxOne, "XBOX ONE"); - AddCategoryMapping(17, TorznabCatType.ConsoleXbox360, "XBOX360"); - AddCategoryMapping(44, TorznabCatType.ConsoleXbox360, "XBOX360.E"); - AddCategoryMapping(54, TorznabCatType.ConsoleXbox360, "XBOX360.JTAG"); - AddCategoryMapping(43, TorznabCatType.ConsoleXbox360, "XBOX360.NTSC"); - AddCategoryMapping(96, TorznabCatType.Console, "NSW"); + AddCategoryMapping(76, TorznabCatType.Console3DS, "JEUX VIDEO - 3DS"); + AddCategoryMapping(18, TorznabCatType.ConsoleNDS, "JEUX VIDEO - DS"); + AddCategoryMapping(55, TorznabCatType.PCPhoneIOS, "JEUX VIDEO - IPHONE"); + AddCategoryMapping(80, TorznabCatType.PCGames, "JEUX VIDEO - LINUX"); + AddCategoryMapping(96, TorznabCatType.ConsoleOther, "JEUX VIDEO - NSW"); + AddCategoryMapping(79, TorznabCatType.PCMac, "JEUX VIDEO - OSX"); + AddCategoryMapping(22, TorznabCatType.PCGames, "JEUX VIDEO - PC"); + AddCategoryMapping(66, TorznabCatType.ConsolePS3, "JEUX VIDEO - PS2"); + AddCategoryMapping(58, TorznabCatType.ConsolePS3, "JEUX VIDEO - PS3"); + AddCategoryMapping(81, TorznabCatType.ConsolePS4, "JEUX VIDEO - PS4"); + AddCategoryMapping(20, TorznabCatType.ConsolePSP, "JEUX VIDEO - PSP"); + AddCategoryMapping(75, TorznabCatType.ConsolePS3, "JEUX VIDEO - PSX"); + AddCategoryMapping(19, TorznabCatType.ConsoleWii, "JEUX VIDEO - WII"); + AddCategoryMapping(83, TorznabCatType.ConsoleWiiU, "JEUX VIDEO - WiiU"); + AddCategoryMapping(16, TorznabCatType.ConsoleXbox, "JEUX VIDEO - XBOX"); + AddCategoryMapping(82, TorznabCatType.ConsoleXboxOne, "JEUX VIDEO - XBOX ONE"); + AddCategoryMapping(17, TorznabCatType.ConsoleXbox360, "JEUX VIDEO - XBOX360"); AddCategoryMapping(23, TorznabCatType.Audio, "MUSIQUES"); - AddCategoryMapping(26, TorznabCatType.Audio, "CLIP/CONCERT"); - AddCategoryMapping(61, TorznabCatType.AudioLossless, "FLAC"); - AddCategoryMapping(60, TorznabCatType.AudioMP3, "MP3"); + AddCategoryMapping(26, TorznabCatType.Audio, "MUSIQUES - CLIP/CONCERT"); + AddCategoryMapping(61, TorznabCatType.AudioLossless, "MUSIQUES - FLAC"); + AddCategoryMapping(60, TorznabCatType.AudioMP3, "MUSIQUES - MP3"); AddCategoryMapping(30, TorznabCatType.TV, "SERIES"); - AddCategoryMapping(73, TorznabCatType.TVSD, "Series Pack FR SD"); - AddCategoryMapping(92, TorznabCatType.TVHD, "Series Pack FR HD"); - AddCategoryMapping(93, TorznabCatType.TVSD, "Series Pack VOSTFR SD"); - AddCategoryMapping(94, TorznabCatType.TVHD, "Series Pack VOSTFR HD"); - AddCategoryMapping(31, TorznabCatType.TVSD, "Series FR SD"); - AddCategoryMapping(32, TorznabCatType.TVSD, "Series VO SD"); - AddCategoryMapping(33, TorznabCatType.TVSD, "Series VOSTFR SD"); - AddCategoryMapping(77, TorznabCatType.TVSD, "Series DVD"); - AddCategoryMapping(67, TorznabCatType.TVHD, "Series.FR HD"); - AddCategoryMapping(68, TorznabCatType.TVHD, "Series VO HD"); - AddCategoryMapping(69, TorznabCatType.TVHD, "Series VOSTFR HD"); + AddCategoryMapping(77, TorznabCatType.TVSD, "SERIES - DVD"); + AddCategoryMapping(100, TorznabCatType.TVUHD, "SERIES - 4k"); + AddCategoryMapping(67, TorznabCatType.TVHD, "SERIES - FR HD"); + AddCategoryMapping(31, TorznabCatType.TVSD, "SERIES - FR SD"); + AddCategoryMapping(102, TorznabCatType.TVUHD, "SERIES - Pack 4k"); + AddCategoryMapping(92, TorznabCatType.TVHD, "SERIES - Pack FR HD"); + AddCategoryMapping(73, TorznabCatType.TVSD, "SERIES - Pack FR SD"); + AddCategoryMapping(94, TorznabCatType.TVHD, "SERIES - Pack VOSTFR HD"); + AddCategoryMapping(93, TorznabCatType.TVSD, "SERIES - Pack VOSTFR SD"); + AddCategoryMapping(68, TorznabCatType.TVHD, "SERIES - VO HD"); + AddCategoryMapping(32, TorznabCatType.TVSD, "SERIES - VO SD"); + AddCategoryMapping(101, TorznabCatType.TVUHD, "SERIES - 4k"); + AddCategoryMapping(69, TorznabCatType.TVHD, "SERIES - VOSTFR HD"); + AddCategoryMapping(33, TorznabCatType.TVSD, "SERIES - VOSTFR SD"); AddCategoryMapping(47, TorznabCatType.TV, "SPECTACLES/EMISSIONS"); - AddCategoryMapping(71, TorznabCatType.TV, "Emissions"); - AddCategoryMapping(72, TorznabCatType.TV, "Spectacles"); + AddCategoryMapping(71, TorznabCatType.TV, "SPECTACLES/EMISSIONS - Emissions"); + AddCategoryMapping(72, TorznabCatType.TV, "SPECTACLES/EMISSIONS - Spectacles"); AddCategoryMapping(35, TorznabCatType.TVSport, "SPORT"); - AddCategoryMapping(36, TorznabCatType.TVSport, "CATCH"); - AddCategoryMapping(65, TorznabCatType.TVSport, "UFC"); + AddCategoryMapping(36, TorznabCatType.TVSport, "SPORT - CATCH"); + AddCategoryMapping(65, TorznabCatType.TVSport, "SPORT - UFC"); AddCategoryMapping(37, TorznabCatType.XXX, "XXX"); } @@ -164,126 +160,116 @@ namespace Jackett.Common.Indexers protected override async Task> PerformQuery(TorznabQuery query) { var releases = new List(); - var searchString = query.GetQueryString(); - var queryCollection = new Dictionary(); - queryCollection.Add("search_type", "t_name"); - queryCollection.Add("do", "search"); - queryCollection.Add("keywords", searchString); - queryCollection.Add("category", "0"); // multi cat search not supported + var pairs = new Dictionary + { + {"do", "search"}, + {"search_type", !string.IsNullOrWhiteSpace(query.ImdbID) ? "t_genre" : "t_name"}, + {"keywords", !string.IsNullOrWhiteSpace(query.ImdbID) ? query.ImdbID : query.GetQueryString()}, + {"category", "0"} // multi cat search not supported + }; - var results = await PostDataWithCookies(BrowseUrl, queryCollection); + var results = await PostDataWithCookies(BrowseUrl, pairs); if (results.IsRedirect) { // re-login await ApplyConfiguration(null); - results = await PostDataWithCookies(BrowseUrl, queryCollection); + results = await PostDataWithCookies(BrowseUrl, pairs); } try { - var RowsSelector = "table[id='sortabletable'] > tbody > tr"; - var SearchResultParser = new HtmlParser(); - var SearchResultDocument = SearchResultParser.ParseDocument(results.Content); - var Rows = SearchResultDocument.QuerySelectorAll(RowsSelector); var lastDate = DateTime.Now; - foreach (var Row in Rows.Skip(1)) + var parser = new HtmlParser(); + var doc = parser.ParseDocument(results.Content); + var rows = doc.QuerySelectorAll("table[id='sortabletable'] > tbody > tr"); + + foreach (var row in rows.Skip(1)) { - var release = new ReleaseInfo(); - release.MinimumRatio = 1; - release.MinimumSeedTime = 0; + var qTags = row.Children[1].QuerySelector("div:has(span[style=\"float: right;\"])"); + if (qTags == null) + continue; // not a torrent line - var category = Row.QuerySelector("td:nth-child(1) > a"); - var title = Row.QuerySelector("td:nth-child(2) a"); - var added = Row.QuerySelector("td:nth-child(2) > div:has(span[style=\"float: right;\"])"); - if (added == null) // not a torrent line - continue; - var pretime = added.QuerySelector("font.mkprettytime"); - var tooltip = Row.QuerySelector("td:nth-child(2) > div.tooltip-content"); + var cat = row.Children[0].QuerySelector("a").GetAttribute("href").Split('=')[1]; + var title = row.Children[1].QuerySelector("a").TextContent; + var qLinks = row.Children[2].QuerySelectorAll("a"); + var link = configData.TorrentHTTPSMode.Value ? qLinks[1].GetAttribute("href") : qLinks[0].GetAttribute("href"); + var comments = row.Children[1].QuerySelector("a").GetAttribute("href"); + var size = row.Children[4].TextContent; + var grabs = row.Children[5].QuerySelector("a").TextContent; + var seeders = row.Children[6].QuerySelector("a").TextContent; + var leechers = row.Children[7].QuerySelector("a").TextContent; - var link = Row.QuerySelector("td:nth-child(3)").QuerySelector("a"); - var comments = Row.QuerySelector("td:nth-child(2)").QuerySelector("a"); - var Size = Row.QuerySelector("td:nth-child(5)"); - var Grabs = Row.QuerySelector("td:nth-child(6)").QuerySelector("a"); - var Seeders = Row.QuerySelector("td:nth-child(7)").QuerySelector("a"); - var Leechers = Row.QuerySelector("td:nth-child(8)").QuerySelector("a"); + var dlVolumeFactor = 1.0; + if (qTags.QuerySelector("img[alt^=\"TORRENT GRATUIT\"]") != null) + dlVolumeFactor = 0.0; + else if (qTags.QuerySelector("img[alt^=\"TORRENT SILVER\"]") != null) + dlVolumeFactor = 0.5; - var categoryId = category.GetAttribute("href").Split('=')[1]; - release.Category = MapTrackerCatToNewznab(categoryId); + var upVolumeFactor = qTags.QuerySelector("img[alt^=\"TORRENT X2\"]") != null ? 2.0 : 1.0; - release.Title = title.TextContent; - release.Category = MapTrackerCatToNewznab(categoryId); - release.Link = new Uri(link.GetAttribute("href")); - release.Comments = new Uri(comments.GetAttribute("href")); + var release = new ReleaseInfo + { + MinimumRatio = 1, + MinimumSeedTime = 0, + Category = MapTrackerCatToNewznab(cat), + Title = title, + Link = new Uri(link), + Comments = new Uri(comments), + Size = ReleaseInfo.GetBytes(size), + Seeders = ParseUtil.CoerceInt(seeders), + Grabs = ParseUtil.CoerceLong(grabs), + DownloadVolumeFactor = dlVolumeFactor, + UploadVolumeFactor = upVolumeFactor + }; + release.Peers = ParseUtil.CoerceInt(leechers) + release.Seeders; release.Guid = release.Link; - release.Size = ReleaseInfo.GetBytes(Size.TextContent); - release.Seeders = ParseUtil.CoerceInt(Seeders.TextContent); - release.Peers = ParseUtil.CoerceInt(Leechers.TextContent) + release.Seeders; - release.Grabs = ParseUtil.CoerceLong(Grabs.TextContent); - if (TorrentHTTPSMode) + var qTooltip = row.Children[1].QuerySelector("div.tooltip-content"); + if (qTooltip != null) { - var linkHttps = Row.QuerySelector("td:nth-child(4)").QuerySelector("a").GetAttribute("href"); - var idTorrent = ParseUtil.GetArgumentFromQueryString(linkHttps, "id"); - release.Link = new Uri($"{SiteLink}download.php?id={idTorrent}&type=ssl"); - } - - if (added.QuerySelector("img[alt^=\"TORRENT GRATUIT\"]") != null) - release.DownloadVolumeFactor = 0; - else if (added.QuerySelector("img[alt^=\"TORRENT SILVER\"]") != null) - release.DownloadVolumeFactor = 0.5; - else - release.DownloadVolumeFactor = 1; - - if (added.QuerySelector("img[alt^=\"TORRENT X2\"]") != null) - release.UploadVolumeFactor = 2; - else - release.UploadVolumeFactor = 1; - - if (tooltip != null) - { - var banner = tooltip.QuerySelector("img"); + var banner = qTooltip.QuerySelector("img"); if (banner != null) { release.BannerUrl = new Uri(banner.GetAttribute("src")); banner.Remove(); } - tooltip.QuerySelector("div:contains(\"Total Hits\")").Remove(); + qTooltip.QuerySelector("div:contains(\"Total Hits\")").Remove(); - var longtitle = tooltip.QuerySelectorAll("div").First(); - release.Title = longtitle.TextContent; - longtitle.Remove(); + var qLongTitle = qTooltip.QuerySelector("div"); + release.Title = qLongTitle.TextContent; + qLongTitle.Remove(); - var desc = tooltip.TextContent.Trim(); - if (!string.IsNullOrWhiteSpace(desc)) - release.Description = desc; + var description = qTooltip.TextContent.Trim(); + if (!string.IsNullOrWhiteSpace(description)) + release.Description = description; } - //issue #5064 replace multi keyword - if (!string.IsNullOrEmpty(ReplaceMulti)) + // issue #5064 replace multi keyword + if (!string.IsNullOrEmpty(configData.ReplaceMulti.Value)) { var regex = new Regex("(?i)([\\.\\- ])MULTI([\\.\\- ])"); - release.Title = regex.Replace(release.Title, "$1" + ReplaceMulti + "$2"); - } - // issue #6855 Replace VOSTFR with ENGLISH - if (configData.Vostfr.Value) - { - release.Title = release.Title.Replace("VOSTFR", "ENGLISH"); + release.Title = regex.Replace(release.Title, "$1" + configData.ReplaceMulti.Value + "$2"); } - if (pretime != null) + // issue #6855 Replace VOSTFR with ENGLISH + if (configData.Vostfr.Value) + release.Title = release.Title.Replace("VOSTFR", "ENGLISH"); + + var qPretime = qTags.QuerySelector("font.mkprettytime"); + if (qPretime != null) { if (release.Description == null) - release.Description = pretime.TextContent; + release.Description = qPretime.TextContent; else - release.Description += "
\n" + pretime.TextContent; + release.Description += "
\n" + qPretime.TextContent; release.PublishDate = lastDate; } else { - release.PublishDate = DateTime.ParseExact(added.TextContent.Trim(), "dd-MM-yyyy HH:mm", CultureInfo.InvariantCulture); + release.PublishDate = DateTime.ParseExact(qTags.TextContent.Trim(), "dd-MM-yyyy HH:mm", CultureInfo.InvariantCulture); lastDate = release.PublishDate; } diff --git a/src/Jackett.Common/Models/IndexerConfig/Bespoke/ConfigurationDataEliteTracker.cs b/src/Jackett.Common/Models/IndexerConfig/Bespoke/ConfigurationDataEliteTracker.cs index 6b9533f62..d85b5682a 100644 --- a/src/Jackett.Common/Models/IndexerConfig/Bespoke/ConfigurationDataEliteTracker.cs +++ b/src/Jackett.Common/Models/IndexerConfig/Bespoke/ConfigurationDataEliteTracker.cs @@ -2,18 +2,19 @@ namespace Jackett.Common.Models.IndexerConfig.Bespoke { internal class ConfigurationDataEliteTracker : ConfigurationDataBasicLogin { - public BoolItem TorrentHTTPSMode { get; private set; } - public DisplayItem PagesWarning { get; private set; } - public StringItem ReplaceMulti { get; private set; } - public BoolItem Vostfr { get; private set; } + public BoolItem TorrentHTTPSMode { get; } + // ReSharper disable once MemberCanBePrivate.Global + // ReSharper disable once UnusedAutoPropertyAccessor.Global + public DisplayItem PagesWarning { get; } + public StringItem ReplaceMulti { get; } + public BoolItem Vostfr { get; } public ConfigurationDataEliteTracker() - : base() { - TorrentHTTPSMode = new BoolItem { Name = "Use https for tracker URL", Value = false }; + TorrentHTTPSMode = new BoolItem { Name = "Use HTTPS for tracker URL", Value = false }; PagesWarning = new DisplayItem("Preferences Configuration (Tweak your search settings),

  • Replace MULTI, replace multi keyword in the resultset (leave empty to deactivate)
  • Replace VOSTFR with ENGLISH lets you change the titles by replacing VOSTFR with ENGLISH.
") { Name = "Preferences" }; - ReplaceMulti = new StringItem() { Name = "Replace MULTI", Value = "MULTI.FRENCH" }; - Vostfr = new BoolItem() { Name = "Replace VOSTFR with ENGLISH", Value = false }; + ReplaceMulti = new StringItem { Name = "Replace MULTI", Value = "MULTI.FRENCH" }; + Vostfr = new BoolItem { Name = "Replace VOSTFR with ENGLISH", Value = false }; } } }