From b98a1ff1f549a22cf8424c0a46fd9a9c74da5b37 Mon Sep 17 00:00:00 2001 From: Garfield69 Date: Mon, 20 Aug 2018 07:12:47 +1200 Subject: [PATCH] remove yifi (yifimovie.co) dead #3649 --- README.md | 1 - src/Jackett.Common/Indexers/yify.cs | 187 ---------------------------- 2 files changed, 188 deletions(-) delete mode 100644 src/Jackett.Common/Indexers/yify.cs diff --git a/README.md b/README.md index e83f4d619..b7e7d951a 100644 --- a/README.md +++ b/README.md @@ -62,7 +62,6 @@ Developer note: The software implements the [Torznab](https://github.com/Sonarr/ * TorrentKim * Torrentz2 * World Wide Torrents - * YIFY (YTS) * YTS.ag * Zooqle diff --git a/src/Jackett.Common/Indexers/yify.cs b/src/Jackett.Common/Indexers/yify.cs deleted file mode 100644 index 7c323decd..000000000 --- a/src/Jackett.Common/Indexers/yify.cs +++ /dev/null @@ -1,187 +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 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 Yify : BaseWebIndexer - { - public override string[] LegacySiteLinks { get; protected set; } = new string[] { - "https://yts.me/", - "https://yts.pe/", - }; - - private string ApiEndpoint { get { return SiteLink + "api/v2/list_movies.json"; } } - - private new ConfigurationData configData - { - get { return (ConfigurationData)base.configData; } - set { base.configData = value; } - } - - public Yify(IIndexerConfigurationService configService, WebClient wc, Logger l, IProtectionService ps) - : base(name: "YIFY", - description: "YIFY is a Public torrent site specialising in HD movies of small size", - link: "https://yifymovie.co/", - caps: new TorznabCapabilities(), - configService: configService, - client: wc, - logger: l, - p: ps, - configData: new ConfigurationData()) - { - Encoding = Encoding.GetEncoding("windows-1252"); - Language = "en-us"; - Type = "public"; - - TorznabCaps.SupportsImdbSearch = true; - - webclient.requestDelay = 2.5; // 0.5 requests per second (2 causes problems) - - AddCategoryMapping(1, TorznabCatType.MoviesHD, "Movies/x264/720"); - AddCategoryMapping(2, TorznabCatType.MoviesHD, "Movies/x264/1080"); - AddCategoryMapping(3, TorznabCatType.MoviesUHD, "Movies/x264/2160"); - AddCategoryMapping(4, TorznabCatType.Movies3D, "Movies/x264/3D"); - } - - public override async Task ApplyConfiguration(JToken configJson) - { - configData.LoadValuesFromJson(configJson); - var releases = await PerformQuery(new TorznabQuery()); - - await ConfigureIfOK(string.Empty, releases.Count() > 0, () => - { - throw new Exception("Could not find releases from this URL"); - }); - - return IndexerConfigurationStatus.Completed; - } - - protected override async Task> PerformQuery(TorznabQuery query) - { - return await PerformQuery(query, 0); - } - - public async Task> PerformQuery(TorznabQuery query, int attempts) - { - var releases = new List(); - var searchString = query.GetQueryString(); - - var queryCollection = new NameValueCollection(); - - if (query.ImdbID != null) - { - queryCollection.Add("query_term", query.ImdbID); - } - else if (!string.IsNullOrWhiteSpace(searchString)) - { - searchString = searchString.Replace("'", ""); // ignore ' (e.g. search for america's Next Top Model) - queryCollection.Add("query_term", searchString); - } - - var searchUrl = ApiEndpoint + "?" + queryCollection.GetQueryString(); - var response = await RequestStringWithCookiesAndRetry(searchUrl, string.Empty); - - try - { - var jsonContent = JObject.Parse(response.Content); - - string result = jsonContent.Value("status"); - if (result != "ok") // query was not successful - { - return releases.ToArray(); - } - - var data_items = jsonContent.Value("data"); - int movie_count = data_items.Value("movie_count"); - if (movie_count < 1) // no results found in query - { - return releases.ToArray(); - } - - foreach (var movie_item in data_items.Value("movies")) - { - var torrents = movie_item.Value("torrents"); - if (torrents == null) - continue; - foreach (var torrent_info in torrents) - { - var release = new ReleaseInfo(); - - // Append the quality to the title because thats how radarr seems to be determining the quality? - // All releases are BRRips, see issue #2200 - release.Title = movie_item.Value("title_long") + " " + torrent_info.Value("quality") + " BRRip"; - var imdb = movie_item.Value("imdb_code"); - release.Imdb = ParseUtil.GetImdbID(imdb); - - // API does not provide magnet link, so, construct it - string magnet_uri = "magnet:?xt=urn:btih:" + torrent_info.Value("hash") + - "&dn=" + movie_item.Value("slug") + - "&tr=udp://open.demonii.com:1337/announce" + - "&tr=udp://tracker.openbittorrent.com:80" + - "&tr=udp://tracker.coppersurfer.tk:6969" + - "&tr=udp://glotorrents.pw:6969/announce" + - "&tr=udp://tracker.opentrackr.org:1337/announce" + - "&tr=udp://torrent.gresille.org:80/announce" + - "&tr=udp://p4p.arenabg.com:1337" + - "&tr=udp://tracker.leechers-paradise.org:6969"; - - release.MagnetUri = new Uri(magnet_uri); - release.InfoHash = torrent_info.Value("hash"); - - var dateStr = torrent_info.Value("date_uploaded_unix"); - var dateTime = DateTimeUtil.UnixTimestampToDateTime(dateStr); - release.PublishDate = DateTime.SpecifyKind(dateTime, DateTimeKind.Utc).ToLocalTime(); - release.Link = new Uri(torrent_info.Value("url")); - release.Seeders = torrent_info.Value("seeds"); - release.Peers = torrent_info.Value("peers") + release.Seeders; - release.Size = torrent_info.Value("size_bytes"); - release.DownloadVolumeFactor = 0; - release.UploadVolumeFactor = 1; - - release.Comments = new Uri(movie_item.Value("url")); - release.BannerUrl = new Uri(movie_item.Value("medium_cover_image")); - release.Guid = release.Link; - - // API doesn't provide Categories, resolve via quality - release.Category = MapTrackerCatToNewznab("1"); // default - if (torrent_info.Value("quality") == "720p") - { - release.Category = MapTrackerCatToNewznab("1"); - } - if (torrent_info.Value("quality") == "1080p") - { - release.Category = MapTrackerCatToNewznab("2"); - } - if (torrent_info.Value("quality") == "2160p") - { - release.Category = MapTrackerCatToNewznab("3"); - } - if (torrent_info.Value("quality") == "3D") - { - release.Category = MapTrackerCatToNewznab("4"); - } - releases.Add(release); - } - } - } - catch (Exception ex) - { - OnParseError(response.Content, ex); - } - - return releases; - } - } -}