Code Tidy: Indexers P to Z (#2033)

This commit is contained in:
flightlevel 2017-10-29 17:50:47 +11:00 committed by GitHub
parent e93d8f0f7c
commit 84ccd323e0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
34 changed files with 389 additions and 453 deletions

View File

@ -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.<br>Filter options available:
<br><code>GoldenPopcorn</code><br><code>Scene</code><br><code>Checked</code>"))
{
@ -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

View File

@ -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<ConfigurationData> 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;
}
}
}

View File

@ -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<String> categories = new List<string>() { "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; }

View File

@ -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("<br />\n", descriptions);
release.Description = string.Join("<br />\n", descriptions);
releases.Add(release);
}
@ -198,4 +195,3 @@ namespace Jackett.Indexers
}
}
}

View File

@ -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<CategoryMapping> resultMapping = new List<CategoryMapping>();
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");
}

View File

@ -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
{

View File

@ -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
{

View File

@ -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<ReleaseInfo>();
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<string>("error"));
}
@ -248,6 +246,5 @@ namespace Jackett.Indexers
return releases;
}
}
}

View File

@ -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<string>() { "q", "album", "artist", "label", "year" } ;
TorznabCaps.SupportedMusicSearchParamsList = new List<string>() { "q", "album", "artist", "label", "year" };
AddCategoryMapping(1, TorznabCatType.Audio, "Music");
AddCategoryMapping(2, TorznabCatType.PC, "Applications");

View File

@ -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"

View File

@ -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;

View File

@ -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<IEnumerable<ReleaseInfo>> PerformQuery(TorznabQuery query)
{
Dictionary<string, string> qParams = new Dictionary<string, string>();
qParams.Add("cata", "yes");
qParams.Add("sec", "jax");
List<string> catList = MapTorznabCapsToTrackers(query);
foreach (string cat in catList)
{
@ -182,7 +181,7 @@ namespace Jackett.Indexers
var results = await PostDataWithCookiesAndRetry(SearchUrl, qParams);
List<ReleaseInfo> 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);
}

View File

@ -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"))

View File

@ -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; }

View File

@ -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)
{

View File

@ -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);

View File

@ -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<string>() { "q", "album", "artist", "label", "year"};
TorznabCaps.SupportedMusicSearchParamsList = new List<string>() { "q", "album", "artist", "label", "year" };
AddCategoryMapping(1, TorznabCatType.Audio, "Music");
AddCategoryMapping(2, TorznabCatType.PC, "Applications");

View File

@ -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);

View File

@ -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<IEnumerable<ReleaseInfo>> PerformQuery(TorznabQuery query)
{
var releases = new List<ReleaseInfo>();
var searchString = query.GetQueryString();
var searchUrl = BrowseUrl;
@ -152,4 +152,3 @@ namespace Jackett.Indexers
}
}
}

View File

@ -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.<br>Filter options available:
<br><code>QualityEncodeOnly</code><br><code>FreeLeechOnly</code>"))
{
@ -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)

View File

@ -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; }

View File

@ -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; }

View File

@ -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
}
}
}

View File

@ -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);

View File

@ -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<string, string> APIHeaders = new Dictionary<string, string>()
@ -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
}
}
}

View File

@ -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]);

View File

@ -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
}
}
}

View File

@ -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);
}
}

View File

@ -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;

View File

@ -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());

View File

@ -118,6 +118,7 @@ namespace Jackett.Indexers
/// <param name="configJson">Our params in Json</param>
/// <returns>Configuration state</returns>
#pragma warning disable 1998
public override async Task<IndexerConfigurationStatus> 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;

View File

@ -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
}
}
}

View File

@ -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);
}

View File

@ -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<ReleaseInfo>();
var searchString = query.GetQueryString();
var queryCollection = new NameValueCollection();
if (query.ImdbID != null)