From 040deb2bfb6326b785f859f1a07d5a34d4bdef49 Mon Sep 17 00:00:00 2001 From: hex <hexzorian@users.noreply.github.com> Date: Tue, 26 Apr 2016 13:40:54 +0300 Subject: [PATCH] Added SceneFZ tracker (#319) * Added SceneFZ tracker * SceneFZ tracker new logo size and updated README --- README.md | 1 + src/Jackett/Content/logos/scenefz.png | Bin 0 -> 9222 bytes src/Jackett/Indexers/SceneFZ.cs | 125 ++++++++++++++++++++++++++ src/Jackett/Jackett.csproj | 4 + 4 files changed, 130 insertions(+) create mode 100644 src/Jackett/Content/logos/scenefz.png create mode 100644 src/Jackett/Indexers/SceneFZ.cs diff --git a/README.md b/README.md index 3f90363f..154ad22d 100644 --- a/README.md +++ b/README.md @@ -47,6 +47,7 @@ Developer note: The software implements the [Torznab](https://github.com/Sonarr/ * PrivateHD * RevolutionTT * SceneAccess + * SceneFZ * SceneTime * Shazbat * SpeedCD diff --git a/src/Jackett/Content/logos/scenefz.png b/src/Jackett/Content/logos/scenefz.png new file mode 100644 index 0000000000000000000000000000000000000000..369bb4afb4f978f106addae512fe56df185fb780 GIT binary patch literal 9222 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 literal 0 HcmV?d00001 diff --git a/src/Jackett/Indexers/SceneFZ.cs b/src/Jackett/Indexers/SceneFZ.cs new file mode 100644 index 00000000..0a8e0ea2 --- /dev/null +++ b/src/Jackett/Indexers/SceneFZ.cs @@ -0,0 +1,125 @@ +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.Collections.Generic; +using CsQuery; +using System.Web; +using System; +using System.Globalization; +using Jackett.Models.IndexerConfig; + +namespace Jackett.Indexers +{ + public class SceneFZ : BaseIndexer, IIndexer + { + string LoginUrl { get { return SiteLink + "takelogin.php"; } } + + string BrowseUrl { get { return SiteLink + "ajax_browse.php"; } } + + new ConfigurationDataBasicLogin configData + { + get { return (ConfigurationDataBasicLogin)base.configData; } + set { base.configData = value; } + } + + public SceneFZ(IIndexerManagerService i, IWebClient wc, Logger l, IProtectionService ps) + : base(name: "SceneFZ", + description: "Torrent tracker. Tracking over 50.000 torrent files.", + link: "http://scenefz.net/", + caps: TorznabUtil.CreateDefaultTorznabTVCaps(), + manager: i, + client: wc, + logger: l, + p: ps, + configData: new ConfigurationDataBasicLogin()) + { + AddCategoryMapping(32, TorznabCatType.Movies); + AddCategoryMapping(33, TorznabCatType.TV); + } + + public async Task<IndexerConfigurationStatus> ApplyConfiguration(JToken configJson) + { + configData.LoadValuesFromJson(configJson); + var pairs = new Dictionary<string, string> + { + { "username", configData.Username.Value }, + { "password", configData.Password.Value } + }; + + var result = await RequestLoginAndFollowRedirect(LoginUrl, pairs, null, true, null, LoginUrl); + await ConfigureIfOK(result.Cookies, result.Content != null && result.Content.Contains("Please wait..."), () => + { + CQ dom = result.Content; + var errorMessage = dom[".tableinborder:eq(1) td"].Text().Trim(); + throw new ExceptionWithConfigData(errorMessage, configData); + }); + return IndexerConfigurationStatus.RequiresTesting; + } + + public async Task<IEnumerable<ReleaseInfo>> PerformQuery(TorznabQuery query) + { + var releases = new List<ReleaseInfo>(); + var searchUrl = BrowseUrl; + var searchString = query.GetQueryString(); + + var cats = MapTorznabCapsToTrackers(query); + string cat = "0"; + + if (cats.Count == 1) + { + cat = cats[0]; + } + + if (!string.IsNullOrWhiteSpace(searchString) || cat != "0") + searchUrl += string.Format("?search={0}¶m_val=0&complex_search=0&incldead=mc{1}&orderby=added&sort=desc", HttpUtility.UrlEncode(searchString), cat); + + var response = await RequestStringWithCookiesAndRetry(searchUrl, null, BrowseUrl); + var results = response.Content; + try + { + CQ dom = results; + var rows = dom["td#browse-middle-td"]; + + foreach (var row in rows) + { + var release = new ReleaseInfo(); + var qRow = row.Cq(); + var qTitleLink = qRow.Find("table tbody tr:eq(0) td a").First(); + release.Title = qRow.Find("table tbody tr:eq(0) td a b").Text().Trim(); + release.Description = release.Title; + release.Guid = new Uri(SiteLink + qTitleLink.Attr("href")); + release.Comments = release.Guid; + + //24.04.2016 16:44:57 + var dateStr = qRow.Find("table tbody tr:eq(1) td:eq(4)").Html().Replace(" ", " ").Trim(); + release.PublishDate = DateTime.ParseExact(dateStr, "dd.MM.yyyy HH:mm:ss", CultureInfo.InvariantCulture).AddHours(-2); + + var qLink = qRow.First().Next().Find("a"); + release.Link = new Uri(SiteLink + qLink.Attr("href")); + + var sizeStr = qRow.Find("table tbody tr:eq(1) td b").Text().Trim(); + release.Size = ReleaseInfo.GetBytes(sizeStr.Replace(",", ".")); + + release.Seeders = ParseUtil.CoerceInt(qRow.Find("table tbody tr:eq(1) td:eq(1) b:eq(0) font").Text().Trim()); + release.Peers = ParseUtil.CoerceInt(qRow.Find("table tbody tr:eq(1) td:eq(1) b:eq(1) font").Text().Trim()) + release.Seeders; + + var catId = qRow.First().Prev().Find("a").Attr("onclick").Substring(21, 2); + release.Category = MapTrackerCatToNewznab(catId); + + releases.Add(release); + } + } + catch (Exception ex) + { + OnParseError(results, ex); + } + + return releases; + } + } +} + diff --git a/src/Jackett/Jackett.csproj b/src/Jackett/Jackett.csproj index 3eac9d6c..0f48aceb 100644 --- a/src/Jackett/Jackett.csproj +++ b/src/Jackett/Jackett.csproj @@ -242,6 +242,7 @@ <Compile Include="Indexers\Pretome.cs" /> <Compile Include="Indexers\PrivateHD.cs" /> <Compile Include="Indexers\SceneAccess.cs" /> + <Compile Include="Indexers\SceneFZ.cs" /> <Compile Include="Indexers\SceneTime.cs" /> <Compile Include="Indexers\SpeedCD.cs" /> <Compile Include="Indexers\TorrentDay.cs" /> @@ -524,6 +525,9 @@ <Content Include="Content\logos\sceneaccess.png"> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> </Content> + <Content Include="Content\logos\scenefz.png"> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </Content> <Content Include="Content\logos\scenetime.png"> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> </Content> -- GitLab