diff --git a/src/NzbDrone.Core.Test/IndexerTests/FileListTests/FileListRequestGeneratorFixture.cs b/src/NzbDrone.Core.Test/IndexerTests/FileListTests/FileListRequestGeneratorFixture.cs index 19016cf57..1b8e30c25 100644 --- a/src/NzbDrone.Core.Test/IndexerTests/FileListTests/FileListRequestGeneratorFixture.cs +++ b/src/NzbDrone.Core.Test/IndexerTests/FileListTests/FileListRequestGeneratorFixture.cs @@ -26,6 +26,8 @@ namespace NzbDrone.Core.Test.IndexerTests.FileListTests SearchTerm = "Star Wars", Categories = new int[] { 2000 } }; + + Subject.BaseUrl = "https://filelist.io"; } private void MovieWithoutIMDB() diff --git a/src/NzbDrone.Core/Indexers/Definitions/NotWhatCD.cs b/src/NzbDrone.Core/Indexers/Definitions/NotWhatCD.cs new file mode 100644 index 000000000..2c31c8291 --- /dev/null +++ b/src/NzbDrone.Core/Indexers/Definitions/NotWhatCD.cs @@ -0,0 +1,52 @@ +using System.Collections.Generic; +using NLog; +using NzbDrone.Common.Http; +using NzbDrone.Core.Configuration; + +namespace NzbDrone.Core.Indexers.Definitions +{ + public class NotWhatCD : Gazelle.Gazelle + { + public override string Name => "notwhat.cd"; + public override string BaseUrl => "https://notwhat.cd/"; + public override IndexerPrivacy Privacy => IndexerPrivacy.Private; + + public NotWhatCD(IHttpClient httpClient, IIndexerStatusService indexerStatusService, IConfigService configService, Logger logger) + : base(httpClient, indexerStatusService, configService, logger) + { + } + + protected override IndexerCapabilities SetCapabilities() + { + var caps = new IndexerCapabilities + { + TvSearchParams = new List + { + TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep + }, + MovieSearchParams = new List + { + MovieSearchParam.Q + }, + MusicSearchParams = new List + { + MusicSearchParam.Q, MusicSearchParam.Album, MusicSearchParam.Artist, MusicSearchParam.Label, MusicSearchParam.Year + }, + BookSearchParams = new List + { + BookSearchParam.Q + } + }; + + caps.Categories.AddCategoryMapping(1, NewznabStandardCategory.Audio, "Music"); + caps.Categories.AddCategoryMapping(2, NewznabStandardCategory.PC, "Applications"); + caps.Categories.AddCategoryMapping(3, NewznabStandardCategory.Books, "E-Books"); + caps.Categories.AddCategoryMapping(4, NewznabStandardCategory.AudioAudiobook, "Audiobooks"); + caps.Categories.AddCategoryMapping(5, NewznabStandardCategory.Movies, "E-Learning Videos"); + caps.Categories.AddCategoryMapping(6, NewznabStandardCategory.TV, "Comedy"); + caps.Categories.AddCategoryMapping(7, NewznabStandardCategory.Books, "Comics"); + + return caps; + } + } +} diff --git a/src/NzbDrone.Core/Indexers/Definitions/Orpheus.cs b/src/NzbDrone.Core/Indexers/Definitions/Orpheus.cs new file mode 100644 index 000000000..a504002bb --- /dev/null +++ b/src/NzbDrone.Core/Indexers/Definitions/Orpheus.cs @@ -0,0 +1,52 @@ +using System.Collections.Generic; +using NLog; +using NzbDrone.Common.Http; +using NzbDrone.Core.Configuration; + +namespace NzbDrone.Core.Indexers.Definitions +{ + public class Orpheus : Gazelle.Gazelle + { + public override string Name => "Orpheus"; + public override string BaseUrl => "https://orpheus.network/"; + public override IndexerPrivacy Privacy => IndexerPrivacy.Private; + + public Orpheus(IHttpClient httpClient, IIndexerStatusService indexerStatusService, IConfigService configService, Logger logger) + : base(httpClient, indexerStatusService, configService, logger) + { + } + + protected override IndexerCapabilities SetCapabilities() + { + var caps = new IndexerCapabilities + { + TvSearchParams = new List + { + TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep + }, + MovieSearchParams = new List + { + MovieSearchParam.Q + }, + MusicSearchParams = new List + { + MusicSearchParam.Q, MusicSearchParam.Album, MusicSearchParam.Artist, MusicSearchParam.Label, MusicSearchParam.Year + }, + BookSearchParams = new List + { + BookSearchParam.Q + } + }; + + caps.Categories.AddCategoryMapping(1, NewznabStandardCategory.Audio, "Music"); + caps.Categories.AddCategoryMapping(2, NewznabStandardCategory.PC, "Applications"); + caps.Categories.AddCategoryMapping(3, NewznabStandardCategory.Books, "E-Books"); + caps.Categories.AddCategoryMapping(4, NewznabStandardCategory.AudioAudiobook, "Audiobooks"); + caps.Categories.AddCategoryMapping(5, NewznabStandardCategory.Movies, "E-Learning Videos"); + caps.Categories.AddCategoryMapping(6, NewznabStandardCategory.TV, "Comedy"); + caps.Categories.AddCategoryMapping(7, NewznabStandardCategory.Books, "Comics"); + + return caps; + } + } +}