From 7c5e557f7fc1fd2b522c6a7dd7774e2d2975dbb1 Mon Sep 17 00:00:00 2001 From: kaso17 Date: Tue, 13 Mar 2018 18:17:48 +0100 Subject: [PATCH] GhostCity: removed (dead) --- README.md | 1 - src/Jackett.Common/Indexers/GhostCity.cs | 190 ----------------------- 2 files changed, 191 deletions(-) delete mode 100644 src/Jackett.Common/Indexers/GhostCity.cs diff --git a/README.md b/README.md index b0cfb79e7..d72b9e3d1 100644 --- a/README.md +++ b/README.md @@ -159,7 +159,6 @@ Developer note: The software implements the [Torznab](https://github.com/Sonarr/ * GFTracker * Gfxnews * GFXPeers - * Ghost City * GigaTorrents * GimmePeers * GODS [![(invite needed)][inviteneeded]](#) diff --git a/src/Jackett.Common/Indexers/GhostCity.cs b/src/Jackett.Common/Indexers/GhostCity.cs deleted file mode 100644 index e70399a20..000000000 --- a/src/Jackett.Common/Indexers/GhostCity.cs +++ /dev/null @@ -1,190 +0,0 @@ -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.Common.Models; -using Jackett.Common.Models.IndexerConfig; -using Jackett.Common.Services.Interfaces; -using Jackett.Common.Utils; -using Jackett.Common.Utils.Clients; -using Newtonsoft.Json.Linq; -using NLog; - -namespace Jackett.Common.Indexers -{ - public class GhostCity : BaseWebIndexer - { - private string LoginUrl { get { return SiteLink + "takelogin.php"; } } - private string BrowsePage { get { return SiteLink + "browse.php"; } } - - private new ConfigurationDataBasicLoginWithRSSAndDisplay configData - { - get { return (ConfigurationDataBasicLoginWithRSSAndDisplay)base.configData; } - set { base.configData = value; } - } - - public GhostCity(IIndexerConfigurationService configService, WebClient wc, Logger l, IProtectionService ps) - : base(name: "Ghost City", - description: "A German general tracker", - link: "http://ghostcity.dyndns.info/", - caps: TorznabUtil.CreateDefaultTorznabTVCaps(), - configService: configService, - client: wc, - logger: l, - p: ps, - configData: new ConfigurationDataBasicLoginWithRSSAndDisplay()) - { - Encoding = Encoding.UTF8; - Language = "de-de"; - Type = "private"; - - this.configData.DisplayText.Value = "Only the results from the first search result page are shown, adjust your profile settings to show the maximum."; - this.configData.DisplayText.Name = "Notice"; - AddMultiCategoryMapping(TorznabCatType.TVAnime, 8, 34, 35, 36); - AddMultiCategoryMapping(TorznabCatType.TVDocumentary, 12, 44, 106, 45, 46, 47); - AddMultiCategoryMapping(TorznabCatType.Console, 92, 93, 95, 96, 97); - AddMultiCategoryMapping(TorznabCatType.ConsoleNDS, 92); - AddMultiCategoryMapping(TorznabCatType.ConsolePS3, 95); - AddMultiCategoryMapping(TorznabCatType.ConsolePS4, 95); - AddMultiCategoryMapping(TorznabCatType.ConsolePS4, 95); - AddMultiCategoryMapping(TorznabCatType.ConsolePSP, 95); - AddMultiCategoryMapping(TorznabCatType.ConsoleXbox, 97); - AddMultiCategoryMapping(TorznabCatType.ConsoleXbox360, 97); - AddMultiCategoryMapping(TorznabCatType.ConsoleXBOX360DLC, 97); - AddMultiCategoryMapping(TorznabCatType.ConsoleXboxOne, 97); - AddMultiCategoryMapping(TorznabCatType.ConsoleWii, 96); - AddMultiCategoryMapping(TorznabCatType.PC, 20, 94, 40); - AddMultiCategoryMapping(TorznabCatType.PCGames, 94); - AddMultiCategoryMapping(TorznabCatType.PCMac, 39); - AddMultiCategoryMapping(TorznabCatType.PCPhoneOther, 37, 38); - AddMultiCategoryMapping(TorznabCatType.TVSport, 22, 98, 99, 100, 101); - AddMultiCategoryMapping(TorznabCatType.Movies, 68, 69, 70, 102, 104, 103, 72, 71, 73, 74, 75, 77, 78, 79); - AddMultiCategoryMapping(TorznabCatType.MoviesSD, 68, 69, 102, 104, 103, 72, 71, 73, 74); - AddMultiCategoryMapping(TorznabCatType.MoviesHD, 75, 76, 77, 78, 79); - AddMultiCategoryMapping(TorznabCatType.MoviesOther, 73); - AddMultiCategoryMapping(TorznabCatType.MoviesBluRay, 70); - AddMultiCategoryMapping(TorznabCatType.MoviesDVD, 102, 104, 103, 72, 71); - AddMultiCategoryMapping(TorznabCatType.Movies3D, 69); - AddMultiCategoryMapping(TorznabCatType.AudioVideo, 109); - AddMultiCategoryMapping(TorznabCatType.TV, 8, 34, 35, 36, 23, 90, 88, 107, 89); - AddMultiCategoryMapping(TorznabCatType.TVHD, 107); - AddMultiCategoryMapping(TorznabCatType.TVSD, 89); - AddMultiCategoryMapping(TorznabCatType.XXX, 25); - AddMultiCategoryMapping(TorznabCatType.TVDocumentary, 88); - AddMultiCategoryMapping(TorznabCatType.AudioAudiobook, 84); - AddMultiCategoryMapping(TorznabCatType.BooksEbook, 83); - AddMultiCategoryMapping(TorznabCatType.BooksMagazines, 85); - AddMultiCategoryMapping(TorznabCatType.BooksOther, 108); - AddMultiCategoryMapping(TorznabCatType.Other, 3, 93, 24); - } - - public override async Task ApplyConfiguration(JToken configJson) - { - LoadValuesFromJson(configJson); - - var pairs = new Dictionary { - { "username", configData.Username.Value }, - { "password", configData.Password.Value } - }; - - var result1 = await RequestLoginAndFollowRedirect(LoginUrl, pairs, null, true, null, SiteLink); - CQ result1Dom = result1.Content; - var link = result1Dom[".trow2 a"].First(); - var result2 = await RequestStringWithCookies(link.Attr("href"), result1.Cookies); - CQ result2Dom = result2.Content; - - await ConfigureIfOK(result1.Cookies, result2.Content.Contains("/logout.php"), () => - { - var errorMessage = "Login failed."; - throw new ExceptionWithConfigData(errorMessage, configData); - }); - return IndexerConfigurationStatus.RequiresTesting; - } - - protected override async Task> PerformQuery(TorznabQuery query) - { - var releases = new List(); - var searchString = query.GetQueryString(); - var searchUrl = BrowsePage; - var queryCollection = new NameValueCollection(); - - queryCollection.Add("do", "search"); - - if (!string.IsNullOrWhiteSpace(searchString)) - { - queryCollection.Add("keywords", searchString); - } - - queryCollection.Add("search_type", "t_name"); - - // FIXME: Tracker doesn't support multi category search - foreach (var cat in MapTorznabCapsToTrackers(query)) - { - queryCollection.Add("category", cat); - } - - if (queryCollection.Count > 0) - { - searchUrl += "?" + queryCollection.GetQueryString(); - } - - var results = await RequestStringWithCookiesAndRetry(searchUrl); - - if (results.Content.Contains(" -1) - { - catLink = catLink.Substring(catSplit + 9); - } - - release.Category = MapTrackerCatToNewznab(catLink); - releases.Add(release); - } - } - catch (Exception ex) - { - OnParseError(results.Content, ex); - } - - return releases; - } - } -}