mirror of https://github.com/Jackett/Jackett
80 lines
3.0 KiB
C#
80 lines
3.0 KiB
C#
|
using System.Collections.Generic;
|
||
|
using System.Diagnostics.CodeAnalysis;
|
||
|
using System.Linq;
|
||
|
using System.Threading.Tasks;
|
||
|
using Jackett.Common.Indexers.Abstract;
|
||
|
using Jackett.Common.Models;
|
||
|
using Jackett.Common.Services.Interfaces;
|
||
|
using Newtonsoft.Json.Linq;
|
||
|
using NLog;
|
||
|
using WebClient = Jackett.Common.Utils.Clients.WebClient;
|
||
|
|
||
|
namespace Jackett.Common.Indexers
|
||
|
{
|
||
|
[ExcludeFromCodeCoverage]
|
||
|
public class OppaiTime : GazelleTracker
|
||
|
{
|
||
|
public OppaiTime(IIndexerConfigurationService configService, WebClient wc, Logger l, IProtectionService ps,
|
||
|
ICacheService cs)
|
||
|
: base(id: "oppaitime",
|
||
|
name: "OppaiTime",
|
||
|
description: "A porn tracker",
|
||
|
link: "https://oppaiti.me/",
|
||
|
caps: new TorznabCapabilities
|
||
|
{
|
||
|
TvSearchParams = new List<TvSearchParam>
|
||
|
{
|
||
|
TvSearchParam.Q
|
||
|
},
|
||
|
MovieSearchParams = new List<MovieSearchParam>
|
||
|
{
|
||
|
MovieSearchParam.Q
|
||
|
},
|
||
|
MusicSearchParams = new List<MusicSearchParam>
|
||
|
{
|
||
|
MusicSearchParam.Q, MusicSearchParam.Artist
|
||
|
},
|
||
|
BookSearchParams = new List<BookSearchParam>
|
||
|
{
|
||
|
BookSearchParam.Q
|
||
|
}
|
||
|
},
|
||
|
configService: configService,
|
||
|
client: wc,
|
||
|
logger: l,
|
||
|
p: ps,
|
||
|
cs: cs,
|
||
|
supportsFreeleechTokens: true,
|
||
|
has2Fa: false,
|
||
|
useApiKey: false
|
||
|
)
|
||
|
{
|
||
|
Language = "en-us";
|
||
|
Type = "private";
|
||
|
|
||
|
AddCategoryMapping(1, TorznabCatType.Movies, "Movies");
|
||
|
AddCategoryMapping(2, TorznabCatType.TVAnime, "Anime");
|
||
|
AddCategoryMapping(3, TorznabCatType.Books, "Manga");
|
||
|
AddCategoryMapping(4, TorznabCatType.Console, "Games");
|
||
|
AddCategoryMapping(5, TorznabCatType.Audio, "Audio");
|
||
|
AddCategoryMapping(6, TorznabCatType.Other, "Other");
|
||
|
}
|
||
|
|
||
|
protected override async Task<IEnumerable<ReleaseInfo>> PerformQuery(TorznabQuery query)
|
||
|
{
|
||
|
var releases = await base.PerformQuery(query);
|
||
|
var releaseInfos = releases.ToList();
|
||
|
if (query.Categories.Length <= 0)
|
||
|
return releaseInfos;
|
||
|
var categories = TorznabCaps.Categories.ExpandTorznabQueryCategories(query);
|
||
|
|
||
|
// Oppaitime does not provide category information, resulting in all results being filtered.
|
||
|
// This implementation ensures that results never gets filtered
|
||
|
foreach (var release in releaseInfos)
|
||
|
release.Category = categories;
|
||
|
return releaseInfos;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|