diff --git a/src/Jackett.Common/Definitions/acgsou.yml b/src/Jackett.Common/Definitions/acgsou.yml index e5eb4a1d9..345b3f98b 100644 --- a/src/Jackett.Common/Definitions/acgsou.yml +++ b/src/Jackett.Common/Definitions/acgsou.yml @@ -44,6 +44,7 @@ caps: modes: search: [q] + tv-search: [q, season, ep] book-search: [q] settings: [] diff --git a/src/Jackett.Common/Definitions/bitru.yml b/src/Jackett.Common/Definitions/bitru.yml index f02042444..1947e5190 100644 --- a/src/Jackett.Common/Definitions/bitru.yml +++ b/src/Jackett.Common/Definitions/bitru.yml @@ -23,6 +23,7 @@ caps: modes: search: [q] + tv-search: [q] movie-search: [q] music-search: [q] book-search: [q] diff --git a/src/Jackett.Common/Definitions/bitspyder.yml b/src/Jackett.Common/Definitions/bitspyder.yml index 85440a172..e0379ddef 100644 --- a/src/Jackett.Common/Definitions/bitspyder.yml +++ b/src/Jackett.Common/Definitions/bitspyder.yml @@ -45,7 +45,6 @@ caps: - {id: 45, cat: Books, desc: "Ethical hacking"} - {id: 59, cat: Books, desc: "WEB | SocialMedia"} - modes: search: [q] book-search: [q] diff --git a/src/Jackett.Common/Definitions/dmhy.yml b/src/Jackett.Common/Definitions/dmhy.yml index a87cd19a4..e91e8c09e 100644 --- a/src/Jackett.Common/Definitions/dmhy.yml +++ b/src/Jackett.Common/Definitions/dmhy.yml @@ -32,6 +32,7 @@ caps: modes: search: [q] + tv-search: [q] music-search: [q] book-search: [q] diff --git a/src/Jackett.Common/Definitions/gay-torrents.yml b/src/Jackett.Common/Definitions/gay-torrents.yml index 4397cb1ac..a128f2f14 100644 --- a/src/Jackett.Common/Definitions/gay-torrents.yml +++ b/src/Jackett.Common/Definitions/gay-torrents.yml @@ -59,6 +59,7 @@ caps: modes: search: [q] + tv-search: [q] movie-search: [q] book-search: [q] diff --git a/src/Jackett.Common/Definitions/gay-torrentsorg.yml b/src/Jackett.Common/Definitions/gay-torrentsorg.yml index 9afcf04b7..61454b45d 100644 --- a/src/Jackett.Common/Definitions/gay-torrentsorg.yml +++ b/src/Jackett.Common/Definitions/gay-torrentsorg.yml @@ -73,6 +73,7 @@ caps: modes: search: [q] + tv-search: [q] movie-search: [q] book-search: [q] diff --git a/src/Jackett.Common/Definitions/torrentview.yml b/src/Jackett.Common/Definitions/torrentview.yml index 5b8ad10d1..f36cdaeef 100644 --- a/src/Jackett.Common/Definitions/torrentview.yml +++ b/src/Jackett.Common/Definitions/torrentview.yml @@ -43,7 +43,9 @@ caps: modes: search: [q] + tv-search: [q] movie-search: [q] + music-search: [q] settings: [] diff --git a/src/Jackett.Common/Definitions/vsttorrents.yml b/src/Jackett.Common/Definitions/vsttorrents.yml index d1e651c77..38633278e 100644 --- a/src/Jackett.Common/Definitions/vsttorrents.yml +++ b/src/Jackett.Common/Definitions/vsttorrents.yml @@ -14,6 +14,7 @@ caps: modes: search: [q] + music-search: [q] settings: [] diff --git a/src/Jackett.Common/Indexers/Abnormal.cs b/src/Jackett.Common/Indexers/Abnormal.cs index 1f4bbe556..8d2bd7d90 100644 --- a/src/Jackett.Common/Indexers/Abnormal.cs +++ b/src/Jackett.Common/Indexers/Abnormal.cs @@ -57,7 +57,14 @@ namespace Jackett.Common.Indexers description: "General French Private Tracker", link: "https://abnormal.ws/", caps: new TorznabCapabilities { - MovieSearchParams = new List { MovieSearchParam.Q } + TvSearchParams = new List + { + TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep + }, + MovieSearchParams = new List + { + MovieSearchParam.Q + } }, configService: configService, client: w, diff --git a/src/Jackett.Common/Indexers/AlphaRatio.cs b/src/Jackett.Common/Indexers/AlphaRatio.cs index 780ed10cd..16f455e95 100644 --- a/src/Jackett.Common/Indexers/AlphaRatio.cs +++ b/src/Jackett.Common/Indexers/AlphaRatio.cs @@ -19,7 +19,14 @@ namespace Jackett.Common.Indexers link: "https://alpharatio.cc/", caps: new TorznabCapabilities { - MovieSearchParams = new List { MovieSearchParam.Q, MovieSearchParam.ImdbId } + TvSearchParams = new List + { + TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep + }, + MovieSearchParams = new List + { + MovieSearchParam.Q, MovieSearchParam.ImdbId + } }, configService: configService, client: wc, diff --git a/src/Jackett.Common/Indexers/AniDUB.cs b/src/Jackett.Common/Indexers/AniDUB.cs index 6f86f138f..06704d8c2 100644 --- a/src/Jackett.Common/Indexers/AniDUB.cs +++ b/src/Jackett.Common/Indexers/AniDUB.cs @@ -32,7 +32,14 @@ namespace Jackett.Common.Indexers name: "AniDUB", description: "AniDUB Tracker is a semi-private russian tracker and release group for anime", link: "https://tr.anidub.com/", - caps: new TorznabCapabilities(), + caps: new TorznabCapabilities + { + // TODO: add music, movie, book search + TvSearchParams = new List + { + TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep + } + }, configService: configService, client: wc, logger: l, diff --git a/src/Jackett.Common/Indexers/AniLibria.cs b/src/Jackett.Common/Indexers/AniLibria.cs index 345bc5668..83f360707 100644 --- a/src/Jackett.Common/Indexers/AniLibria.cs +++ b/src/Jackett.Common/Indexers/AniLibria.cs @@ -23,7 +23,13 @@ namespace Jackett.Common.Indexers name: "AniLibria", description: "AniLibria is a Public torrent tracker for anime, voiced on russian by AniLibria team", link: "https://www.anilibria.tv/", - caps: new TorznabCapabilities(), + caps: new TorznabCapabilities + { + TvSearchParams = new List + { + TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep + } + }, configService: configService, client: wc, logger: l, diff --git a/src/Jackett.Common/Indexers/Anidex.cs b/src/Jackett.Common/Indexers/Anidex.cs index 1a4f0747d..3b5cdf99c 100644 --- a/src/Jackett.Common/Indexers/Anidex.cs +++ b/src/Jackett.Common/Indexers/Anidex.cs @@ -29,7 +29,13 @@ namespace Jackett.Common.Indexers name: "Anidex", description: "Anidex is a Public torrent tracker and indexer, primarily for English fansub groups of anime", link: "https://anidex.info/", - caps: new TorznabCapabilities(), + caps: new TorznabCapabilities + { + TvSearchParams = new List + { + TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep + } + }, configService: configService, client: wc, logger: l, diff --git a/src/Jackett.Common/Indexers/AnimeBytes.cs b/src/Jackett.Common/Indexers/AnimeBytes.cs index 09dbd8f38..742cb4c5c 100644 --- a/src/Jackett.Common/Indexers/AnimeBytes.cs +++ b/src/Jackett.Common/Indexers/AnimeBytes.cs @@ -44,7 +44,14 @@ namespace Jackett.Common.Indexers configService: configService, client: client, caps: new TorznabCapabilities { - MovieSearchParams = new List { MovieSearchParam.Q } + TvSearchParams = new List + { + TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep + }, + MovieSearchParams = new List + { + MovieSearchParam.Q + } }, logger: l, p: ps, diff --git a/src/Jackett.Common/Indexers/AnimeTorrents.cs b/src/Jackett.Common/Indexers/AnimeTorrents.cs index bdb344489..621d099d0 100644 --- a/src/Jackett.Common/Indexers/AnimeTorrents.cs +++ b/src/Jackett.Common/Indexers/AnimeTorrents.cs @@ -38,7 +38,14 @@ namespace Jackett.Common.Indexers description: "Definitive source for anime and manga", link: "https://animetorrents.me/", caps: new TorznabCapabilities { - MovieSearchParams = new List { MovieSearchParam.Q } + TvSearchParams = new List + { + TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep + }, + MovieSearchParams = new List + { + MovieSearchParam.Q + } }, configService: configService, client: c, diff --git a/src/Jackett.Common/Indexers/Animedia.cs b/src/Jackett.Common/Indexers/Animedia.cs index bb3d35761..f902fb0e8 100644 --- a/src/Jackett.Common/Indexers/Animedia.cs +++ b/src/Jackett.Common/Indexers/Animedia.cs @@ -32,7 +32,13 @@ namespace Jackett.Common.Indexers name: "Animedia", description: "Animedia is a public russian tracker and release group for anime.", link: "https://tt.animedia.tv/", - caps: new TorznabCapabilities(), + caps: new TorznabCapabilities + { + TvSearchParams = new List + { + TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep + } + }, configService: configService, client: wc, logger: l, @@ -80,7 +86,7 @@ namespace Jackett.Common.Indexers } const string ReleaseLinksSelector = "a.ads-list__item__title"; - + var releases = new List(); try @@ -157,7 +163,7 @@ namespace Jackett.Common.Indexers var name_ru = r.QuerySelector("div.media__post__header > h1").Text().Trim(); var name_en = r.QuerySelector("div.media__panel > div:nth-of-type(1) > div.col-l:nth-of-type(1) > div > span").Text().Trim(); var name_orig = r.QuerySelector("div.media__panel > div:nth-of-type(1) > div.col-l:nth-of-type(2) > div > span").Text().Trim(); - + var title = name_ru + " / " + name_en; if (name_en != name_orig) { title += " / " + name_orig; diff --git a/src/Jackett.Common/Indexers/Anthelion.cs b/src/Jackett.Common/Indexers/Anthelion.cs index 2d1c28d1a..39becd1a4 100644 --- a/src/Jackett.Common/Indexers/Anthelion.cs +++ b/src/Jackett.Common/Indexers/Anthelion.cs @@ -36,7 +36,14 @@ namespace Jackett.Common.Indexers description: "A movies tracker", link: "https://anthelion.me/", caps: new TorznabCapabilities { - MovieSearchParams = new List { MovieSearchParam.Q } + TvSearchParams = new List + { + TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep + }, + MovieSearchParams = new List + { + MovieSearchParam.Q + } }, configService: configService, client: wc, diff --git a/src/Jackett.Common/Indexers/AvistaZ.cs b/src/Jackett.Common/Indexers/AvistaZ.cs index d2d97df82..7a755c232 100644 --- a/src/Jackett.Common/Indexers/AvistaZ.cs +++ b/src/Jackett.Common/Indexers/AvistaZ.cs @@ -18,8 +18,14 @@ namespace Jackett.Common.Indexers link: "https://avistaz.to/", caps: new TorznabCapabilities { - MovieSearchParams = new List { MovieSearchParam.Q, MovieSearchParam.ImdbId } - // SupportsImdbTVSearch = true (supported by the site but disabled due to #8107) + TvSearchParams = new List + { + TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep, TvSearchParam.ImdbId + }, + MovieSearchParams = new List + { + MovieSearchParam.Q, MovieSearchParam.ImdbId + } }, configService: configService, client: wc, diff --git a/src/Jackett.Common/Indexers/AwesomeHD.cs b/src/Jackett.Common/Indexers/AwesomeHD.cs index 1e4663e50..fd0e23c58 100644 --- a/src/Jackett.Common/Indexers/AwesomeHD.cs +++ b/src/Jackett.Common/Indexers/AwesomeHD.cs @@ -31,8 +31,15 @@ namespace Jackett.Common.Indexers link: "https://awesome-hd.me/", caps: new TorznabCapabilities { - MovieSearchParams = new List { MovieSearchParam.Q, MovieSearchParam.ImdbId } - // SupportsImdbTVSearch = true (supported by the site but disabled due to #8107) + // TODO: add music search + TvSearchParams = new List + { + TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep, TvSearchParam.ImdbId + }, + MovieSearchParams = new List + { + MovieSearchParam.Q, MovieSearchParam.ImdbId + } }, configService: configService, client: c, diff --git a/src/Jackett.Common/Indexers/BB.cs b/src/Jackett.Common/Indexers/BB.cs index 7ba67de51..a776c3e1a 100644 --- a/src/Jackett.Common/Indexers/BB.cs +++ b/src/Jackett.Common/Indexers/BB.cs @@ -39,7 +39,15 @@ namespace Jackett.Common.Indexers description: "bB is a Private Torrent Tracker for 0DAY / GENERAL", link: StringUtil.FromBase64("aHR0cHM6Ly9iYWNvbmJpdHMub3JnLw=="), caps: new TorznabCapabilities { - MovieSearchParams = new List { MovieSearchParam.Q } + // TODO: add music and book search + TvSearchParams = new List + { + TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep + }, + MovieSearchParams = new List + { + MovieSearchParam.Q + } }, configService: configService, client: w, diff --git a/src/Jackett.Common/Indexers/BJShare.cs b/src/Jackett.Common/Indexers/BJShare.cs index 3e60f4bcc..8255d7a00 100644 --- a/src/Jackett.Common/Indexers/BJShare.cs +++ b/src/Jackett.Common/Indexers/BJShare.cs @@ -67,7 +67,15 @@ namespace Jackett.Common.Indexers link: "https://bj-share.info/", caps: new TorznabCapabilities { - MovieSearchParams = new List { MovieSearchParam.Q, MovieSearchParam.ImdbId } + // TODO: add music and book search + TvSearchParams = new List + { + TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep + }, + MovieSearchParams = new List + { + MovieSearchParam.Q, MovieSearchParam.ImdbId + } }, configService: configService, client: wc, diff --git a/src/Jackett.Common/Indexers/BakaBT.cs b/src/Jackett.Common/Indexers/BakaBT.cs index 7c00758ca..592ea5934 100644 --- a/src/Jackett.Common/Indexers/BakaBT.cs +++ b/src/Jackett.Common/Indexers/BakaBT.cs @@ -41,7 +41,14 @@ namespace Jackett.Common.Indexers name: "BakaBT", description: "Anime Comunity", link: "https://bakabt.me/", - caps: new TorznabCapabilities(), + caps: new TorznabCapabilities + { + // TODO: add music and book search + TvSearchParams = new List + { + TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep + } + }, configService: configService, client: wc, logger: l, diff --git a/src/Jackett.Common/Indexers/BaseIndexer.cs b/src/Jackett.Common/Indexers/BaseIndexer.cs index 76c4e04ff..a0c075a13 100644 --- a/src/Jackett.Common/Indexers/BaseIndexer.cs +++ b/src/Jackett.Common/Indexers/BaseIndexer.cs @@ -285,7 +285,7 @@ namespace Jackett.Common.Indexers if (query.HasSpecifiedCategories) if (!caps.SupportsCategories(query.Categories)) return false; - if (caps.SupportsImdbTVSearch && query.IsImdbQuery && query.IsTVSearch) + if (caps.TvSearchImdbAvailable && query.IsImdbQuery && query.IsTVSearch) return true; if (caps.MovieSearchImdbAvailable && query.IsImdbQuery && query.IsMovieSearch) return true; @@ -293,7 +293,7 @@ namespace Jackett.Common.Indexers return false; if (caps.SearchAvailable && query.IsSearch) return true; - if (caps.TVSearchAvailable && query.IsTVSearch) + if (caps.TvSearchAvailable && query.IsTVSearch) return true; if (caps.MovieSearchAvailable && query.IsMovieSearch) return true; @@ -301,9 +301,9 @@ namespace Jackett.Common.Indexers return true; if (caps.BookSearchAvailable && query.IsBookSearch) return true; - if (caps.SupportsTVRageSearch && query.IsTVRageSearch) + if (caps.TvSearchTvRageAvailable && query.IsTVRageSearch) return true; - if (caps.SupportsTvdbSearch && query.IsTvdbSearch) + if (caps.TvSearchTvdbAvailable && query.IsTvdbSearch) return true; if (caps.MovieSearchImdbAvailable && query.IsImdbQuery) return true; diff --git a/src/Jackett.Common/Indexers/BitCityReloaded.cs b/src/Jackett.Common/Indexers/BitCityReloaded.cs index 20524fabe..8d0d416fb 100644 --- a/src/Jackett.Common/Indexers/BitCityReloaded.cs +++ b/src/Jackett.Common/Indexers/BitCityReloaded.cs @@ -36,7 +36,15 @@ namespace Jackett.Common.Indexers description: "A German general tracker.", link: "https://bc-reloaded.net/", caps: new TorznabCapabilities { - MovieSearchParams = new List { MovieSearchParam.Q } + // TODO: add music and book search + TvSearchParams = new List + { + TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep + }, + MovieSearchParams = new List + { + MovieSearchParam.Q + } }, configService: configService, client: wc, diff --git a/src/Jackett.Common/Indexers/BitHDTV.cs b/src/Jackett.Common/Indexers/BitHDTV.cs index b7e19fd7e..284731f95 100644 --- a/src/Jackett.Common/Indexers/BitHDTV.cs +++ b/src/Jackett.Common/Indexers/BitHDTV.cs @@ -34,8 +34,14 @@ namespace Jackett.Common.Indexers link: "https://www.bit-hdtv.com/", caps: new TorznabCapabilities { - MovieSearchParams = new List { MovieSearchParam.Q, MovieSearchParam.ImdbId } - // SupportsImdbTVSearch = true (supported by the site but disabled due to #8107) + TvSearchParams = new List + { + TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep, TvSearchParam.ImdbId + }, + MovieSearchParams = new List + { + MovieSearchParam.Q, MovieSearchParam.ImdbId + } }, configService: configService, client: w, diff --git a/src/Jackett.Common/Indexers/BroadcasTheNet.cs b/src/Jackett.Common/Indexers/BroadcasTheNet.cs index 1745d3397..e1afeb7c3 100644 --- a/src/Jackett.Common/Indexers/BroadcasTheNet.cs +++ b/src/Jackett.Common/Indexers/BroadcasTheNet.cs @@ -34,7 +34,15 @@ namespace Jackett.Common.Indexers name: "BroadcasTheNet", description: "BroadcasTheNet (BTN) is an invite-only torrent tracker focused on TV shows", link: "https://broadcasthe.net/", - caps: new TorznabCapabilities(), + caps: new TorznabCapabilities + { + LimitsDefault = 100, + LimitsMax = 1000, + TvSearchParams = new List + { + TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep + } + }, configService: configService, client: wc, logger: l, @@ -45,9 +53,6 @@ namespace Jackett.Common.Indexers Language = "en-us"; Type = "private"; - TorznabCaps.LimitsDefault = 100; - TorznabCaps.LimitsMax = 1000; - AddCategoryMapping("SD", TorznabCatType.TVSD, "SD"); AddCategoryMapping("720p", TorznabCatType.TVHD, "720p"); AddCategoryMapping("1080p", TorznabCatType.TVHD, "1080p"); diff --git a/src/Jackett.Common/Indexers/CardigannIndexer.cs b/src/Jackett.Common/Indexers/CardigannIndexer.cs index 74abf56fe..b40bfef9d 100644 --- a/src/Jackett.Common/Indexers/CardigannIndexer.cs +++ b/src/Jackett.Common/Indexers/CardigannIndexer.cs @@ -113,11 +113,10 @@ namespace Jackett.Common.Indexers Type = Definition.Type; TorznabCaps = new TorznabCapabilities { - // SupportsImdbTVSearch temporarily disabled due to #8107 - // SupportsImdbTVSearch = Definition.Caps.Modes.Any(c => c.Key == "tv-search" && c.Value.Contains("imdbid")), - SupportsTvdbSearch = Definition.Caps.Modes.Any(c => c.Key == "tv-search" && c.Value.Contains("tvdbid")), BookSearchAvailable = Definition.Caps.Modes.Any(c => c.Key == "book-search" && c.Value.Contains("author") && c.Value.Contains("title")) }; + if (Definition.Caps.Modes.ContainsKey("tv-search")) + TorznabCaps.ParseTvSearchParams(Definition.Caps.Modes["tv-search"]); if (Definition.Caps.Modes.ContainsKey("movie-search")) TorznabCaps.ParseMovieSearchParams(Definition.Caps.Modes["movie-search"]); if (Definition.Caps.Modes.ContainsKey("music-search")) @@ -1630,7 +1629,7 @@ namespace Jackett.Common.Indexers if (query.TmdbID != null && TorznabCaps.MovieSearchTmdbAvailable) break; // skip andmatch filter for tmdb searches - if (query.TvdbID != null && TorznabCaps.SupportsTvdbSearch) + if (query.TvdbID != null && TorznabCaps.TvSearchTvdbAvailable) break; // skip andmatch filter for tvdb searches var queryKeywords = variables[".Keywords"] as string; diff --git a/src/Jackett.Common/Indexers/CinemaZ.cs b/src/Jackett.Common/Indexers/CinemaZ.cs index 15ff7e673..e6c7adf9e 100644 --- a/src/Jackett.Common/Indexers/CinemaZ.cs +++ b/src/Jackett.Common/Indexers/CinemaZ.cs @@ -18,8 +18,14 @@ namespace Jackett.Common.Indexers link: "https://cinemaz.to/", caps: new TorznabCapabilities { - MovieSearchParams = new List { MovieSearchParam.Q, MovieSearchParam.ImdbId } - // SupportsImdbTVSearch = true (supported by the site but disabled due to #8107) + TvSearchParams = new List + { + TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep, TvSearchParam.ImdbId + }, + MovieSearchParams = new List { + MovieSearchParam.Q, MovieSearchParam.ImdbId + + } }, configService: configService, client: wc, diff --git a/src/Jackett.Common/Indexers/CorsaroRed.cs b/src/Jackett.Common/Indexers/CorsaroRed.cs index 6cc73f9f3..8c2506f94 100644 --- a/src/Jackett.Common/Indexers/CorsaroRed.cs +++ b/src/Jackett.Common/Indexers/CorsaroRed.cs @@ -51,7 +51,15 @@ namespace Jackett.Common.Indexers description: "Italian Torrents", link: "https://corsaro.red/", caps: new TorznabCapabilities { - MovieSearchParams = new List { MovieSearchParam.Q } + // TODO: add music and book search + TvSearchParams = new List + { + TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep + }, + MovieSearchParams = new List + { + MovieSearchParam.Q + } }, configService: configService, client: wc, diff --git a/src/Jackett.Common/Indexers/DanishBits.cs b/src/Jackett.Common/Indexers/DanishBits.cs index 49644a8d6..720ddbe85 100644 --- a/src/Jackett.Common/Indexers/DanishBits.cs +++ b/src/Jackett.Common/Indexers/DanishBits.cs @@ -32,7 +32,14 @@ namespace Jackett.Common.Indexers link: "https://danishbits.org/", caps: new TorznabCapabilities { - MovieSearchParams = new List { MovieSearchParam.Q, MovieSearchParam.ImdbId } + TvSearchParams = new List + { + TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep + }, + MovieSearchParams = new List + { + MovieSearchParam.Q, MovieSearchParam.ImdbId + } }, configService: configService, client: wc, diff --git a/src/Jackett.Common/Indexers/DarmoweTorrenty.cs b/src/Jackett.Common/Indexers/DarmoweTorrenty.cs index dcbe4507c..46cd4bc73 100644 --- a/src/Jackett.Common/Indexers/DarmoweTorrenty.cs +++ b/src/Jackett.Common/Indexers/DarmoweTorrenty.cs @@ -41,7 +41,15 @@ namespace Jackett.Common.Indexers description: "Darmowe torenty is a POLISH Semi-Private Torrent Tracker for MOVIES / TV / GENERAL", link: "https://darmowe-torenty.pl/", caps: new TorznabCapabilities { - MovieSearchParams = new List { MovieSearchParam.Q } + // TODO: add music and book search + TvSearchParams = new List + { + TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep + }, + MovieSearchParams = new List + { + MovieSearchParam.Q + } }, configService: configService, client: wc, diff --git a/src/Jackett.Common/Indexers/DigitalCore.cs b/src/Jackett.Common/Indexers/DigitalCore.cs index 3709dbcde..dff41bc4a 100644 --- a/src/Jackett.Common/Indexers/DigitalCore.cs +++ b/src/Jackett.Common/Indexers/DigitalCore.cs @@ -36,7 +36,15 @@ namespace Jackett.Common.Indexers link: "https://digitalcore.club/", caps: new TorznabCapabilities { - MovieSearchParams = new List { MovieSearchParam.Q, MovieSearchParam.ImdbId } + // TODO: add music and book search + TvSearchParams = new List + { + TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep + }, + MovieSearchParams = new List + { + MovieSearchParam.Q, MovieSearchParam.ImdbId + } }, configService: configService, client: w, diff --git a/src/Jackett.Common/Indexers/DivxTotal.cs b/src/Jackett.Common/Indexers/DivxTotal.cs index dea255b89..f97f49d53 100644 --- a/src/Jackett.Common/Indexers/DivxTotal.cs +++ b/src/Jackett.Common/Indexers/DivxTotal.cs @@ -51,7 +51,14 @@ namespace Jackett.Common.Indexers description: "DivxTotal is a SPANISH site for Movies, TV series and Software", link: "https://www.divxtotal.la/", caps: new TorznabCapabilities { - MovieSearchParams = new List { MovieSearchParam.Q } + TvSearchParams = new List + { + TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep + }, + MovieSearchParams = new List + { + MovieSearchParam.Q + } }, configService: configService, client: w, diff --git a/src/Jackett.Common/Indexers/EliteTracker.cs b/src/Jackett.Common/Indexers/EliteTracker.cs index 3e19360fa..16d463bb7 100644 --- a/src/Jackett.Common/Indexers/EliteTracker.cs +++ b/src/Jackett.Common/Indexers/EliteTracker.cs @@ -31,8 +31,15 @@ namespace Jackett.Common.Indexers link: "https://elite-tracker.net/", caps: new TorznabCapabilities { - MovieSearchParams = new List { MovieSearchParam.Q, MovieSearchParam.ImdbId } - // SupportsImdbTVSearch = true (supported by the site but disabled due to #8107) + // TODO: add music and book search + TvSearchParams = new List + { + TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep, TvSearchParam.ImdbId + }, + MovieSearchParams = new List + { + MovieSearchParam.Q, MovieSearchParam.ImdbId + } }, configService: configService, logger: logger, diff --git a/src/Jackett.Common/Indexers/EpubLibre.cs b/src/Jackett.Common/Indexers/EpubLibre.cs index 672437371..3c617906c 100644 --- a/src/Jackett.Common/Indexers/EpubLibre.cs +++ b/src/Jackett.Common/Indexers/EpubLibre.cs @@ -43,7 +43,7 @@ namespace Jackett.Common.Indexers {"11", "portugués"}, {"12", "esperanto"} }; - + public override string[] AlternativeSiteLinks { get; protected set; } = { "https://epublibre.org/", "https://epublibre.unblockit.lat/" @@ -54,6 +54,7 @@ namespace Jackett.Common.Indexers name: "EpubLibre", description: "Más libros, Más libres", link: "https://epublibre.org/", + // TODO: add book search caps: new TorznabCapabilities(), configService: configService, client: wc, diff --git a/src/Jackett.Common/Indexers/ExoticaZ.cs b/src/Jackett.Common/Indexers/ExoticaZ.cs index 8489ae59d..516d8d3b2 100644 --- a/src/Jackett.Common/Indexers/ExoticaZ.cs +++ b/src/Jackett.Common/Indexers/ExoticaZ.cs @@ -24,7 +24,13 @@ namespace Jackett.Common.Indexers name: "ExoticaZ", description: "ExoticaZ (YourExotic) is a Private Torrent Tracker for 3X", link: "https://exoticaz.to/", - caps: new TorznabCapabilities(), + caps: new TorznabCapabilities + { + MovieSearchParams = new List + { + MovieSearchParam.Q + } + }, configService: configService, client: wc, logger: l, diff --git a/src/Jackett.Common/Indexers/Feeds/AnimeTosho.cs b/src/Jackett.Common/Indexers/Feeds/AnimeTosho.cs index 2337738ed..50425cfa9 100644 --- a/src/Jackett.Common/Indexers/Feeds/AnimeTosho.cs +++ b/src/Jackett.Common/Indexers/Feeds/AnimeTosho.cs @@ -21,7 +21,13 @@ namespace Jackett.Common.Indexers.Feeds name: "Anime Tosho", description: "AnimeTosho (AT) is an automated service that provides torrent files, magnet links and DDL for all anime releases", link: "https://animetosho.org/", - caps: new TorznabCapabilities(), + caps: new TorznabCapabilities + { + TvSearchParams = new List + { + TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep + } + }, configService: configService, client: client, logger: logger, diff --git a/src/Jackett.Common/Indexers/FileList.cs b/src/Jackett.Common/Indexers/FileList.cs index 69ded78c9..3fe901ec0 100644 --- a/src/Jackett.Common/Indexers/FileList.cs +++ b/src/Jackett.Common/Indexers/FileList.cs @@ -37,7 +37,15 @@ namespace Jackett.Common.Indexers link: "https://filelist.io/", caps: new TorznabCapabilities { - MovieSearchParams = new List { MovieSearchParam.Q, MovieSearchParam.ImdbId } + // TODO: add music and book search + TvSearchParams = new List + { + TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep + }, + MovieSearchParams = new List + { + MovieSearchParam.Q, MovieSearchParam.ImdbId + } }, configService: configService, client: wc, diff --git a/src/Jackett.Common/Indexers/FunFile.cs b/src/Jackett.Common/Indexers/FunFile.cs index 5c23bce33..a13fc7e06 100644 --- a/src/Jackett.Common/Indexers/FunFile.cs +++ b/src/Jackett.Common/Indexers/FunFile.cs @@ -30,8 +30,15 @@ namespace Jackett.Common.Indexers link: "https://www.funfile.org/", caps: new TorznabCapabilities { - MovieSearchParams = new List { MovieSearchParam.Q, MovieSearchParam.ImdbId } - // SupportsImdbTVSearch = true (supported by the site but disabled due to #8107) + // TODO: add music and book search + TvSearchParams = new List + { + TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep, TvSearchParam.ImdbId + }, + MovieSearchParams = new List + { + MovieSearchParam.Q, MovieSearchParam.ImdbId + } }, configService: configService, client: w, diff --git a/src/Jackett.Common/Indexers/Fuzer.cs b/src/Jackett.Common/Indexers/Fuzer.cs index 133d23ec1..8d50a8093 100644 --- a/src/Jackett.Common/Indexers/Fuzer.cs +++ b/src/Jackett.Common/Indexers/Fuzer.cs @@ -43,7 +43,15 @@ namespace Jackett.Common.Indexers link: "https://www.fuzer.me/", caps: new TorznabCapabilities { - MovieSearchParams = new List { MovieSearchParam.Q, MovieSearchParam.ImdbId } + // TODO: add music and book search + TvSearchParams = new List + { + TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep + }, + MovieSearchParams = new List + { + MovieSearchParam.Q, MovieSearchParam.ImdbId + } }, configService: configService, client: w, diff --git a/src/Jackett.Common/Indexers/GimmePeers.cs b/src/Jackett.Common/Indexers/GimmePeers.cs index 6366df811..f58b67abf 100644 --- a/src/Jackett.Common/Indexers/GimmePeers.cs +++ b/src/Jackett.Common/Indexers/GimmePeers.cs @@ -34,8 +34,16 @@ namespace Jackett.Common.Indexers name: "GimmePeers", description: "Formerly ILT", link: "https://www.gimmepeers.com/", - caps: new TorznabCapabilities{ - MovieSearchParams = new List { MovieSearchParam.Q } + caps: new TorznabCapabilities { + // TODO: add music and book search + TvSearchParams = new List + { + TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep + }, + MovieSearchParams = new List + { + MovieSearchParam.Q + } }, configService: configService, client: wc, diff --git a/src/Jackett.Common/Indexers/HDBitsApi.cs b/src/Jackett.Common/Indexers/HDBitsApi.cs index a67f66141..6c4b5485e 100644 --- a/src/Jackett.Common/Indexers/HDBitsApi.cs +++ b/src/Jackett.Common/Indexers/HDBitsApi.cs @@ -32,8 +32,14 @@ namespace Jackett.Common.Indexers link: "https://hdbits.org/", caps: new TorznabCapabilities { - MovieSearchParams = new List { MovieSearchParam.Q, MovieSearchParam.ImdbId }, - SupportsTvdbSearch= true + TvSearchParams = new List + { + TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep, TvSearchParam.TvdbId + }, + MovieSearchParams = new List + { + MovieSearchParam.Q, MovieSearchParam.ImdbId + }, }, configService: configService, client: wc, diff --git a/src/Jackett.Common/Indexers/HDSpace.cs b/src/Jackett.Common/Indexers/HDSpace.cs index 6754c0391..ed349b5b6 100644 --- a/src/Jackett.Common/Indexers/HDSpace.cs +++ b/src/Jackett.Common/Indexers/HDSpace.cs @@ -32,8 +32,15 @@ namespace Jackett.Common.Indexers link: "https://hd-space.org/", caps: new TorznabCapabilities { - MovieSearchParams = new List { MovieSearchParam.Q, MovieSearchParam.ImdbId } - //SupportsImdbTVSearch = true; (supported by the site but disabled due to #8107) + // TODO: add music search + TvSearchParams = new List + { + TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep, TvSearchParam.ImdbId + }, + MovieSearchParams = new List + { + MovieSearchParam.Q, MovieSearchParam.ImdbId + } }, configService: configService, client: wc, diff --git a/src/Jackett.Common/Indexers/HDTorrents.cs b/src/Jackett.Common/Indexers/HDTorrents.cs index a08464289..440eacbb3 100644 --- a/src/Jackett.Common/Indexers/HDTorrents.cs +++ b/src/Jackett.Common/Indexers/HDTorrents.cs @@ -51,8 +51,15 @@ namespace Jackett.Common.Indexers link: "https://hdts.ru/", // Domain https://hdts.ru/ seems more reliable caps: new TorznabCapabilities { - MovieSearchParams = new List { MovieSearchParam.Q, MovieSearchParam.ImdbId } - // SupportsImdbTVSearch = true (supported by the site but disabled due to #8107) + // TODO: add music search + TvSearchParams = new List + { + TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep, TvSearchParam.ImdbId + }, + MovieSearchParams = new List + { + MovieSearchParam.Q, MovieSearchParam.ImdbId + } }, configService: configService, client: w, diff --git a/src/Jackett.Common/Indexers/Hebits.cs b/src/Jackett.Common/Indexers/Hebits.cs index a4733941e..787beb1c2 100644 --- a/src/Jackett.Common/Indexers/Hebits.cs +++ b/src/Jackett.Common/Indexers/Hebits.cs @@ -34,8 +34,16 @@ namespace Jackett.Common.Indexers name: "Hebits", description: "The Israeli Tracker", link: "https://hebits.net/", - caps: new TorznabCapabilities{ - MovieSearchParams = new List { MovieSearchParam.Q } + caps: new TorznabCapabilities { + // TODO: add music and book search + TvSearchParams = new List + { + TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep + }, + MovieSearchParams = new List + { + MovieSearchParam.Q + } }, configService: configService, client: wc, diff --git a/src/Jackett.Common/Indexers/IPTorrents.cs b/src/Jackett.Common/Indexers/IPTorrents.cs index 020c62da2..932e38183 100644 --- a/src/Jackett.Common/Indexers/IPTorrents.cs +++ b/src/Jackett.Common/Indexers/IPTorrents.cs @@ -56,8 +56,15 @@ namespace Jackett.Common.Indexers link: "https://iptorrents.com/", caps: new TorznabCapabilities { - MovieSearchParams = new List { MovieSearchParam.Q, MovieSearchParam.ImdbId } - // SupportsImdbTVSearch = true (supported by the site but disabled due to #8107) + // TODO: add music and book search + TvSearchParams = new List + { + TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep, TvSearchParam.ImdbId + }, + MovieSearchParams = new List + { + MovieSearchParam.Q, MovieSearchParam.ImdbId + } }, configService: configService, client: wc, diff --git a/src/Jackett.Common/Indexers/IceTorrent.cs b/src/Jackett.Common/Indexers/IceTorrent.cs index 3a6259439..94c6c20d4 100644 --- a/src/Jackett.Common/Indexers/IceTorrent.cs +++ b/src/Jackett.Common/Indexers/IceTorrent.cs @@ -23,8 +23,15 @@ namespace Jackett.Common.Indexers link: "https://icetorrent.org/", caps: new TorznabCapabilities { - MovieSearchParams = new List { MovieSearchParam.Q, MovieSearchParam.ImdbId } - // SupportsImdbTVSearch = true (supported by the site but disabled due to #8107) + // TODO: add music and book search + TvSearchParams = new List + { + TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep, TvSearchParam.ImdbId + }, + MovieSearchParams = new List + { + MovieSearchParam.Q, MovieSearchParam.ImdbId + } }, configService: configService, client: wc, diff --git a/src/Jackett.Common/Indexers/ImmortalSeed.cs b/src/Jackett.Common/Indexers/ImmortalSeed.cs index 14a8a29b3..c436b44ac 100644 --- a/src/Jackett.Common/Indexers/ImmortalSeed.cs +++ b/src/Jackett.Common/Indexers/ImmortalSeed.cs @@ -39,8 +39,16 @@ namespace Jackett.Common.Indexers name: "ImmortalSeed", description: "ImmortalSeed (iS) is a Private Torrent Tracker for MOVIES / TV / GENERAL", link: "https://immortalseed.me/", - caps: new TorznabCapabilities{ - MovieSearchParams = new List { MovieSearchParam.Q } + caps: new TorznabCapabilities { + // TODO: add music and book search + TvSearchParams = new List + { + TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep + }, + MovieSearchParams = new List + { + MovieSearchParam.Q + } }, configService: configService, client: wc, diff --git a/src/Jackett.Common/Indexers/InternetArchive.cs b/src/Jackett.Common/Indexers/InternetArchive.cs index 0fbffb818..41dc43e47 100644 --- a/src/Jackett.Common/Indexers/InternetArchive.cs +++ b/src/Jackett.Common/Indexers/InternetArchive.cs @@ -47,7 +47,15 @@ namespace Jackett.Common.Indexers description: "Internet Archive is a non-profit digital library offering free universal access to books, movies & music, as well as 406 billion archived web pages", link: "https://archive.org/", caps: new TorznabCapabilities{ - MovieSearchParams = new List { MovieSearchParam.Q } + // TODO: add music and book search + TvSearchParams = new List + { + TvSearchParam.Q + }, + MovieSearchParams = new List + { + MovieSearchParam.Q + } }, configService: configService, client: wc, diff --git a/src/Jackett.Common/Indexers/Libble.cs b/src/Jackett.Common/Indexers/Libble.cs index 7cf98c808..3f8faa37e 100644 --- a/src/Jackett.Common/Indexers/Libble.cs +++ b/src/Jackett.Common/Indexers/Libble.cs @@ -63,7 +63,6 @@ namespace Jackett.Common.Indexers link: "https://libble.me/", caps: new TorznabCapabilities { - TVSearchAvailable = false, SupportedMusicSearchParamsList = new List { "q", "album", "artist", "label", "year" } }, configService: configService, diff --git a/src/Jackett.Common/Indexers/LostFilm.cs b/src/Jackett.Common/Indexers/LostFilm.cs index 9be8d48f6..564726179 100644 --- a/src/Jackett.Common/Indexers/LostFilm.cs +++ b/src/Jackett.Common/Indexers/LostFilm.cs @@ -98,8 +98,15 @@ namespace Jackett.Common.Indexers name: "LostFilm.tv", description: "Unique portal about foreign series", link: "https://www.lostfilm.run/", - caps: new TorznabCapabilities{ - MovieSearchParams = new List { MovieSearchParam.Q } + caps: new TorznabCapabilities { + TvSearchParams = new List + { + TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep + }, + MovieSearchParams = new List + { + MovieSearchParam.Q + } }, configService: configService, client: wc, @@ -111,6 +118,7 @@ namespace Jackett.Common.Indexers Language = "ru-ru"; Type = "semi-private"; + // TODO: review if there is only this category (movie search is enabled) AddCategoryMapping(1, TorznabCatType.TV); } diff --git a/src/Jackett.Common/Indexers/MejorTorrent.cs b/src/Jackett.Common/Indexers/MejorTorrent.cs index 0795348c2..31829f29a 100644 --- a/src/Jackett.Common/Indexers/MejorTorrent.cs +++ b/src/Jackett.Common/Indexers/MejorTorrent.cs @@ -48,8 +48,16 @@ namespace Jackett.Common.Indexers name: "MejorTorrent", description: "MejorTorrent - Hay veces que un torrent viene mejor! :)", link: "https://www.mejortorrentt.net/", - caps: new TorznabCapabilities{ - MovieSearchParams = new List { MovieSearchParam.Q } + caps: new TorznabCapabilities { + // TODO: add music search + TvSearchParams = new List + { + TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep + }, + MovieSearchParams = new List + { + MovieSearchParam.Q + } }, configService: configService, client: w, diff --git a/src/Jackett.Common/Indexers/Milkie.cs b/src/Jackett.Common/Indexers/Milkie.cs index 22f89cb1f..e83e08a95 100644 --- a/src/Jackett.Common/Indexers/Milkie.cs +++ b/src/Jackett.Common/Indexers/Milkie.cs @@ -28,8 +28,16 @@ namespace Jackett.Common.Indexers name: "Milkie", description: "Milkie.cc (ME) is private torrent tracker for 0day / general", link: "https://milkie.cc/", - caps: new TorznabCapabilities{ - MovieSearchParams = new List { MovieSearchParam.Q } + caps: new TorznabCapabilities { + // TODO: add music and book search + TvSearchParams = new List + { + TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep + }, + MovieSearchParams = new List + { + MovieSearchParam.Q + } }, configService: configService, client: wc, diff --git a/src/Jackett.Common/Indexers/MoreThanTV.cs b/src/Jackett.Common/Indexers/MoreThanTV.cs index a0354b943..68191b156 100644 --- a/src/Jackett.Common/Indexers/MoreThanTV.cs +++ b/src/Jackett.Common/Indexers/MoreThanTV.cs @@ -40,7 +40,14 @@ namespace Jackett.Common.Indexers link: "https://www.morethantv.me/", caps: new TorznabCapabilities { - MovieSearchParams = new List { MovieSearchParam.Q, MovieSearchParam.ImdbId } + TvSearchParams = new List + { + TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep + }, + MovieSearchParams = new List + { + MovieSearchParam.Q, MovieSearchParam.ImdbId + } }, configService: configService, client: c, diff --git a/src/Jackett.Common/Indexers/MyAmity.cs b/src/Jackett.Common/Indexers/MyAmity.cs index fc7edd8c0..1284c8595 100644 --- a/src/Jackett.Common/Indexers/MyAmity.cs +++ b/src/Jackett.Common/Indexers/MyAmity.cs @@ -33,8 +33,16 @@ namespace Jackett.Common.Indexers name: "myAmity", description: "A German general tracker.", link: "https://ttv2.myamity.info/", - caps: new TorznabCapabilities{ - MovieSearchParams = new List { MovieSearchParam.Q } + caps: new TorznabCapabilities { + // TODO: add music and book search + TvSearchParams = new List + { + TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep + }, + MovieSearchParams = new List + { + MovieSearchParam.Q + } }, configService: configService, client: wc, diff --git a/src/Jackett.Common/Indexers/MyAnonamouse.cs b/src/Jackett.Common/Indexers/MyAnonamouse.cs index bd2f56422..4f16b0865 100644 --- a/src/Jackett.Common/Indexers/MyAnonamouse.cs +++ b/src/Jackett.Common/Indexers/MyAnonamouse.cs @@ -30,6 +30,7 @@ namespace Jackett.Common.Indexers description: "Friendliness, Warmth and Sharing", link: "https://www.myanonamouse.net/", configService: configService, + // TODO: add book search caps: new TorznabCapabilities(), client: c, logger: l, diff --git a/src/Jackett.Common/Indexers/NCore.cs b/src/Jackett.Common/Indexers/NCore.cs index 87602d5b8..12045f9d3 100644 --- a/src/Jackett.Common/Indexers/NCore.cs +++ b/src/Jackett.Common/Indexers/NCore.cs @@ -48,9 +48,15 @@ namespace Jackett.Common.Indexers link: "https://ncore.cc/", caps: new TorznabCapabilities { - MovieSearchParams = new List { MovieSearchParam.Q, MovieSearchParam.ImdbId } - // supported by the site but disabled due to #8107 - // SupportsImdbTVSearch = true + // TODO: add music and book search + TvSearchParams = new List + { + TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep, TvSearchParam.ImdbId + }, + MovieSearchParams = new List + { + MovieSearchParam.Q, MovieSearchParam.ImdbId + } }, configService: configService, client: wc, diff --git a/src/Jackett.Common/Indexers/Nebulance.cs b/src/Jackett.Common/Indexers/Nebulance.cs index 61ed31e27..19bf054b6 100644 --- a/src/Jackett.Common/Indexers/Nebulance.cs +++ b/src/Jackett.Common/Indexers/Nebulance.cs @@ -29,7 +29,13 @@ namespace Jackett.Common.Indexers name: "Nebulance", description: "At Nebulance we will change the way you think about TV", link: "https://nebulance.io/", - caps: new TorznabCapabilities(), + caps: new TorznabCapabilities + { + TvSearchParams = new List + { + TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep + } + }, configService: configService, client: c, logger: l, diff --git a/src/Jackett.Common/Indexers/NewPCT.cs b/src/Jackett.Common/Indexers/NewPCT.cs index c5de847f5..867dc4905 100644 --- a/src/Jackett.Common/Indexers/NewPCT.cs +++ b/src/Jackett.Common/Indexers/NewPCT.cs @@ -122,7 +122,14 @@ namespace Jackett.Common.Indexers description: "NewPCT - Descargar peliculas, series y estrenos torrent gratis", link: "https://pctmix.com/", caps: new TorznabCapabilities { - MovieSearchParams = new List { MovieSearchParam.Q } + TvSearchParams = new List + { + TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep + }, + MovieSearchParams = new List + { + MovieSearchParam.Q + } }, configService: configService, client: wc, diff --git a/src/Jackett.Common/Indexers/NewRealWorld.cs b/src/Jackett.Common/Indexers/NewRealWorld.cs index f305b6c75..7d1a29676 100644 --- a/src/Jackett.Common/Indexers/NewRealWorld.cs +++ b/src/Jackett.Common/Indexers/NewRealWorld.cs @@ -34,8 +34,16 @@ namespace Jackett.Common.Indexers name: "New Real World", description: "A German general tracker.", link: "https://nrw-tracker.eu/", - caps: new TorznabCapabilities{ - MovieSearchParams = new List { MovieSearchParam.Q } + caps: new TorznabCapabilities { + // TODO: add music and book search + TvSearchParams = new List + { + TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep + }, + MovieSearchParams = new List + { + MovieSearchParam.Q + } }, configService: configService, client: wc, diff --git a/src/Jackett.Common/Indexers/NorBits.cs b/src/Jackett.Common/Indexers/NorBits.cs index b2ccd5630..dd04d6311 100644 --- a/src/Jackett.Common/Indexers/NorBits.cs +++ b/src/Jackett.Common/Indexers/NorBits.cs @@ -49,7 +49,15 @@ namespace Jackett.Common.Indexers link: "https://norbits.net/", caps: new TorznabCapabilities { - MovieSearchParams = new List {MovieSearchParam.Q, MovieSearchParam.ImdbId } + // TODO: add music and books search + TvSearchParams = new List + { + TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep + }, + MovieSearchParams = new List + { + MovieSearchParam.Q, MovieSearchParam.ImdbId + } }, configService: configService, client: w, diff --git a/src/Jackett.Common/Indexers/NotWhatCD.cs b/src/Jackett.Common/Indexers/NotWhatCD.cs index a3fe6fe3a..3e25efe24 100644 --- a/src/Jackett.Common/Indexers/NotWhatCD.cs +++ b/src/Jackett.Common/Indexers/NotWhatCD.cs @@ -18,8 +18,19 @@ namespace Jackett.Common.Indexers link: "https://notwhat.cd/", caps: new TorznabCapabilities { - MovieSearchParams = new List { MovieSearchParam.Q }, - SupportedMusicSearchParamsList = new List { "q", "album", "artist", "label", "year" } + // TODO: add book search + TvSearchParams = new List + { + TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep + }, + MovieSearchParams = new List + { + MovieSearchParam.Q + }, + SupportedMusicSearchParamsList = new List + { + "q", "album", "artist", "label", "year" + } }, configService: configService, client: wc, diff --git a/src/Jackett.Common/Indexers/Orpheus.cs b/src/Jackett.Common/Indexers/Orpheus.cs index 15965dd43..f351c295e 100644 --- a/src/Jackett.Common/Indexers/Orpheus.cs +++ b/src/Jackett.Common/Indexers/Orpheus.cs @@ -18,8 +18,19 @@ namespace Jackett.Common.Indexers link: "https://orpheus.network/", caps: new TorznabCapabilities { - MovieSearchParams = new List { MovieSearchParam.Q }, - SupportedMusicSearchParamsList = new List { "q", "album", "artist", "label", "year" } + // TODO: add book search + TvSearchParams = new List + { + TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep + }, + MovieSearchParams = new List + { + MovieSearchParam.Q + }, + SupportedMusicSearchParamsList = new List + { + "q", "album", "artist", "label", "year" + } }, configService: configService, client: wc, diff --git a/src/Jackett.Common/Indexers/Partis.cs b/src/Jackett.Common/Indexers/Partis.cs index f7dbbb2f1..32ed8faca 100644 --- a/src/Jackett.Common/Indexers/Partis.cs +++ b/src/Jackett.Common/Indexers/Partis.cs @@ -33,8 +33,16 @@ namespace Jackett.Common.Indexers name: "Partis", description: "Partis is a SLOVENIAN Private Torrent Tracker", link: "https://www.partis.si/", - caps: new TorznabCapabilities{ - MovieSearchParams = new List { MovieSearchParam.Q } + caps: new TorznabCapabilities { + // TODO: add music and book search + TvSearchParams = new List + { + TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep + }, + MovieSearchParams = new List + { + MovieSearchParam.Q + } }, configService: configService, client: wc, diff --git a/src/Jackett.Common/Indexers/PassThePopcorn.cs b/src/Jackett.Common/Indexers/PassThePopcorn.cs index 44ad7c608..8e1a45755 100644 --- a/src/Jackett.Common/Indexers/PassThePopcorn.cs +++ b/src/Jackett.Common/Indexers/PassThePopcorn.cs @@ -38,7 +38,14 @@ namespace Jackett.Common.Indexers link: "https://passthepopcorn.me/", caps: new TorznabCapabilities { - MovieSearchParams = new List { MovieSearchParam.Q, MovieSearchParam.ImdbId } + TvSearchParams = new List + { + TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep + }, + MovieSearchParams = new List + { + MovieSearchParam.Q, MovieSearchParam.ImdbId + } }, configService: configService, client: c, diff --git a/src/Jackett.Common/Indexers/PirateTheNet.cs b/src/Jackett.Common/Indexers/PirateTheNet.cs index bd8ba7916..c6957b4db 100644 --- a/src/Jackett.Common/Indexers/PirateTheNet.cs +++ b/src/Jackett.Common/Indexers/PirateTheNet.cs @@ -38,7 +38,10 @@ namespace Jackett.Common.Indexers link: "http://piratethenet.org/", caps: new TorznabCapabilities { - MovieSearchParams = new List { MovieSearchParam.Q, MovieSearchParam.ImdbId } + MovieSearchParams = new List + { + MovieSearchParam.Q, MovieSearchParam.ImdbId + } }, configService: configService, client: w, diff --git a/src/Jackett.Common/Indexers/PixelHD.cs b/src/Jackett.Common/Indexers/PixelHD.cs index 2eece9ea2..92dfe974a 100644 --- a/src/Jackett.Common/Indexers/PixelHD.cs +++ b/src/Jackett.Common/Indexers/PixelHD.cs @@ -39,7 +39,10 @@ namespace Jackett.Common.Indexers link: "https://pixelhd.me/", caps: new TorznabCapabilities { - MovieSearchParams = new List { MovieSearchParam.Q, MovieSearchParam.ImdbId } + MovieSearchParams = new List + { + MovieSearchParam.Q, MovieSearchParam.ImdbId + } }, configService: configService, logger: logger, diff --git a/src/Jackett.Common/Indexers/PolishTracker.cs b/src/Jackett.Common/Indexers/PolishTracker.cs index 106807aaf..e5bf030b2 100644 --- a/src/Jackett.Common/Indexers/PolishTracker.cs +++ b/src/Jackett.Common/Indexers/PolishTracker.cs @@ -34,8 +34,15 @@ namespace Jackett.Common.Indexers link: "https://pte.nu/", caps: new TorznabCapabilities { - MovieSearchParams = new List { MovieSearchParam.Q, MovieSearchParam.ImdbId } - // SupportsImdbTVSearch = true (supported by the site but disabled due to #8107) + // TODO: add music and book search + TvSearchParams = new List + { + TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep, TvSearchParam.ImdbId + }, + MovieSearchParams = new List + { + MovieSearchParam.Q, MovieSearchParam.ImdbId + } }, configService: configService, client: wc, diff --git a/src/Jackett.Common/Indexers/PreToMe.cs b/src/Jackett.Common/Indexers/PreToMe.cs index fcf57b215..59d8ab07c 100644 --- a/src/Jackett.Common/Indexers/PreToMe.cs +++ b/src/Jackett.Common/Indexers/PreToMe.cs @@ -30,8 +30,15 @@ namespace Jackett.Common.Indexers link: "https://pretome.info/", caps: new TorznabCapabilities { - MovieSearchParams = new List { MovieSearchParam.Q, MovieSearchParam.ImdbId } - // SupportsImdbTVSearch = true; (supported by the site but disabled due to #8107) + // TODO: add music and book search + TvSearchParams = new List + { + TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep, TvSearchParam.ImdbId + }, + MovieSearchParams = new List + { + MovieSearchParam.Q, MovieSearchParam.ImdbId + } }, client: wc, configService: configService, diff --git a/src/Jackett.Common/Indexers/PrivateHD.cs b/src/Jackett.Common/Indexers/PrivateHD.cs index 4db93fb11..acf988388 100644 --- a/src/Jackett.Common/Indexers/PrivateHD.cs +++ b/src/Jackett.Common/Indexers/PrivateHD.cs @@ -18,8 +18,15 @@ namespace Jackett.Common.Indexers link: "https://privatehd.to/", caps: new TorznabCapabilities { - MovieSearchParams = new List { MovieSearchParam.Q, MovieSearchParam.ImdbId } - // SupportsImdbTVSearch = true (supported by the site but disabled due to #8107) + // TODO: add music search + TvSearchParams = new List + { + TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep, TvSearchParam.ImdbId + }, + MovieSearchParams = new List + { + MovieSearchParam.Q, MovieSearchParam.ImdbId + } }, configService: configService, client: wc, diff --git a/src/Jackett.Common/Indexers/PsyTorrents.cs b/src/Jackett.Common/Indexers/PsyTorrents.cs index 13475c873..7920fe6c8 100644 --- a/src/Jackett.Common/Indexers/PsyTorrents.cs +++ b/src/Jackett.Common/Indexers/PsyTorrents.cs @@ -18,7 +18,11 @@ namespace Jackett.Common.Indexers description: "Psytorrents (PSY) is a Private Torrent Tracker for ELECTRONIC MUSIC", link: "https://psytorrents.info/", caps: new TorznabCapabilities{ - MovieSearchParams = new List { MovieSearchParam.Q } + // TODO: add music search + MovieSearchParams = new List + { + MovieSearchParam.Q + } }, configService: configService, client: wc, diff --git a/src/Jackett.Common/Indexers/RarBG.cs b/src/Jackett.Common/Indexers/RarBG.cs index 384030cde..fdf7eb264 100644 --- a/src/Jackett.Common/Indexers/RarBG.cs +++ b/src/Jackett.Common/Indexers/RarBG.cs @@ -38,7 +38,15 @@ namespace Jackett.Common.Indexers link: "https://rarbg.to/", caps: new TorznabCapabilities { - MovieSearchParams = new List { MovieSearchParam.Q, MovieSearchParam.ImdbId } + // TODO: add music and book search + TvSearchParams = new List + { + TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep + }, + MovieSearchParams = new List + { + MovieSearchParam.Q, MovieSearchParam.ImdbId + } }, configService: configService, client: wc, diff --git a/src/Jackett.Common/Indexers/Redacted.cs b/src/Jackett.Common/Indexers/Redacted.cs index af6ef6cef..5d3ee069c 100644 --- a/src/Jackett.Common/Indexers/Redacted.cs +++ b/src/Jackett.Common/Indexers/Redacted.cs @@ -22,8 +22,19 @@ namespace Jackett.Common.Indexers link: "https://redacted.ch/", caps: new TorznabCapabilities { - MovieSearchParams = new List { MovieSearchParam.Q }, - SupportedMusicSearchParamsList = new List { "q", "album", "artist", "label", "year" } + // TODO: add book search + TvSearchParams = new List + { + TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep + }, + MovieSearchParams = new List + { + MovieSearchParam.Q + }, + SupportedMusicSearchParamsList = new List + { + "q", "album", "artist", "label", "year" + } }, configService: configService, client: wc, diff --git a/src/Jackett.Common/Indexers/RevolutionTT.cs b/src/Jackett.Common/Indexers/RevolutionTT.cs index a26ac426b..430b5dae3 100644 --- a/src/Jackett.Common/Indexers/RevolutionTT.cs +++ b/src/Jackett.Common/Indexers/RevolutionTT.cs @@ -32,7 +32,15 @@ namespace Jackett.Common.Indexers link: "https://revolutiontt.me/", caps: new TorznabCapabilities { - MovieSearchParams = new List { MovieSearchParam.Q, MovieSearchParam.ImdbId } + // TODO: add music and book search + TvSearchParams = new List + { + TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep + }, + MovieSearchParams = new List + { + MovieSearchParam.Q, MovieSearchParam.ImdbId + } }, configService: configService, client: wc, diff --git a/src/Jackett.Common/Indexers/RuTracker.cs b/src/Jackett.Common/Indexers/RuTracker.cs index 543ea9d0a..d8c41f7ba 100644 --- a/src/Jackett.Common/Indexers/RuTracker.cs +++ b/src/Jackett.Common/Indexers/RuTracker.cs @@ -40,7 +40,15 @@ namespace Jackett.Common.Indexers description: "RuTracker is a Semi-Private Russian torrent site with a thriving file-sharing community", link: "https://rutracker.org/", caps: new TorznabCapabilities { - MovieSearchParams = new List { MovieSearchParam.Q } + // TODO: add music and book search + TvSearchParams = new List + { + TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep + }, + MovieSearchParams = new List + { + MovieSearchParam.Q + } }, configService: configService, client: wc, diff --git a/src/Jackett.Common/Indexers/SceneFZ.cs b/src/Jackett.Common/Indexers/SceneFZ.cs index 8f3c054f3..b2d7b16bb 100644 --- a/src/Jackett.Common/Indexers/SceneFZ.cs +++ b/src/Jackett.Common/Indexers/SceneFZ.cs @@ -24,8 +24,15 @@ namespace Jackett.Common.Indexers link: "https://scenefz.me/", caps: new TorznabCapabilities { - MovieSearchParams = new List { MovieSearchParam.Q, MovieSearchParam.ImdbId } - // SupportsImdbTVSearch = true (supported by the site but disabled due to #8107) + // TODO: add music and book search + TvSearchParams = new List + { + TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep, TvSearchParam.ImdbId + }, + MovieSearchParams = new List + { + MovieSearchParam.Q, MovieSearchParam.ImdbId + } }, configService: configService, client: wc, diff --git a/src/Jackett.Common/Indexers/SceneHD.cs b/src/Jackett.Common/Indexers/SceneHD.cs index 849a1e1ab..8956fe8d4 100644 --- a/src/Jackett.Common/Indexers/SceneHD.cs +++ b/src/Jackett.Common/Indexers/SceneHD.cs @@ -33,7 +33,15 @@ namespace Jackett.Common.Indexers configService: configService, caps: new TorznabCapabilities { - MovieSearchParams = new List { MovieSearchParam.Q, MovieSearchParam.ImdbId } + // TODO: add music search + TvSearchParams = new List + { + TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep + }, + MovieSearchParams = new List + { + MovieSearchParam.Q, MovieSearchParam.ImdbId + } }, client: c, logger: l, diff --git a/src/Jackett.Common/Indexers/SceneTime.cs b/src/Jackett.Common/Indexers/SceneTime.cs index 6e8680b22..a6bf9ac1a 100644 --- a/src/Jackett.Common/Indexers/SceneTime.cs +++ b/src/Jackett.Common/Indexers/SceneTime.cs @@ -34,7 +34,15 @@ namespace Jackett.Common.Indexers description: "Always on time", link: "https://www.scenetime.com/", caps: new TorznabCapabilities { - MovieSearchParams = new List { MovieSearchParam.Q } + // TODO: add music and book search + TvSearchParams = new List + { + TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep + }, + MovieSearchParams = new List + { + MovieSearchParam.Q + } }, configService: configService, client: w, diff --git a/src/Jackett.Common/Indexers/SecretCinema.cs b/src/Jackett.Common/Indexers/SecretCinema.cs index 17e929f92..c3b7bef1f 100644 --- a/src/Jackett.Common/Indexers/SecretCinema.cs +++ b/src/Jackett.Common/Indexers/SecretCinema.cs @@ -21,8 +21,14 @@ namespace Jackett.Common.Indexers link: "https://secret-cinema.pw/", caps: new TorznabCapabilities { - MovieSearchParams = new List { MovieSearchParam.Q, MovieSearchParam.ImdbId }, - SupportedMusicSearchParamsList = new List { "q", "album", "artist", "label", "year" } + MovieSearchParams = new List + { + MovieSearchParam.Q, MovieSearchParam.ImdbId + }, + SupportedMusicSearchParamsList = new List + { + "q", "album", "artist", "label", "year" + } }, configService: configService, client: wc, diff --git a/src/Jackett.Common/Indexers/Shazbat.cs b/src/Jackett.Common/Indexers/Shazbat.cs index 0d1a4a900..7b31681aa 100644 --- a/src/Jackett.Common/Indexers/Shazbat.cs +++ b/src/Jackett.Common/Indexers/Shazbat.cs @@ -36,7 +36,13 @@ namespace Jackett.Common.Indexers name: "Shazbat", description: "Modern indexer", link: "https://www.shazbat.tv/", - caps: new TorznabCapabilities(), + caps: new TorznabCapabilities + { + TvSearchParams = new List + { + TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep + } + }, configService: configService, client: c, logger: l, diff --git a/src/Jackett.Common/Indexers/ShizaProject.cs b/src/Jackett.Common/Indexers/ShizaProject.cs index acc4e611a..f1c83e3cc 100644 --- a/src/Jackett.Common/Indexers/ShizaProject.cs +++ b/src/Jackett.Common/Indexers/ShizaProject.cs @@ -24,7 +24,13 @@ namespace Jackett.Common.Indexers name: "ShizaProject", description: "ShizaProject Tracker is a semi-private russian tracker and release group for anime", link: "http://shiza-project.com/", - caps: new TorznabCapabilities(), + caps: new TorznabCapabilities + { + TvSearchParams = new List + { + TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep + } + }, configService: configService, client: wc, logger: l, @@ -101,7 +107,7 @@ namespace Jackett.Common.Indexers } const string ReleaseLinksSelector = "article.grid-card > a.card-box"; - + var releases = new List(); try diff --git a/src/Jackett.Common/Indexers/ShowRSS.cs b/src/Jackett.Common/Indexers/ShowRSS.cs index 7f61dd37c..4b7461a47 100644 --- a/src/Jackett.Common/Indexers/ShowRSS.cs +++ b/src/Jackett.Common/Indexers/ShowRSS.cs @@ -32,7 +32,13 @@ namespace Jackett.Common.Indexers name: "ShowRSS", description: "showRSS is a service that allows you to keep track of your favorite TV shows", link: "https://showrss.info/", - caps: new TorznabCapabilities(), + caps: new TorznabCapabilities + { + TvSearchParams = new List + { + TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep + } + }, configService: configService, client: wc, logger: l, diff --git a/src/Jackett.Common/Indexers/SolidTorrents.cs b/src/Jackett.Common/Indexers/SolidTorrents.cs index 2cf67a035..56e4a9529 100644 --- a/src/Jackett.Common/Indexers/SolidTorrents.cs +++ b/src/Jackett.Common/Indexers/SolidTorrents.cs @@ -41,7 +41,15 @@ namespace Jackett.Common.Indexers description: "Solid Torrents is a Public torrent meta-search engine", link: "https://solidtorrents.net/", caps: new TorznabCapabilities { - MovieSearchParams = new List { MovieSearchParam.Q } + // TODO: add music and book search + TvSearchParams = new List + { + TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep + }, + MovieSearchParams = new List + { + MovieSearchParam.Q + } }, configService: configService, client: wc, diff --git a/src/Jackett.Common/Indexers/SpeedCD.cs b/src/Jackett.Common/Indexers/SpeedCD.cs index 0bf71b385..7c320738f 100644 --- a/src/Jackett.Common/Indexers/SpeedCD.cs +++ b/src/Jackett.Common/Indexers/SpeedCD.cs @@ -39,8 +39,15 @@ namespace Jackett.Common.Indexers link: "https://speed.cd/", caps: new TorznabCapabilities { - MovieSearchParams = new List { MovieSearchParam.Q, MovieSearchParam.ImdbId } - // SupportsImdbTVSearch = true (supported by the site but disabled due to #8107) + // TODO: add music and book search + TvSearchParams = new List + { + TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep, TvSearchParam.ImdbId + }, + MovieSearchParams = new List + { + MovieSearchParam.Q, MovieSearchParam.ImdbId + } }, configService: configService, client: wc, diff --git a/src/Jackett.Common/Indexers/SuperBits.cs b/src/Jackett.Common/Indexers/SuperBits.cs index 6c7d7bb72..0245900b8 100644 --- a/src/Jackett.Common/Indexers/SuperBits.cs +++ b/src/Jackett.Common/Indexers/SuperBits.cs @@ -36,7 +36,15 @@ namespace Jackett.Common.Indexers link: "https://superbits.org/", caps: new TorznabCapabilities { - MovieSearchParams = new List { MovieSearchParam.Q, MovieSearchParam.ImdbId } + // TODO: add music and book search + TvSearchParams = new List + { + TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep + }, + MovieSearchParams = new List + { + MovieSearchParam.Q, MovieSearchParam.ImdbId + } }, configService: configService, client: w, diff --git a/src/Jackett.Common/Indexers/TVStore.cs b/src/Jackett.Common/Indexers/TVStore.cs index dc21a66c2..cdb803690 100644 --- a/src/Jackett.Common/Indexers/TVStore.cs +++ b/src/Jackett.Common/Indexers/TVStore.cs @@ -38,8 +38,14 @@ namespace Jackett.Common.Indexers link: "https://tvstore.me/", caps: new TorznabCapabilities { - MovieSearchParams = new List { MovieSearchParam.Q, MovieSearchParam.ImdbId }, - SupportsImdbTVSearch = true + TvSearchParams = new List + { + TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep, TvSearchParam.ImdbId + }, + MovieSearchParams = new List + { + MovieSearchParam.Q, MovieSearchParam.ImdbId + }, }, configService: configService, client: wc, @@ -50,6 +56,7 @@ namespace Jackett.Common.Indexers Encoding = Encoding.UTF8; Language = "hu-hu"; Type = "private"; + AddCategoryMapping(1, TorznabCatType.TV); AddCategoryMapping(2, TorznabCatType.TVHD); AddCategoryMapping(3, TorznabCatType.TVSD); diff --git a/src/Jackett.Common/Indexers/TVVault.cs b/src/Jackett.Common/Indexers/TVVault.cs index 134e32da3..bdc534be5 100644 --- a/src/Jackett.Common/Indexers/TVVault.cs +++ b/src/Jackett.Common/Indexers/TVVault.cs @@ -34,8 +34,14 @@ namespace Jackett.Common.Indexers link: "https://tv-vault.me/", caps: new TorznabCapabilities { - MovieSearchParams = new List { MovieSearchParam.Q, MovieSearchParam.ImdbId } - // SupportsImdbTVSearch = true (supported by the site but disabled due to #8107) + TvSearchParams = new List + { + TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep, TvSearchParam.ImdbId + }, + MovieSearchParams = new List + { + MovieSearchParam.Q, MovieSearchParam.ImdbId + } }, configService: configService, client: wc, diff --git a/src/Jackett.Common/Indexers/ThePirateBay.cs b/src/Jackett.Common/Indexers/ThePirateBay.cs index c5c4ced82..3284f4a64 100644 --- a/src/Jackett.Common/Indexers/ThePirateBay.cs +++ b/src/Jackett.Common/Indexers/ThePirateBay.cs @@ -77,7 +77,15 @@ namespace Jackett.Common.Indexers description: "Pirate Bay (TPB) is the galaxy’s most resilient Public BitTorrent site", link: "https://thepiratebay.org/", caps: new TorznabCapabilities { - MovieSearchParams = new List { MovieSearchParam.Q } + // TODO: add music and book search + TvSearchParams = new List + { + TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep + }, + MovieSearchParams = new List + { + MovieSearchParam.Q + } }, configService: configService, client: client, @@ -90,11 +98,6 @@ namespace Jackett.Common.Indexers Language = "en-us"; Type = "public"; - AddCategoryMappings(); - } - - private void AddCategoryMappings() - { // Audio AddCategoryMapping(100, TorznabCatType.Audio, "Audio"); AddCategoryMapping(101, TorznabCatType.Audio, "Music"); diff --git a/src/Jackett.Common/Indexers/Toloka.cs b/src/Jackett.Common/Indexers/Toloka.cs index 28b9c03d7..db9efa56a 100644 --- a/src/Jackett.Common/Indexers/Toloka.cs +++ b/src/Jackett.Common/Indexers/Toloka.cs @@ -37,7 +37,15 @@ namespace Jackett.Common.Indexers description: "Toloka is a Semi-Private Ukrainian torrent site with a thriving file-sharing community", link: "https://toloka.to/", caps: new TorznabCapabilities { - MovieSearchParams = new List { MovieSearchParam.Q } + // TODO: add music and book search + TvSearchParams = new List + { + TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep + }, + MovieSearchParams = new List + { + MovieSearchParam.Q + } }, configService: configService, client: wc, diff --git a/src/Jackett.Common/Indexers/TorrenTech.cs b/src/Jackett.Common/Indexers/TorrenTech.cs index 8dc5cf9fb..0e2327d46 100644 --- a/src/Jackett.Common/Indexers/TorrenTech.cs +++ b/src/Jackett.Common/Indexers/TorrenTech.cs @@ -36,6 +36,7 @@ namespace Jackett.Common.Indexers name: "Torrentech", description: "Torrentech (TTH) is a Private Torrent Tracker for ELECTRONIC MUSIC", link: "https://www.torrentech.org/", + // TODO: add music search caps: new TorznabCapabilities(), configService: configService, client: wc, diff --git a/src/Jackett.Common/Indexers/TorrentBytes.cs b/src/Jackett.Common/Indexers/TorrentBytes.cs index ddd23f7df..8f79ce2ef 100644 --- a/src/Jackett.Common/Indexers/TorrentBytes.cs +++ b/src/Jackett.Common/Indexers/TorrentBytes.cs @@ -31,8 +31,15 @@ namespace Jackett.Common.Indexers link: "https://www.torrentbytes.net/", caps: new TorznabCapabilities { - MovieSearchParams = new List { MovieSearchParam.Q, MovieSearchParam.ImdbId } - // SupportsImdbTVSearch = true (supported by the site but disabled due to #8107) + // TODO: add music search + TvSearchParams = new List + { + TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep, TvSearchParam.ImdbId + }, + MovieSearchParams = new List + { + MovieSearchParam.Q, MovieSearchParam.ImdbId + } }, configService: configService, client: wc, diff --git a/src/Jackett.Common/Indexers/TorrentDay.cs b/src/Jackett.Common/Indexers/TorrentDay.cs index ec031cb59..20183ed6e 100644 --- a/src/Jackett.Common/Indexers/TorrentDay.cs +++ b/src/Jackett.Common/Indexers/TorrentDay.cs @@ -53,8 +53,15 @@ namespace Jackett.Common.Indexers link: "https://tday.love/", caps: new TorznabCapabilities { - MovieSearchParams = new List { MovieSearchParam.Q, MovieSearchParam.ImdbId } - // SupportsImdbTVSearch = true (supported by the site but disabled due to #8107) + // TODO: add music and book search + TvSearchParams = new List + { + TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep, TvSearchParam.ImdbId + }, + MovieSearchParams = new List + { + MovieSearchParam.Q, MovieSearchParam.ImdbId + } }, configService: configService, client: wc, diff --git a/src/Jackett.Common/Indexers/TorrentHeaven.cs b/src/Jackett.Common/Indexers/TorrentHeaven.cs index d5ffca38a..33cb7a629 100644 --- a/src/Jackett.Common/Indexers/TorrentHeaven.cs +++ b/src/Jackett.Common/Indexers/TorrentHeaven.cs @@ -26,7 +26,15 @@ namespace Jackett.Common.Indexers description: "A German general tracker.", link: "https://newheaven.nl/", caps: new TorznabCapabilities { - MovieSearchParams = new List { MovieSearchParam.Q } + // TODO: add music and book search + TvSearchParams = new List + { + TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep + }, + MovieSearchParams = new List + { + MovieSearchParam.Q + } }, configService: configService, client: wc, @@ -37,8 +45,10 @@ namespace Jackett.Common.Indexers Encoding = Encoding.GetEncoding("iso-8859-1"); Language = "de-de"; Type = "private"; + // incomplete CA chain wc.AddTrustedCertificate(new Uri(SiteLink).Host, "cbf23ac75b07255ad7548a87567a839d23f31576"); + AddCategoryMapping(1, TorznabCatType.PCGames, "GAMES/PC"); AddCategoryMapping(3, TorznabCatType.Console, "GAMES/Sonstige"); AddCategoryMapping(59, TorznabCatType.ConsolePS4, "GAMES/PlayStation"); diff --git a/src/Jackett.Common/Indexers/TorrentLeech.cs b/src/Jackett.Common/Indexers/TorrentLeech.cs index 394173980..1bd77ca0e 100644 --- a/src/Jackett.Common/Indexers/TorrentLeech.cs +++ b/src/Jackett.Common/Indexers/TorrentLeech.cs @@ -38,8 +38,15 @@ namespace Jackett.Common.Indexers link: "https://www.torrentleech.org/", caps: new TorznabCapabilities { - MovieSearchParams = new List { MovieSearchParam.Q, MovieSearchParam.ImdbId } - // SupportsImdbTVSearch = true (supported by the site but disabled due to #8107) + // TODO: add music and book search + TvSearchParams = new List + { + TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep, TvSearchParam.ImdbId + }, + MovieSearchParams = new List + { + MovieSearchParam.Q, MovieSearchParam.ImdbId + } }, configService: configService, client: wc, diff --git a/src/Jackett.Common/Indexers/TorrentMafya.cs b/src/Jackett.Common/Indexers/TorrentMafya.cs index 60d3947bf..42defe80c 100644 --- a/src/Jackett.Common/Indexers/TorrentMafya.cs +++ b/src/Jackett.Common/Indexers/TorrentMafya.cs @@ -37,7 +37,14 @@ namespace Jackett.Common.Indexers description: "TorrentMafya is a Turkish general torrent tracker ", link: "https://www.torrentmafya.org/", caps: new TorznabCapabilities { - MovieSearchParams = new List { MovieSearchParam.Q } + TvSearchParams = new List + { + TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep + }, + MovieSearchParams = new List + { + MovieSearchParam.Q + } }, configService: configService, client: wc, diff --git a/src/Jackett.Common/Indexers/TorrentNetwork.cs b/src/Jackett.Common/Indexers/TorrentNetwork.cs index 541dabf73..a6d210db4 100644 --- a/src/Jackett.Common/Indexers/TorrentNetwork.cs +++ b/src/Jackett.Common/Indexers/TorrentNetwork.cs @@ -39,7 +39,15 @@ namespace Jackett.Common.Indexers description: "Torrent Network (TN) is a GERMAN Private site for TV / MOVIES / GENERAL", link: "https://tntracker.org/", caps: new TorznabCapabilities { - MovieSearchParams = new List { MovieSearchParam.Q } + // TODO: add music and book search + TvSearchParams = new List + { + TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep + }, + MovieSearchParams = new List + { + MovieSearchParam.Q + } }, configService: configService, client: wc, diff --git a/src/Jackett.Common/Indexers/TorrentSeeds.cs b/src/Jackett.Common/Indexers/TorrentSeeds.cs index 111e9db52..40e5cf15c 100644 --- a/src/Jackett.Common/Indexers/TorrentSeeds.cs +++ b/src/Jackett.Common/Indexers/TorrentSeeds.cs @@ -12,7 +12,6 @@ using Jackett.Common.Models; using Jackett.Common.Models.IndexerConfig; using Jackett.Common.Services.Interfaces; using Jackett.Common.Utils; -using Jackett.Common.Utils.Clients; using Newtonsoft.Json.Linq; using NLog; @@ -32,8 +31,17 @@ namespace Jackett.Common.Indexers name: "TorrentSeeds", description: "TorrentSeeds is a Private site for MOVIES / TV / GENERAL", link: "https://torrentseeds.org/", - caps: new TorznabCapabilities{ - MovieSearchParams = new List { MovieSearchParam.Q } + caps: new TorznabCapabilities + { + // TODO: add music and book search + TvSearchParams = new List + { + TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep + }, + MovieSearchParams = new List + { + MovieSearchParam.Q + } }, configService: configService, client: wc, diff --git a/src/Jackett.Common/Indexers/TorrentSyndikat.cs b/src/Jackett.Common/Indexers/TorrentSyndikat.cs index 9eb101891..e86704873 100644 --- a/src/Jackett.Common/Indexers/TorrentSyndikat.cs +++ b/src/Jackett.Common/Indexers/TorrentSyndikat.cs @@ -37,7 +37,15 @@ namespace Jackett.Common.Indexers link: "https://torrent-syndikat.org/", caps: new TorznabCapabilities { - MovieSearchParams = new List { MovieSearchParam.Q, MovieSearchParam.ImdbId } + // TODO: add music and book search + TvSearchParams = new List + { + TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep + }, + MovieSearchParams = new List + { + MovieSearchParam.Q, MovieSearchParam.ImdbId + } }, configService: configService, client: w, diff --git a/src/Jackett.Common/Indexers/TorrentsCSV.cs b/src/Jackett.Common/Indexers/TorrentsCSV.cs index 3548d341f..dd8f06c5c 100644 --- a/src/Jackett.Common/Indexers/TorrentsCSV.cs +++ b/src/Jackett.Common/Indexers/TorrentsCSV.cs @@ -27,7 +27,17 @@ namespace Jackett.Common.Indexers name: "Torrents.csv", description: "Torrents.csv is a self-hostable, open source torrent search engine and database", link: "https://torrents-csv.ml/", - caps: new TorznabCapabilities(), + caps: new TorznabCapabilities + { + TvSearchParams = new List + { + TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep + }, + MovieSearchParams = new List + { + MovieSearchParam.Q + } + }, configService: configService, client: wc, logger: l, diff --git a/src/Jackett.Common/Indexers/XSpeeds.cs b/src/Jackett.Common/Indexers/XSpeeds.cs index 7906c2d53..c2fdb9641 100644 --- a/src/Jackett.Common/Indexers/XSpeeds.cs +++ b/src/Jackett.Common/Indexers/XSpeeds.cs @@ -36,8 +36,15 @@ namespace Jackett.Common.Indexers link: "https://www.xspeeds.eu/", caps: new TorznabCapabilities { - MovieSearchParams = new List { MovieSearchParam.Q, MovieSearchParam.ImdbId } - // SupportsImdbTVSearch = true (supported by the site but disabled due to #8107) + // TODO: add book search + TvSearchParams = new List + { + TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep, TvSearchParam.ImdbId + }, + MovieSearchParams = new List + { + MovieSearchParam.Q, MovieSearchParam.ImdbId + } }, configService: configService, client: wc, diff --git a/src/Jackett.Common/Indexers/Xthor.cs b/src/Jackett.Common/Indexers/Xthor.cs index ebd37c2ac..5cb81f5a9 100644 --- a/src/Jackett.Common/Indexers/Xthor.cs +++ b/src/Jackett.Common/Indexers/Xthor.cs @@ -47,7 +47,15 @@ namespace Jackett.Common.Indexers description: "General French Private Tracker", link: "https://xthor.tk/", caps: new TorznabCapabilities { - MovieSearchParams = new List { MovieSearchParam.Q } + // TODO: add music and book search + TvSearchParams = new List + { + TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep + }, + MovieSearchParams = new List + { + MovieSearchParam.Q + } }, configService: configService, client: w, diff --git a/src/Jackett.Common/Indexers/XtremeZone.cs b/src/Jackett.Common/Indexers/XtremeZone.cs index 14e0930bb..8a4dda5cc 100644 --- a/src/Jackett.Common/Indexers/XtremeZone.cs +++ b/src/Jackett.Common/Indexers/XtremeZone.cs @@ -24,8 +24,15 @@ namespace Jackett.Common.Indexers link: "https://myxz.eu/", caps: new TorznabCapabilities { - MovieSearchParams = new List { MovieSearchParam.Q, MovieSearchParam.ImdbId } - // SupportsImdbTVSearch = true (supported by the site but disabled due to #8107) + // TODO: add music and ebook search + TvSearchParams = new List + { + TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep, TvSearchParam.ImdbId + }, + MovieSearchParams = new List + { + MovieSearchParam.Q, MovieSearchParam.ImdbId + } }, configService: configService, client: wc, diff --git a/src/Jackett.Common/Models/TorznabCapabilities.cs b/src/Jackett.Common/Models/TorznabCapabilities.cs index 513c9f498..b5ef77b4b 100644 --- a/src/Jackett.Common/Models/TorznabCapabilities.cs +++ b/src/Jackett.Common/Models/TorznabCapabilities.cs @@ -5,6 +5,16 @@ using System.Xml.Linq; namespace Jackett.Common.Models { + public enum TvSearchParam + { + Q, + Season, + Ep, + ImdbId, + TvdbId, + RId, + } + public enum MovieSearchParam { Q, @@ -19,10 +29,14 @@ namespace Jackett.Common.Models public bool SearchAvailable { get; set; } - public bool TVSearchAvailable { get; set; } - public bool SupportsImdbTVSearch { get; set; } - public bool SupportsTvdbSearch { get; set; } - public bool SupportsTVRageSearch { get; set; } + public List TvSearchParams; + public bool TvSearchAvailable => (TvSearchParams.Count > 0); + public bool TvSearchSeasonAvailable => (TvSearchParams.Contains(TvSearchParam.Season)); + public bool TvSearchEpAvailable => (TvSearchParams.Contains(TvSearchParam.Ep)); + //TvSearchImdbAvailable temporarily disabled due to #8107 + public bool TvSearchImdbAvailable => false; // (TvSearchParams.Contains(TvSearchParam.ImdbId)); + public bool TvSearchTvdbAvailable => (TvSearchParams.Contains(TvSearchParam.TvdbId)); + public bool TvSearchTvRageAvailable => (TvSearchParams.Contains(TvSearchParam.RId)); public List MovieSearchParams; public bool MovieSearchAvailable => (MovieSearchParams.Count > 0); @@ -39,29 +53,25 @@ namespace Jackett.Common.Models public TorznabCapabilities() { SearchAvailable = true; - TVSearchAvailable = true; - SupportsImdbTVSearch = false; - SupportsTvdbSearch = false; - SupportsTVRageSearch = false; + TvSearchParams = new List(); MovieSearchParams = new List(); SupportedMusicSearchParamsList = new List(); BookSearchAvailable = false; Categories = new List(); } - private string SupportedTVSearchParams + public void ParseTvSearchParams(IEnumerable paramsList) { - get - { - var parameters = new List() { "q", "season", "ep" }; - if (SupportsImdbTVSearch) - parameters.Add("imdbid"); - if (SupportsTvdbSearch) - parameters.Add("tvdbid"); - if (SupportsTVRageSearch) - parameters.Add("rid"); - return string.Join(",", parameters); - } + if (paramsList == null) + return; + foreach (var paramStr in paramsList) + if (Enum.TryParse(paramStr, true, out TvSearchParam param)) + if (!TvSearchParams.Contains(param)) + TvSearchParams.Add(param); + else + throw new Exception($"Duplicate tv-search param: {paramStr}"); + else + throw new Exception($"Not supported tv-search param: {paramStr}"); } public void ParseMovieSearchParams(IEnumerable paramsList) @@ -78,10 +88,25 @@ namespace Jackett.Common.Models throw new Exception($"Not supported movie-search param: {paramStr}"); } + private string SupportedTvSearchParams() + { + var parameters = new List { "q" }; // q is always enabled + if (TvSearchSeasonAvailable) + parameters.Add("season"); + if (TvSearchEpAvailable) + parameters.Add("ep"); + if (TvSearchImdbAvailable) + parameters.Add("imdbid"); + if (TvSearchTvdbAvailable) + parameters.Add("tvdbid"); + if (TvSearchTvRageAvailable) + parameters.Add("rid"); + return string.Join(",", parameters); + } + private string SupportedMovieSearchParams() { - // TODO: always enable q? It can't be disabled - var parameters = new List { "q" }; + var parameters = new List { "q" }; // q is always enabled if (MovieSearchImdbAvailable) parameters.Add("imdbid"); if (MovieSearchTmdbAvailable) @@ -130,8 +155,8 @@ namespace Jackett.Common.Models new XAttribute("supportedParams", "q") ), new XElement("tv-search", - new XAttribute("available", TVSearchAvailable ? "yes" : "no"), - new XAttribute("supportedParams", SupportedTVSearchParams) + new XAttribute("available", TvSearchAvailable ? "yes" : "no"), + new XAttribute("supportedParams", SupportedTvSearchParams()) ), new XElement("movie-search", new XAttribute("available", MovieSearchAvailable ? "yes" : "no"), @@ -174,10 +199,7 @@ namespace Jackett.Common.Models public static TorznabCapabilities Concat(TorznabCapabilities lhs, TorznabCapabilities rhs) { lhs.SearchAvailable = lhs.SearchAvailable || rhs.SearchAvailable; - lhs.TVSearchAvailable = lhs.TVSearchAvailable || rhs.TVSearchAvailable; - lhs.SupportsImdbTVSearch = lhs.SupportsImdbTVSearch || rhs.SupportsImdbTVSearch; - lhs.SupportsTvdbSearch = lhs.SupportsTvdbSearch || rhs.SupportsTvdbSearch; - lhs.SupportsTVRageSearch = lhs.SupportsTVRageSearch || rhs.SupportsTVRageSearch; + lhs.TvSearchParams = lhs.TvSearchParams.Union(rhs.TvSearchParams).ToList(); lhs.MovieSearchParams = lhs.MovieSearchParams.Union(rhs.MovieSearchParams).ToList(); // TODO: add music search lhs.BookSearchAvailable = lhs.BookSearchAvailable || rhs.BookSearchAvailable; diff --git a/src/Jackett.Server/Controllers/ResultsController.cs b/src/Jackett.Server/Controllers/ResultsController.cs index f0efa8a40..fa381a6f1 100644 --- a/src/Jackett.Server/Controllers/ResultsController.cs +++ b/src/Jackett.Server/Controllers/ResultsController.cs @@ -358,7 +358,7 @@ namespace Jackett.Server.Controllers return GetErrorXML(203, "Function Not Available: imdbid is not supported for movie search by this indexer"); } - if (CurrentQuery.IsTVSearch && !CurrentIndexer.TorznabCaps.SupportsImdbTVSearch) + if (CurrentQuery.IsTVSearch && !CurrentIndexer.TorznabCaps.TvSearchImdbAvailable) { logger.Warn($"A search request with imdbid from {Request.HttpContext.Connection.RemoteIpAddress} was made but the indexer {CurrentIndexer.DisplayName} doesn't support it."); return GetErrorXML(203, "Function Not Available: imdbid is not supported for TV search by this indexer"); @@ -376,7 +376,7 @@ namespace Jackett.Server.Controllers if (CurrentQuery.TvdbID != null) { - if (CurrentQuery.IsTVSearch && !CurrentIndexer.TorznabCaps.SupportsTvdbSearch) + if (CurrentQuery.IsTVSearch && !CurrentIndexer.TorznabCaps.TvSearchAvailable) { logger.Warn($"A search request with tvdbid from {Request.HttpContext.Connection.RemoteIpAddress} was made but the indexer {CurrentIndexer.DisplayName} doesn't support it."); return GetErrorXML(203, "Function Not Available: tvdbid is not supported for movie search by this indexer"); diff --git a/src/Jackett.Test/Common/Models/TorznabCapabilitiesTests.cs b/src/Jackett.Test/Common/Models/TorznabCapabilitiesTests.cs index cae837150..2d63333dc 100644 --- a/src/Jackett.Test/Common/Models/TorznabCapabilitiesTests.cs +++ b/src/Jackett.Test/Common/Models/TorznabCapabilitiesTests.cs @@ -13,15 +13,17 @@ namespace Jackett.Test.Common.Models [Test] public void TestConstructors() { - // TODO: tv search should be disabled by default // TODO: initialize MusicSearchAvailable var torznabCaps = new TorznabCapabilities(); Assert.True(torznabCaps.SearchAvailable); - Assert.True(torznabCaps.TVSearchAvailable); - Assert.False(torznabCaps.SupportsImdbTVSearch); - Assert.False(torznabCaps.SupportsTvdbSearch); - Assert.False(torznabCaps.SupportsTVRageSearch); + Assert.IsEmpty(torznabCaps.TvSearchParams); + Assert.False(torznabCaps.TvSearchAvailable); + Assert.False(torznabCaps.TvSearchSeasonAvailable); + Assert.False(torznabCaps.TvSearchEpAvailable); + Assert.False(torznabCaps.TvSearchImdbAvailable); + Assert.False(torznabCaps.TvSearchTvdbAvailable); + Assert.False(torznabCaps.TvSearchTvRageAvailable); Assert.IsEmpty(torznabCaps.MovieSearchParams); Assert.False(torznabCaps.MovieSearchAvailable); @@ -87,15 +89,14 @@ namespace Jackett.Test.Common.Models // test all features disabled torznabCaps = new TorznabCapabilities { - SearchAvailable = false, - TVSearchAvailable = false + SearchAvailable = false }; xDocument = torznabCaps.GetXDocument(); var xDoumentSearching = xDocument.Root?.Element("searching"); Assert.AreEqual("no", xDoumentSearching?.Element("search")?.Attribute("available")?.Value); Assert.AreEqual("q", xDoumentSearching?.Element("search")?.Attribute("supportedParams")?.Value); Assert.AreEqual("no", xDoumentSearching?.Element("tv-search")?.Attribute("available")?.Value); - Assert.AreEqual("q,season,ep", xDoumentSearching?.Element("tv-search")?.Attribute("supportedParams")?.Value); + Assert.AreEqual("q", xDoumentSearching?.Element("tv-search")?.Attribute("supportedParams")?.Value); Assert.AreEqual("no", xDoumentSearching?.Element("movie-search")?.Attribute("available")?.Value); Assert.AreEqual("q", xDoumentSearching?.Element("movie-search")?.Attribute("supportedParams")?.Value); Assert.AreEqual("no", xDoumentSearching?.Element("music-search")?.Attribute("available")?.Value); @@ -111,11 +112,14 @@ namespace Jackett.Test.Common.Models torznabCaps = new TorznabCapabilities { SearchAvailable = true, - TVSearchAvailable = true, - SupportsImdbTVSearch = true, - SupportsTvdbSearch = true, - SupportsTVRageSearch = true, - MovieSearchParams = new List { MovieSearchParam.Q, MovieSearchParam.ImdbId, MovieSearchParam.TmdbId }, + TvSearchParams = new List + { + TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep, TvSearchParam.ImdbId, TvSearchParam.TvdbId, TvSearchParam.RId + }, + MovieSearchParams = new List + { + MovieSearchParam.Q, MovieSearchParam.ImdbId, MovieSearchParam.TmdbId + }, SupportedMusicSearchParamsList = new List{"q", "album", "artist", "label", "year"}, BookSearchAvailable = true }; @@ -124,7 +128,7 @@ namespace Jackett.Test.Common.Models Assert.AreEqual("yes", xDoumentSearching?.Element("search")?.Attribute("available")?.Value); Assert.AreEqual("q", xDoumentSearching?.Element("search")?.Attribute("supportedParams")?.Value); Assert.AreEqual("yes", xDoumentSearching?.Element("tv-search")?.Attribute("available")?.Value); - Assert.AreEqual("q,season,ep,imdbid,tvdbid,rid", xDoumentSearching?.Element("tv-search")?.Attribute("supportedParams")?.Value); + Assert.AreEqual("q,season,ep,tvdbid,rid", xDoumentSearching?.Element("tv-search")?.Attribute("supportedParams")?.Value); Assert.AreEqual("yes", xDoumentSearching?.Element("movie-search")?.Attribute("available")?.Value); Assert.AreEqual("q,imdbid,tmdbid", xDoumentSearching?.Element("movie-search")?.Attribute("supportedParams")?.Value); Assert.AreEqual("yes", xDoumentSearching?.Element("music-search")?.Attribute("available")?.Value); diff --git a/src/Jackett.Test/Torznab/TorznabTests.cs b/src/Jackett.Test/Torznab/TorznabTests.cs index efeac8a47..d71ff1819 100644 --- a/src/Jackett.Test/Torznab/TorznabTests.cs +++ b/src/Jackett.Test/Torznab/TorznabTests.cs @@ -37,15 +37,14 @@ namespace Jackett.Test.Torznab [Test] public void TestCSharpTorznabCategories() { - // TODO: make sure TVSearchAvailable is false by default - // by default all indexers have 0 categories - Assert.AreEqual(0, TorznabCaps.Categories.Count); - Assert.True(TorznabCaps.SearchAvailable); - Assert.True(TorznabCaps.TVSearchAvailable); - Assert.False(TorznabCaps.SupportsImdbTVSearch); - Assert.False(TorznabCaps.SupportsTvdbSearch); - Assert.False(TorznabCaps.SupportsTVRageSearch); + Assert.IsEmpty(TorznabCaps.TvSearchParams); + Assert.False(TorznabCaps.TvSearchAvailable); + Assert.False(TorznabCaps.TvSearchSeasonAvailable); + Assert.False(TorznabCaps.TvSearchEpAvailable); + Assert.False(TorznabCaps.TvSearchImdbAvailable); + Assert.False(TorznabCaps.TvSearchTvdbAvailable); + Assert.False(TorznabCaps.TvSearchTvRageAvailable); Assert.IsEmpty(TorznabCaps.MovieSearchParams); Assert.False(TorznabCaps.MovieSearchAvailable); Assert.False(TorznabCaps.MovieSearchImdbAvailable); @@ -53,6 +52,7 @@ namespace Jackett.Test.Torznab Assert.IsEmpty(TorznabCaps.SupportedMusicSearchParamsList); Assert.False(TorznabCaps.MusicSearchAvailable); Assert.False(TorznabCaps.BookSearchAvailable); + Assert.AreEqual(0, TorznabCaps.Categories.Count); // add "int" category (parent category) AddCategoryMapping(1, TorznabCatType.Movies); @@ -249,15 +249,14 @@ namespace Jackett.Test.Torznab }; var indexer = new CardigannIndexer(null, null, null, null, definition); - // by default all indexers have 0 categories - Assert.AreEqual(0, indexer.TorznabCaps.Categories.Count); - - // TODO: make sure TVSearchAvailable is false by default Assert.True(indexer.TorznabCaps.SearchAvailable); - Assert.True(indexer.TorznabCaps.TVSearchAvailable); - Assert.False(indexer.TorznabCaps.SupportsImdbTVSearch); - Assert.False(indexer.TorznabCaps.SupportsTvdbSearch); - Assert.False(indexer.TorznabCaps.SupportsTVRageSearch); + Assert.IsEmpty(indexer.TorznabCaps.TvSearchParams); + Assert.False(indexer.TorznabCaps.TvSearchAvailable); + Assert.False(indexer.TorznabCaps.TvSearchSeasonAvailable); + Assert.False(indexer.TorznabCaps.TvSearchEpAvailable); + Assert.False(indexer.TorznabCaps.TvSearchImdbAvailable); + Assert.False(indexer.TorznabCaps.TvSearchTvdbAvailable); + Assert.False(indexer.TorznabCaps.TvSearchTvRageAvailable); Assert.IsEmpty(indexer.TorznabCaps.MovieSearchParams); Assert.False(indexer.TorznabCaps.MovieSearchAvailable); Assert.False(indexer.TorznabCaps.MovieSearchImdbAvailable); @@ -265,6 +264,7 @@ namespace Jackett.Test.Torznab Assert.IsEmpty(indexer.TorznabCaps.SupportedMusicSearchParamsList); Assert.False(indexer.TorznabCaps.MusicSearchAvailable); Assert.False(indexer.TorznabCaps.BookSearchAvailable); + Assert.AreEqual(0, indexer.TorznabCaps.Categories.Count); definition = new IndexerDefinition // test categories (same as in C# indexer) { @@ -323,7 +323,7 @@ namespace Jackett.Test.Torznab Modes = new Dictionary> { {"search", new List{ "q" }}, - {"tv-search", new List{ "q", "season", "ep", "rid", "tvdbid", "imdbid" }}, + {"tv-search", new List{ "q", "season", "ep", "imdbid", "tvdbid", "rid" }}, {"movie-search", new List{ "q", "imdbid", "tmdbid" }}, {"music-search", new List{ "q", "album", "artist", "label", "year" }}, {"book-search", new List{ "q", "author", "title" }} @@ -335,12 +335,11 @@ namespace Jackett.Test.Torznab indexer = new CardigannIndexer(null, null, null, null, definition); Assert.True(indexer.TorznabCaps.SearchAvailable); - Assert.True(indexer.TorznabCaps.TVSearchAvailable); - // TODO: SupportsImdbTVSearch is disabled in Jackett.Common\Indexers\CardigannIndexer.cs : 114 - Assert.False(indexer.TorznabCaps.SupportsImdbTVSearch); - Assert.True(indexer.TorznabCaps.SupportsTvdbSearch); - // TODO: TVRage search is not implemented in Cardigann - Assert.False(indexer.TorznabCaps.SupportsTVRageSearch); + Assert.True(indexer.TorznabCaps.TvSearchAvailable); + // TODO: SupportsImdbTVSearch is disabled in Jackett.Common.Models.TorznabCapabilities.TvSearchImdbAvailable + Assert.False(indexer.TorznabCaps.TvSearchImdbAvailable); + Assert.True(indexer.TorznabCaps.TvSearchTvdbAvailable); + Assert.True(indexer.TorznabCaps.TvSearchTvRageAvailable); Assert.AreEqual( new List { MovieSearchParam.Q, MovieSearchParam.ImdbId, MovieSearchParam.TmdbId }, indexer.TorznabCaps.MovieSearchParams