core: disable tv-search by default (#9893)

* Disable tv-search in music trackers
* Add TVRage search in Cardigann
This commit is contained in:
Diego Heras
2020-10-18 22:47:36 +02:00
committed by GitHub
parent a8933a3844
commit 56a260f0d7
106 changed files with 882 additions and 217 deletions

View File

@@ -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> { MovieSearchParam.Q, MovieSearchParam.ImdbId, MovieSearchParam.TmdbId },
TvSearchParams = new List<TvSearchParam>
{
TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep, TvSearchParam.ImdbId, TvSearchParam.TvdbId, TvSearchParam.RId
},
MovieSearchParams = new List<MovieSearchParam>
{
MovieSearchParam.Q, MovieSearchParam.ImdbId, MovieSearchParam.TmdbId
},
SupportedMusicSearchParamsList = new List<string>{"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);

View File

@@ -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<string, List<string>>
{
{"search", new List<string>{ "q" }},
{"tv-search", new List<string>{ "q", "season", "ep", "rid", "tvdbid", "imdbid" }},
{"tv-search", new List<string>{ "q", "season", "ep", "imdbid", "tvdbid", "rid" }},
{"movie-search", new List<string>{ "q", "imdbid", "tmdbid" }},
{"music-search", new List<string>{ "q", "album", "artist", "label", "year" }},
{"book-search", new List<string>{ "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> { MovieSearchParam.Q, MovieSearchParam.ImdbId, MovieSearchParam.TmdbId },
indexer.TorznabCaps.MovieSearchParams