no message

This commit is contained in:
unknown
2015-08-12 11:31:59 -06:00
parent df5f799d46
commit 117f18886c
16 changed files with 119 additions and 397 deletions

View File

@@ -49,9 +49,9 @@ namespace Jackett.Indexers
AddCategoryMapping(15, TorznabCatType.ConsoleWii); AddCategoryMapping(15, TorznabCatType.ConsoleWii);
AddCategoryMapping(16, TorznabCatType.PC); AddCategoryMapping(16, TorznabCatType.PC);
AddCategoryMapping(17, TorznabCatType.PCMac); AddCategoryMapping(17, TorznabCatType.PCMac);
AddCategoryMapping(19, TorznabCatType.PCMobileOther); AddCategoryMapping(19, TorznabCatType.PCPhoneOther);
AddCategoryMapping(21, TorznabCatType.EBooks); AddCategoryMapping(21, TorznabCatType.BooksEbook);
AddCategoryMapping(22, TorznabCatType.AudioBooks); AddCategoryMapping(22, TorznabCatType.AudioAudiobook);
AddCategoryMapping(23, TorznabCatType.Audio); AddCategoryMapping(23, TorznabCatType.Audio);
} }

View File

@@ -39,7 +39,7 @@ namespace Jackett.Indexers
description: "Powered by Tentacles", description: "Powered by Tentacles",
manager: i, manager: i,
client: client, client: client,
caps: new TorznabCapabilities(TorznabCatType.Anime), caps: new TorznabCapabilities(TorznabCatType.TVAnime),
logger: l, logger: l,
p: ps, p: ps,
configData: new ConfigurationDataAnimeBytes()) configData: new ConfigurationDataAnimeBytes())

View File

@@ -46,10 +46,10 @@ namespace Jackett.Indexers
{ {
AddCategoryMapping(1, TorznabCatType.Audio); AddCategoryMapping(1, TorznabCatType.Audio);
AddCategoryMapping(2, TorznabCatType.PC); AddCategoryMapping(2, TorznabCatType.PC);
AddCategoryMapping(3, TorznabCatType.EBooks); AddCategoryMapping(3, TorznabCatType.BooksEbook);
AddCategoryMapping(4, TorznabCatType.AudioBooks); AddCategoryMapping(4, TorznabCatType.AudioAudiobook);
AddCategoryMapping(6, TorznabCatType.Comic); AddCategoryMapping(6, TorznabCatType.BooksComics);
AddCategoryMapping(8, TorznabCatType.Anime); AddCategoryMapping(8, TorznabCatType.TVAnime);
AddCategoryMapping(9, TorznabCatType.Movies); AddCategoryMapping(9, TorznabCatType.Movies);
AddCategoryMapping(10, TorznabCatType.TVHD); AddCategoryMapping(10, TorznabCatType.TVHD);
AddCategoryMapping(10, TorznabCatType.TVSD); AddCategoryMapping(10, TorznabCatType.TVSD);

View File

@@ -32,7 +32,7 @@ namespace Jackett.Indexers
: base(name: "BakaBT", : base(name: "BakaBT",
description: "Anime Community", description: "Anime Community",
link: "http://bakabt.me/", link: "http://bakabt.me/",
caps: new TorznabCapabilities(TorznabCatType.Anime), caps: new TorznabCapabilities(TorznabCatType.TVAnime),
manager: i, manager: i,
client: wc, client: wc,
logger: l, logger: l,

View File

@@ -54,12 +54,12 @@ namespace Jackett.Indexers
AddCategoryMapping("77", TorznabCatType.MoviesHD); AddCategoryMapping("77", TorznabCatType.MoviesHD);
AddCategoryMapping("71", TorznabCatType.Movies3D); AddCategoryMapping("71", TorznabCatType.Movies3D);
AddCategoryMapping("78", TorznabCatType.MoviesHD); AddCategoryMapping("78", TorznabCatType.MoviesHD);
AddCategoryMapping("37", TorznabCatType.MoviesBlueRay); AddCategoryMapping("37", TorznabCatType.MoviesBluRay);
AddCategoryMapping("54", TorznabCatType.MoviesHD); AddCategoryMapping("54", TorznabCatType.MoviesHD);
AddCategoryMapping("55,56,42,36,69", TorznabCatType.Audio); AddCategoryMapping("55,56,42,36,69", TorznabCatType.Audio);
AddCategoryMapping("36", TorznabCatType.AudioLossless); AddCategoryMapping("36", TorznabCatType.AudioLossless);
AddCategoryMapping("69", TorznabCatType.AudioLossy); AddCategoryMapping("69", TorznabCatType.AudioMP3);
} }
public async Task ApplyConfiguration(JToken configJson) public async Task ApplyConfiguration(JToken configJson)
@@ -97,7 +97,7 @@ namespace Jackett.Indexers
{ {
cats.AddRange(cat.Split(',')); cats.AddRange(cat.Split(','));
} }
foreach (var cat in cats) foreach (var cat in cats.Distinct())
{ {
queryCollection.Add("c" + cat, "1"); queryCollection.Add("c" + cat, "1");
} }

View File

@@ -41,28 +41,28 @@ namespace Jackett.Indexers
p: ps, p: ps,
configData: new ConfigurationDataFileList()) configData: new ConfigurationDataFileList())
{ {
AddCategoryMapping(24, TorznabCatType.Anime); AddCategoryMapping(24, TorznabCatType.TVAnime);
AddCategoryMapping(11, TorznabCatType.Audio); AddCategoryMapping(11, TorznabCatType.Audio);
AddCategoryMapping(15, TorznabCatType.TV); AddCategoryMapping(15, TorznabCatType.TV);
//AddCategoryMapping(18, TorznabCatType.); Other //AddCategoryMapping(18, TorznabCatType.); Other
AddCategoryMapping(16, TorznabCatType.TVDocs); AddCategoryMapping(16, TorznabCatType.TVDocumentary);
AddCategoryMapping(25, TorznabCatType.Movies3D); AddCategoryMapping(25, TorznabCatType.Movies3D);
AddCategoryMapping(20, TorznabCatType.MoviesBlueRay); AddCategoryMapping(20, TorznabCatType.MoviesBluRay);
AddCategoryMapping(2, TorznabCatType.MoviesSD); AddCategoryMapping(2, TorznabCatType.MoviesSD);
AddCategoryMapping(3, TorznabCatType.MoviesForeign); //RO AddCategoryMapping(3, TorznabCatType.MoviesForeign); //RO
AddCategoryMapping(4, TorznabCatType.MoviesHD); AddCategoryMapping(4, TorznabCatType.MoviesHD);
AddCategoryMapping(19, TorznabCatType.MoviesForeign); // RO AddCategoryMapping(19, TorznabCatType.MoviesForeign); // RO
AddCategoryMapping(1, TorznabCatType.MoviesSD); AddCategoryMapping(1, TorznabCatType.MoviesSD);
AddCategoryMapping(10, TorznabCatType.Consoles); AddCategoryMapping(10, TorznabCatType.Console);
AddCategoryMapping(9, TorznabCatType.PCGames); AddCategoryMapping(9, TorznabCatType.PCGames);
//AddCategoryMapping(17, TorznabCatType); Linux No cat //AddCategoryMapping(17, TorznabCatType); Linux No cat
AddCategoryMapping(22, TorznabCatType.AppsMobile); //Apps/mobile AddCategoryMapping(22, TorznabCatType.PCPhoneOther); //Apps/mobile
AddCategoryMapping(8, TorznabCatType.Apps); AddCategoryMapping(8, TorznabCatType.PC);
AddCategoryMapping(21, TorznabCatType.TVHD); AddCategoryMapping(21, TorznabCatType.TVHD);
AddCategoryMapping(23, TorznabCatType.TVSD); AddCategoryMapping(23, TorznabCatType.TVSD);
AddCategoryMapping(13, TorznabCatType.TVSport); AddCategoryMapping(13, TorznabCatType.TVSport);
AddCategoryMapping(14, TorznabCatType.TV); AddCategoryMapping(14, TorznabCatType.TV);
AddCategoryMapping(12, TorznabCatType.AudioMusicVideos); AddCategoryMapping(12, TorznabCatType.AudioVideo);
AddCategoryMapping(7, TorznabCatType.XXX); AddCategoryMapping(7, TorznabCatType.XXX);
} }

View File

@@ -76,11 +76,11 @@ namespace Jackett.Indexers
AddCategoryMapping(80, TorznabCatType.AudioLossless); AddCategoryMapping(80, TorznabCatType.AudioLossless);
AddCategoryMapping(93, TorznabCatType.Audio); AddCategoryMapping(93, TorznabCatType.Audio);
AddCategoryMapping(60, TorznabCatType.Anime); AddCategoryMapping(60, TorznabCatType.TVAnime);
AddCategoryMapping(1, TorznabCatType.Apps); AddCategoryMapping(1, TorznabCatType.PC);
AddCategoryMapping(64, TorznabCatType.AudioBooks); AddCategoryMapping(64, TorznabCatType.AudioAudiobook);
AddCategoryMapping(35, TorznabCatType.Books); AddCategoryMapping(35, TorznabCatType.Books);
AddCategoryMapping(94, TorznabCatType.Comic); AddCategoryMapping(94, TorznabCatType.BooksComics);
} }
public async Task ApplyConfiguration(JToken configJson) public async Task ApplyConfiguration(JToken configJson)

View File

@@ -41,7 +41,7 @@ namespace Jackett.Indexers
p: ps, p: ps,
configData: new ConfigurationDataBasicLogin()) configData: new ConfigurationDataBasicLogin())
{ {
AddCategoryMapping(32, TorznabCatType.Anime); AddCategoryMapping(32, TorznabCatType.TVAnime);
AddCategoryMapping(47, TorznabCatType.TVSD); AddCategoryMapping(47, TorznabCatType.TVSD);
AddCategoryMapping(8, TorznabCatType.TVHD); AddCategoryMapping(8, TorznabCatType.TVHD);
AddCategoryMapping(48, TorznabCatType.TVHD); AddCategoryMapping(48, TorznabCatType.TVHD);
@@ -50,8 +50,8 @@ namespace Jackett.Indexers
AddCategoryMapping(6, TorznabCatType.TVSD); AddCategoryMapping(6, TorznabCatType.TVSD);
AddCategoryMapping(22, TorznabCatType.Books); AddCategoryMapping(22, TorznabCatType.Books);
AddCategoryMapping(41, TorznabCatType.Comic); AddCategoryMapping(41, TorznabCatType.BooksComics);
AddCategoryMapping(23, TorznabCatType.Apps); AddCategoryMapping(23, TorznabCatType.PC);
AddCategoryMapping(16, TorznabCatType.MoviesHD); AddCategoryMapping(16, TorznabCatType.MoviesHD);
AddCategoryMapping(17, TorznabCatType.MoviesSD); AddCategoryMapping(17, TorznabCatType.MoviesSD);
@@ -62,8 +62,8 @@ namespace Jackett.Indexers
AddCategoryMapping(34, TorznabCatType.Audio); AddCategoryMapping(34, TorznabCatType.Audio);
AddCategoryMapping(37, TorznabCatType.AudioLossless); AddCategoryMapping(37, TorznabCatType.AudioLossless);
AddCategoryMapping(35, TorznabCatType.AudioBooks); AddCategoryMapping(35, TorznabCatType.AudioAudiobook);
AddCategoryMapping(36, TorznabCatType.AudioLossy); AddCategoryMapping(36, TorznabCatType.AudioMP3);
} }

View File

@@ -43,7 +43,7 @@ namespace Jackett.Indexers
p: ps, p: ps,
configData: new ConfigurationDataRuTor(defaultSiteLink)) configData: new ConfigurationDataRuTor(defaultSiteLink))
{ {
TorznabCaps.Categories.Add(TorznabCatType.Anime); TorznabCaps.Categories.Add(TorznabCatType.TVAnime);
TorznabCaps.Categories.Add(TorznabCatType.Movies); TorznabCaps.Categories.Add(TorznabCatType.Movies);
TorznabCaps.Categories.Add(TorznabCatType.Audio); TorznabCaps.Categories.Add(TorznabCatType.Audio);
TorznabCaps.Categories.Add(TorznabCatType.Books); TorznabCaps.Categories.Add(TorznabCatType.Books);
@@ -57,7 +57,7 @@ namespace Jackett.Indexers
await ConfigureIfOK(string.Empty, releases.Count() > 0, () => await ConfigureIfOK(string.Empty, releases.Count() > 0, () =>
{ {
configData = oldConfig; configData = oldConfig;
throw new Exception("Could not find releases from this URL"); throw new Exception("Could not find releases from this URL");
}); });
} }
@@ -78,20 +78,20 @@ namespace Jackett.Indexers
private readonly int CAT_ANY = 0; private readonly int CAT_ANY = 0;
private readonly int CAT_FOREIGN_MOVIE = 1; private readonly int CAT_FOREIGN_MOVIE = 1;
// private readonly int CAT_OUR_MOVIES = 5; // private readonly int CAT_OUR_MOVIES = 5;
// private readonly int CAT_POP_SCIFI_MOVIES = 12; // private readonly int CAT_POP_SCIFI_MOVIES = 12;
private readonly int CAT_TV_SERIES = 4; private readonly int CAT_TV_SERIES = 4;
// private readonly int CAT_TV = 6; // private readonly int CAT_TV = 6;
// private readonly int CAT_ANIMATION = 7; // private readonly int CAT_ANIMATION = 7;
private readonly int CAT_ANIME = 10; private readonly int CAT_ANIME = 10;
private readonly int CAT_MUSIC = 2; private readonly int CAT_MUSIC = 2;
// private readonly int CAT_GAMES = 8; // private readonly int CAT_GAMES = 8;
// private readonly int CAT_SOFTWARE = 9; // private readonly int CAT_SOFTWARE = 9;
// private readonly int CAT_SPORTS_HEALTH = 13; // private readonly int CAT_SPORTS_HEALTH = 13;
// private readonly int CAT_HUMOR = 15; // private readonly int CAT_HUMOR = 15;
// private readonly int CAT_ECONOMY_LIFE = 14; // private readonly int CAT_ECONOMY_LIFE = 14;
private readonly int CAT_BOOKS = 11; private readonly int CAT_BOOKS = 11;
// private readonly int CAT_OTHER = 3; // private readonly int CAT_OTHER = 3;
public async Task<IEnumerable<ReleaseInfo>> PerformQuery(TorznabQuery query) public async Task<IEnumerable<ReleaseInfo>> PerformQuery(TorznabQuery query)
{ {
@@ -99,9 +99,10 @@ namespace Jackett.Indexers
var searchString = query.SanitizedSearchTerm + " " + query.GetEpisodeSearchString(); var searchString = query.SanitizedSearchTerm + " " + query.GetEpisodeSearchString();
var searchCategory = CAT_ANY; var searchCategory = CAT_ANY;
if(query.Categories.Contains(TorznabCatType.TV.ID) || if (query.Categories.Contains(TorznabCatType.TV.ID) ||
query.Categories.Contains(TorznabCatType.TVHD.ID)|| query.Categories.Contains(TorznabCatType.TVHD.ID) ||
query.Categories.Contains(TorznabCatType.TVSD.ID)){ query.Categories.Contains(TorznabCatType.TVSD.ID))
{
searchCategory = CAT_TV_SERIES; searchCategory = CAT_TV_SERIES;
} }
@@ -114,8 +115,8 @@ namespace Jackett.Indexers
searchCategory = CAT_FOREIGN_MOVIE; searchCategory = CAT_FOREIGN_MOVIE;
} }
if ((searchCategory == CAT_ANY) && if ((searchCategory == CAT_ANY) &&
(query.Categories.Contains(TorznabCatType.Anime.ID))) (query.Categories.Contains(TorznabCatType.TVAnime.ID)))
{ {
searchCategory = CAT_ANIME; searchCategory = CAT_ANIME;
} }
@@ -129,7 +130,7 @@ namespace Jackett.Indexers
if ((searchCategory == CAT_ANY) && if ((searchCategory == CAT_ANY) &&
(query.Categories.Contains(TorznabCatType.Audio.ID) || (query.Categories.Contains(TorznabCatType.Audio.ID) ||
query.Categories.Contains(TorznabCatType.AudioLossless.ID) || query.Categories.Contains(TorznabCatType.AudioLossless.ID) ||
query.Categories.Contains(TorznabCatType.AudioLossy.ID))) query.Categories.Contains(TorznabCatType.AudioMP3.ID)))
{ {
searchCategory = CAT_MUSIC; searchCategory = CAT_MUSIC;
} }
@@ -138,7 +139,8 @@ namespace Jackett.Indexers
if (string.IsNullOrWhiteSpace(searchString)) if (string.IsNullOrWhiteSpace(searchString))
{ {
queryUrl = string.Format(BrowseUrl, searchCategory); queryUrl = string.Format(BrowseUrl, searchCategory);
} else }
else
{ {
queryUrl = string.Format(SearchUrl, searchCategory, HttpUtility.UrlEncode(searchString.Trim())); queryUrl = string.Format(SearchUrl, searchCategory, HttpUtility.UrlEncode(searchString.Trim()));
} }
@@ -176,7 +178,7 @@ namespace Jackett.Indexers
if (hasTorrent) if (hasTorrent)
titleIndex++; titleIndex++;
release.Title = row.Cq().Find("td:eq("+ titleIndex+")").Text().Trim(); release.Title = row.Cq().Find("td:eq(" + titleIndex + ")").Text().Trim();
if (configData.StripRussian.Value) if (configData.StripRussian.Value)
{ {
var split = release.Title.IndexOf('/'); var split = release.Title.IndexOf('/');
@@ -194,14 +196,14 @@ namespace Jackett.Indexers
if (hasComments) if (hasComments)
sizeCol++; sizeCol++;
var sizeStr = StringUtil.StripRegex(row.Cq().Find("td:eq("+ sizeCol + ")").Text(), "[^a-zA-Z0-9\\. -]", " ").Trim(); var sizeStr = StringUtil.StripRegex(row.Cq().Find("td:eq(" + sizeCol + ")").Text(), "[^a-zA-Z0-9\\. -]", " ").Trim();
string[] sizeSplit = sizeStr.Split(' '); string[] sizeSplit = sizeStr.Split(' ');
release.Size = ReleaseInfo.GetBytes(sizeSplit[1].ToLower(), ParseUtil.CoerceFloat(sizeSplit[0])); release.Size = ReleaseInfo.GetBytes(sizeSplit[1].ToLower(), ParseUtil.CoerceFloat(sizeSplit[0]));
release.Seeders = ParseUtil.CoerceInt(row.Cq().Find(".green").Text().Trim()); release.Seeders = ParseUtil.CoerceInt(row.Cq().Find(".green").Text().Trim());
release.Peers = ParseUtil.CoerceInt(row.Cq().Find(".red").Text().Trim()) + release.Seeders; release.Peers = ParseUtil.CoerceInt(row.Cq().Find(".red").Text().Trim()) + release.Seeders;
release.Guid = new Uri(configData.Url.Value + row.Cq().Find("td:eq(1) a:eq("+ titleIndex+")").Attr("href").Substring(1)); release.Guid = new Uri(configData.Url.Value + row.Cq().Find("td:eq(1) a:eq(" + titleIndex + ")").Attr("href").Substring(1));
release.Comments = release.Guid; release.Comments = release.Guid;
if (hasTorrent) if (hasTorrent)
@@ -213,7 +215,7 @@ namespace Jackett.Indexers
{ {
release.MagnetUri = new Uri(row.Cq().Find("td:eq(1) a:eq(0)").Attr("href")); release.MagnetUri = new Uri(row.Cq().Find("td:eq(1) a:eq(0)").Attr("href"));
} }
releases.Add(release); releases.Add(release);
} }
} }

View File

@@ -47,9 +47,9 @@ namespace Jackett.Indexers
p: ps, p: ps,
configData: new ConfigurationDataBasicLoginWithRSS()) configData: new ConfigurationDataBasicLoginWithRSS())
{ {
AddCategoryMapping(72, TorznabCatType.Apps); AddCategoryMapping(72, TorznabCatType.PC);
AddCategoryMapping(86, TorznabCatType.Audio); AddCategoryMapping(86, TorznabCatType.Audio);
AddCategoryMapping(87, TorznabCatType.AudioBooks); AddCategoryMapping(87, TorznabCatType.AudioAudiobook);
AddCategoryMapping(88, TorznabCatType.Audio); AddCategoryMapping(88, TorznabCatType.Audio);
AddCategoryMapping(83, TorznabCatType.Movies); AddCategoryMapping(83, TorznabCatType.Movies);
@@ -58,13 +58,13 @@ namespace Jackett.Indexers
AddCategoryMapping(181, TorznabCatType.Movies); AddCategoryMapping(181, TorznabCatType.Movies);
AddCategoryMapping(182, TorznabCatType.Movies); AddCategoryMapping(182, TorznabCatType.Movies);
AddCategoryMapping(75, TorznabCatType.TVDocs); AddCategoryMapping(75, TorznabCatType.TVDocumentary);
AddCategoryMapping(189, TorznabCatType.TVDocs); AddCategoryMapping(189, TorznabCatType.TVDocumentary);
AddCategoryMapping(224, TorznabCatType.TVDocs); AddCategoryMapping(224, TorznabCatType.TVDocumentary);
AddCategoryMapping(174, TorznabCatType.TVDocs); AddCategoryMapping(174, TorznabCatType.TVDocumentary);
AddCategoryMapping(113, TorznabCatType.TVDocs); AddCategoryMapping(113, TorznabCatType.TVDocumentary);
AddCategoryMapping(100, TorznabCatType.TVDocs); AddCategoryMapping(100, TorznabCatType.TVDocumentary);
AddCategoryMapping(98, TorznabCatType.TVDocs); AddCategoryMapping(98, TorznabCatType.TVDocumentary);
AddCategoryMapping(176, TorznabCatType.TVHD); AddCategoryMapping(176, TorznabCatType.TVHD);
AddCategoryMapping(175, TorznabCatType.TVHD); AddCategoryMapping(175, TorznabCatType.TVHD);
@@ -75,10 +75,10 @@ namespace Jackett.Indexers
AddCategoryMapping(221, TorznabCatType.TVHD); AddCategoryMapping(221, TorznabCatType.TVHD);
// RSS Textual categories // RSS Textual categories
AddCategoryMapping("Appz", TorznabCatType.Apps); AddCategoryMapping("Appz", TorznabCatType.PC);
AddCategoryMapping("Radio/Audio", TorznabCatType.Audio); AddCategoryMapping("Radio/Audio", TorznabCatType.Audio);
AddCategoryMapping("Audio Books", TorznabCatType.AudioBooks); AddCategoryMapping("Audio Books", TorznabCatType.AudioAudiobook);
AddCategoryMapping("Radio Comedy", TorznabCatType.AudioBooks); AddCategoryMapping("Radio Comedy", TorznabCatType.AudioAudiobook);
AddCategoryMapping("TV Aired Movies", TorznabCatType.Movies); AddCategoryMapping("TV Aired Movies", TorznabCatType.Movies);
AddCategoryMapping("Classic Movies", TorznabCatType.Movies); AddCategoryMapping("Classic Movies", TorznabCatType.Movies);
@@ -86,13 +86,13 @@ namespace Jackett.Indexers
AddCategoryMapping("Made for TV", TorznabCatType.Movies); AddCategoryMapping("Made for TV", TorznabCatType.Movies);
AddCategoryMapping("TV Aired Movies", TorznabCatType.Movies); AddCategoryMapping("TV Aired Movies", TorznabCatType.Movies);
AddCategoryMapping("Documentary & News", TorznabCatType.TVDocs); AddCategoryMapping("Documentary & News", TorznabCatType.TVDocumentary);
AddCategoryMapping("Docudrama", TorznabCatType.TVDocs); AddCategoryMapping("Docudrama", TorznabCatType.TVDocumentary);
AddCategoryMapping("Documentary", TorznabCatType.TVDocs); AddCategoryMapping("Documentary", TorznabCatType.TVDocumentary);
AddCategoryMapping("HD Documentary", TorznabCatType.TVDocs); AddCategoryMapping("HD Documentary", TorznabCatType.TVDocumentary);
AddCategoryMapping("Historical", TorznabCatType.TVDocs); AddCategoryMapping("Historical", TorznabCatType.TVDocumentary);
AddCategoryMapping("True Crime", TorznabCatType.TVDocs); AddCategoryMapping("True Crime", TorznabCatType.TVDocumentary);
AddCategoryMapping("Wildlife/Nature", TorznabCatType.TVDocs); AddCategoryMapping("Wildlife/Nature", TorznabCatType.TVDocumentary);
AddCategoryMapping("HD Sci-Fi", TorznabCatType.TVHD); AddCategoryMapping("HD Sci-Fi", TorznabCatType.TVHD);
AddCategoryMapping("HD Drama", TorznabCatType.TVHD); AddCategoryMapping("HD Drama", TorznabCatType.TVHD);

View File

@@ -58,17 +58,17 @@ namespace Jackett.Indexers
AddCategoryMapping(43, TorznabCatType.Audio); AddCategoryMapping(43, TorznabCatType.Audio);
AddCategoryMapping(48, TorznabCatType.AudioLossless); AddCategoryMapping(48, TorznabCatType.AudioLossless);
AddCategoryMapping(6, TorznabCatType.AudioLossy); AddCategoryMapping(6, TorznabCatType.AudioMP3);
AddCategoryMapping(46, TorznabCatType.Movies); AddCategoryMapping(46, TorznabCatType.Movies);
AddCategoryMapping(1, TorznabCatType.Apps); AddCategoryMapping(1, TorznabCatType.PC);
AddCategoryMapping(2, TorznabCatType.Apps); AddCategoryMapping(2, TorznabCatType.PC);
AddCategoryMapping(23, TorznabCatType.Anime); AddCategoryMapping(23, TorznabCatType.TVAnime);
AddCategoryMapping(21, TorznabCatType.XXX); AddCategoryMapping(21, TorznabCatType.XXX);
AddCategoryMapping(9, TorznabCatType.XXXSD); AddCategoryMapping(9, TorznabCatType.XXXXviD);
AddCategoryMapping(39, TorznabCatType.XXXHD); AddCategoryMapping(39, TorznabCatType.XXXx264);
AddCategoryMapping(29, TorznabCatType.XXXSD); AddCategoryMapping(29, TorznabCatType.XXXXviD);
AddCategoryMapping(24, TorznabCatType.XXXImg); AddCategoryMapping(24, TorznabCatType.XXXImageset);
} }
public async Task ApplyConfiguration(JToken configJson) public async Task ApplyConfiguration(JToken configJson)

View File

@@ -43,11 +43,11 @@ namespace Jackett.Indexers
configData: new ConfigurationDataRecaptchaLogin()) configData: new ConfigurationDataRecaptchaLogin())
{ {
AddCategoryMapping(29, TorznabCatType.Anime); AddCategoryMapping(29, TorznabCatType.TVAnime);
AddCategoryMapping(28, TorznabCatType.Apps); AddCategoryMapping(28, TorznabCatType.PC);
AddCategoryMapping(28, TorznabCatType.AudioBooks); AddCategoryMapping(28, TorznabCatType.AudioAudiobook);
AddCategoryMapping(20, TorznabCatType.Books); AddCategoryMapping(20, TorznabCatType.Books);
AddCategoryMapping(30, TorznabCatType.TVDocs); AddCategoryMapping(30, TorznabCatType.TVDocumentary);
//Freelech //Freelech
//Mac //Mac
@@ -118,7 +118,7 @@ namespace Jackett.Indexers
SaveConfig(); SaveConfig();
IsConfigured = true; IsConfigured = true;
} }
catch(Exception e) catch (Exception e)
{ {
IsConfigured = false; IsConfigured = false;
throw new Exception("Your cookie did not work: " + e.Message); throw new Exception("Your cookie did not work: " + e.Message);
@@ -153,7 +153,7 @@ namespace Jackett.Indexers
queryCollection.Add("search", searchString); queryCollection.Add("search", searchString);
foreach (var cat in MapTorznabCapsToTrackers(query)) foreach (var cat in MapTorznabCapsToTrackers(query))
queryCollection.Add("c"+cat,"1"); queryCollection.Add("c" + cat, "1");
if (queryCollection.Count > 0) if (queryCollection.Count > 0)
queryUrl += "?" + queryCollection.GetQueryString(); queryUrl += "?" + queryCollection.GetQueryString();
@@ -177,9 +177,9 @@ namespace Jackett.Indexers
release.MinimumSeedTime = 172800; release.MinimumSeedTime = 172800;
release.Title = qRow.Find(".torrentName").Text(); release.Title = qRow.Find(".torrentName").Text();
release.Description = release.Title; release.Description = release.Title;
release.Guid = new Uri(SiteLink + qRow.Find(".torrentName").Attr("href")); release.Guid = new Uri(SiteLink + qRow.Find(".torrentName").Attr("href"));
release.Comments = release.Guid; release.Comments = release.Guid;
release.Link = new Uri(SiteLink + qRow.Find(".dlLinksInfo > a").Attr("href")); release.Link = new Uri(SiteLink + qRow.Find(".dlLinksInfo > a").Attr("href"));
var sizeStr = qRow.Find(".sizeInfo").Text(); var sizeStr = qRow.Find(".sizeInfo").Text();
release.Size = ReleaseInfo.GetBytes(sizeStr); release.Size = ReleaseInfo.GetBytes(sizeStr);

View File

@@ -232,12 +232,12 @@
<Compile Include="Models\TorznabCapabilities.cs" /> <Compile Include="Models\TorznabCapabilities.cs" />
<Compile Include="Models\Config\ServerConfig.cs" /> <Compile Include="Models\Config\ServerConfig.cs" />
<Compile Include="Models\TorznabCategory.cs" /> <Compile Include="Models\TorznabCategory.cs" />
<Compile Include="Models\TorznabCats.cs"> <Compile Include="Models\TorznabCatType.cs" />
<Compile Include="Models\TorznabCatType.generated.cs">
<AutoGen>True</AutoGen> <AutoGen>True</AutoGen>
<DesignTime>True</DesignTime> <DesignTime>True</DesignTime>
<DependentUpon>TorznabCats.tt</DependentUpon> <DependentUpon>TorznabCatType.tt</DependentUpon>
</Compile> </Compile>
<Compile Include="Models\TorznabCatType.cs" />
<Compile Include="Models\TrackerCache.cs" /> <Compile Include="Models\TrackerCache.cs" />
<Compile Include="Models\TrackerCacheResult.cs" /> <Compile Include="Models\TrackerCacheResult.cs" />
<Compile Include="Services\CacheService.cs" /> <Compile Include="Services\CacheService.cs" />
@@ -531,9 +531,9 @@
<Content Include="Content\setup_indexer.html"> <Content Include="Content\setup_indexer.html">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content> </Content>
<Content Include="Models\TorznabCats.tt"> <Content Include="Models\TorznabCatType.tt">
<Generator>TextTemplatingFileGenerator</Generator> <Generator>TextTemplatingFileGenerator</Generator>
<LastGenOutput>TorznabCats.cs</LastGenOutput> <LastGenOutput>TorznabCatType.generated.cs</LastGenOutput>
</Content> </Content>
<Content Include="Resources\validator_reply.xml" /> <Content Include="Resources\validator_reply.xml" />
<Content Include="Content\logos\alpharatio.png"> <Content Include="Content\logos\alpharatio.png">

View File

@@ -1,81 +1,16 @@
using System; using System.Linq;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Jackett.Models namespace Jackett.Models
{ {
class TorznabCatType public static partial class TorznabCatType
{ {
private static Dictionary<int, string> cats = new Dictionary<int, string>();
static TorznabCatType()
{
cats.Add(1000, "Consoles");
cats.Add(1010, "Consoles/DS");
cats.Add(1020, "Consoles/PSP");
cats.Add(1030, "Consoles/Wii");
cats.Add(1040, "Consoles/Xbox");
cats.Add(1050, "Consoles/360");
cats.Add(1080, "Consoles/PS3");
cats.Add(2000, "Movies");
cats.Add(2010, "Movies/Foreign");
cats.Add(2020, "Movies/Other");
cats.Add(2040, "Movies/HD");
cats.Add(2030, "Movies/SD");
cats.Add(2050, "Movies/3D");
cats.Add(2060, "Movies/BluRay");
cats.Add(3000, "Audio");
cats.Add(3010, "Audio/Lossy");
cats.Add(3020, "Audio/Video");
cats.Add(3030, "Audio/Audiobook");
cats.Add(3040, "Audio/Lossless");
cats.Add(4000, "PC");
cats.Add(4010, "PC/Apps");
cats.Add(4020, "PC/ISO");
cats.Add(4030, "PC/Mac");
cats.Add(4040, "PC/Mobile");
cats.Add(4050, "PC/Games");
cats.Add(4060, "PC/Mobile/IOS");
cats.Add(4070, "PC/Mobile/Android");
cats.Add(5000, "TV");
cats.Add(5020, "TV/Foreign");
cats.Add(5030, "TV/SD");
cats.Add(5040, "TV/HD");
cats.Add(5060, "TV/Sport");
cats.Add(5070, "TV/Anime");
cats.Add(5080, "TV/Documentary");
cats.Add(6000, "XXX");
cats.Add(6010, "XXX/DVD");
cats.Add(6040, "XXX/x264");
cats.Add(6060, "XXX/Imageset");
cats.Add(8000, "Books");
cats.Add(8010, "Books/Ebook");
cats.Add(8020, "Books/Comics");
}
public static bool QueryContainsParentCategory(int[] queryCats, int releaseCat) public static bool QueryContainsParentCategory(int[] queryCats, int releaseCat)
{ {
if (cats.ContainsKey(releaseCat) && queryCats != null) var cat = AllCats.FirstOrDefault(c => c.ID == releaseCat);
if (cat != null && queryCats != null)
{ {
var ncab = cats[releaseCat]; return cat.SubCategories.Any(c => queryCats.Contains(c.ID));
var split = ncab.IndexOf("/");
if (split > -1)
{
string parentCatName = ncab.Substring(0, split);
if (cats.ContainsValue(parentCatName))
{
var parentCat = cats.Where(c => c.Value == parentCatName).First().Key;
return queryCats.Contains(parentCat);
}
}
} }
return false; return false;
@@ -83,237 +18,14 @@ namespace Jackett.Models
public static string GetCatDesc(int newznabcat) public static string GetCatDesc(int newznabcat)
{ {
if (cats.ContainsKey(newznabcat)) var cat = AllCats.FirstOrDefault(c => c.ID == newznabcat);
if (cat != null)
{ {
return cats[newznabcat]; return cat.Name;
} }
return string.Empty; return string.Empty;
} }
private static TorznabCategory GetCat(int id)
{
return new TorznabCategory()
{
ID = id,
Name = cats.ContainsKey(id) ? cats[id] : string.Empty
};
}
public static TorznabCategory Anime
{
get { return GetCat(5070); }
}
public static TorznabCategory TV
{
get { return GetCat(5000); }
}
public static TorznabCategory TVDocs
{
get { return GetCat(5080); }
}
public static TorznabCategory TVSD
{
get { return GetCat(5030); }
}
public static TorznabCategory TVHD
{
get { return GetCat(5040); }
}
public static TorznabCategory TVSport
{
get { return GetCat(5060); }
}
public static TorznabCategory TVForeign
{
get { return GetCat(5020); }
}
public static TorznabCategory Books
{
get { return GetCat(8000); }
}
public static TorznabCategory EBooks
{
get { return GetCat(8020); }
}
public static TorznabCategory Comic
{
get { return GetCat(8020); }
}
public static TorznabCategory Apps
{
get { return GetCat(4010); }
}
public static TorznabCategory AppsMobile
{
get { return GetCat(4040); }
}
public static TorznabCategory Movies
{
get { return GetCat(2000); }
}
public static TorznabCategory MoviesForeign
{
get { return GetCat(2010); }
}
public static TorznabCategory MoviesOther
{
get { return GetCat(2020); }
}
public static TorznabCategory MoviesHD
{
get { return GetCat(2040); }
}
public static TorznabCategory MoviesSD
{
get { return GetCat(2030); }
}
public static TorznabCategory MoviesBlueRay
{
get { return GetCat(2060); }
}
public static TorznabCategory Movies3D
{
get { return GetCat(2050); }
}
public static TorznabCategory Audio
{
get { return GetCat(3000); }
}
public static TorznabCategory AudioBooks
{
get { return GetCat(3030); }
}
public static TorznabCategory AudioLossless
{
get { return GetCat(3040); }
}
public static TorznabCategory AudioLossy
{
get { return GetCat(3010); }
}
public static TorznabCategory AudioMusicVideos
{
get { return GetCat(3020); }
}
public static TorznabCategory XXX
{
get { return GetCat(6000); }
}
public static TorznabCategory XXXHD
{
get { return GetCat(6040); }
}
public static TorznabCategory XXXSD
{
get { return GetCat(6010); }
}
public static TorznabCategory XXXImg
{
get { return GetCat(6060); }
}
public static TorznabCategory PC
{
get { return GetCat(4000); }
}
public static TorznabCategory PC0Day
{
get { return GetCat(4010); }
}
public static TorznabCategory PCIso
{
get { return GetCat(4020); }
}
public static TorznabCategory PCMac
{
get { return GetCat(4030); }
}
public static TorznabCategory PCGames
{
get { return GetCat(4050); }
}
public static TorznabCategory PCMobileOther
{
get { return GetCat(4040); }
}
public static TorznabCategory PCMobileIos
{
get { return GetCat(4060); }
}
public static TorznabCategory PCMobileAndroid
{
get { return GetCat(4070); }
}
public static TorznabCategory Consoles
{
get { return GetCat(1000); }
}
public static TorznabCategory ConsoleDS
{
get { return GetCat(1010); }
}
public static TorznabCategory ConsolePSP
{
get { return GetCat(1020); }
}
public static TorznabCategory ConsoleXbox
{
get { return GetCat(1040); }
}
public static TorznabCategory ConsoleXbox360
{
get { return GetCat(1050); }
}
public static TorznabCategory ConsoleWii
{
get { return GetCat(1030); }
}
public static TorznabCategory ConsolePS3
{
get { return GetCat(1080); }
}
} }
} }

View File

@@ -1,9 +1,11 @@
using System.Collections.Generic; using System.Collections.Generic;
using Jackett.Models;
public static class TorznabCats namespace Jackett.Models
{ {
public static partial class TorznabCatType
{
public static readonly TorznabCategory Console = new TorznabCategory(1000, "Console"); public static readonly TorznabCategory Console = new TorznabCategory(1000, "Console");
public static readonly TorznabCategory ConsoleNDS = new TorznabCategory(1010, "Console/NDS"); public static readonly TorznabCategory ConsoleNDS = new TorznabCategory(1010, "Console/NDS");
@@ -137,7 +139,9 @@ public static class TorznabCats
public static readonly TorznabCategory BooksForeign = new TorznabCategory(8060, "Books/Foreign"); public static readonly TorznabCategory BooksForeign = new TorznabCategory(8060, "Books/Foreign");
static TorznabCats() public static readonly TorznabCategory[] AllCats = new TorznabCategory[] { Console, ConsoleNDS, ConsolePSP, ConsoleWii, ConsoleXbox, ConsoleXbox360, ConsoleWiiwareVC, ConsoleXBOX360DLC, ConsolePS3, ConsoleOther, Console3DS, ConsolePSVita, ConsoleWiiU, ConsoleXboxOne, ConsolePS4, Movies, MoviesForeign, MoviesOther, MoviesSD, MoviesHD, Movies3D, MoviesBluRay, MoviesDVD, MoviesWEBDL, Audio, AudioMP3, AudioVideo, AudioAudiobook, AudioLossless, AudioOther, AudioForeign, PC, PC0day, PCISO, PCMac, PCPhoneOther, PCGames, PCPhoneIOS, PCPhoneAndroid, TV, TVWEBDL, TVFOREIGN, TVSD, TVHD, TVOTHER, TVSport, TVAnime, TVDocumentary, XXX, XXXDVD, XXXWMV, XXXXviD, XXXx264, XXXOther, XXXImageset, XXXPacks, Other, OtherMisc, OtherHashed, Books, BooksEbook, BooksComics, BooksMagazines, BooksTechnical, BooksOther, BooksForeign };
static TorznabCatType()
{ {
Console.SubCategories.AddRange(new List<TorznabCategory> { ConsoleNDS, ConsolePSP, ConsoleWii, ConsoleXbox, ConsoleXbox360, ConsoleWiiwareVC, ConsoleXBOX360DLC, ConsolePS3, ConsoleOther, Console3DS, ConsolePSVita, ConsoleWiiU, ConsoleXboxOne, ConsolePS4 }); Console.SubCategories.AddRange(new List<TorznabCategory> { ConsoleNDS, ConsolePSP, ConsoleWii, ConsoleXbox, ConsoleXbox360, ConsoleWiiwareVC, ConsoleXBOX360DLC, ConsolePS3, ConsoleOther, Console3DS, ConsolePSVita, ConsoleWiiU, ConsoleXboxOne, ConsolePS4 });
@@ -157,6 +161,6 @@ public static class TorznabCats
Books.SubCategories.AddRange(new List<TorznabCategory> { BooksEbook, BooksComics, BooksMagazines, BooksTechnical, BooksOther, BooksForeign }); Books.SubCategories.AddRange(new List<TorznabCategory> { BooksEbook, BooksComics, BooksMagazines, BooksTechnical, BooksOther, BooksForeign });
} }
}
} }

View File

@@ -3,7 +3,7 @@
<#@ import namespace="System.Linq" #> <#@ import namespace="System.Linq" #>
<#@ import namespace="System.Text" #> <#@ import namespace="System.Text" #>
<#@ import namespace="System.Collections.Generic" #> <#@ import namespace="System.Collections.Generic" #>
<#@ output extension=".cs" #> <#@ output extension=".generated.cs" #>
<# string data = @" <# string data = @"
1000: Console 1000: Console
@@ -75,10 +75,12 @@
"; #> "; #>
using System.Collections.Generic; using System.Collections.Generic;
using Jackett.Models;
public static class TorznabCats namespace Jackett.Models
{ {
public static partial class TorznabCatType
{
<# <#
var items = data.Split(new char[] { '\n', '\r' }, StringSplitOptions.RemoveEmptyEntries); var items = data.Split(new char[] { '\n', '\r' }, StringSplitOptions.RemoveEmptyEntries);
var cats = new List<CatStub>(); var cats = new List<CatStub>();
@@ -97,7 +99,9 @@ public static class TorznabCats
<# <#
} #> } #>
static TorznabCats() public static readonly TorznabCategory[] AllCats = new TorznabCategory[] { <#= string.Join(", ", cats.Select(c => c.MemberName)) #> };
static TorznabCatType()
{ {
<# <#
foreach (var cat in cats) foreach (var cat in cats)
@@ -117,7 +121,7 @@ public static class TorznabCats
#> #>
} }
}
} }
<#+ <#+