mirror of
https://github.com/Jackett/Jackett.git
synced 2025-09-17 17:34:09 +02:00

In simple words, when you make a request in Jackett, the results are saved in memory (cache). The next request will return results form the cache improving response time and making fewer requests to the sites. * We assume all indexers/sites are stateless, the same request return the same response. If you change the search term, categories or something in the query Jackett has to make a live request to the indexer. * There are some situations when we don't want to use the cache: ** When we are testing the indexers => if query.IsTest results are not cached ** When the user updates the configuration of one indexer => We call CleanIndexerCache to remove cached results before testing the configuration ** When there is some error/exception in the indexer => The results are not cached so we can retry in the next request * We want to limit the memory usage, so we try to remove elements from cache ASAP: ** Each indexer can have a maximum number of results in memory. If the limit is exceeded we remove old results ** Cached results expire after some time * Users can configure the cache or even disable it
54 lines
2.1 KiB
C#
54 lines
2.1 KiB
C#
using System.Collections.Generic;
|
|
using System.Diagnostics.CodeAnalysis;
|
|
using Jackett.Common.Indexers.Abstract;
|
|
using Jackett.Common.Models;
|
|
using Jackett.Common.Services.Interfaces;
|
|
using Jackett.Common.Utils.Clients;
|
|
using NLog;
|
|
|
|
namespace Jackett.Common.Indexers
|
|
{
|
|
[ExcludeFromCodeCoverage]
|
|
public class PrivateHD : AvistazTracker
|
|
{
|
|
public PrivateHD(IIndexerConfigurationService configService, WebClient wc, Logger l, IProtectionService ps,
|
|
ICacheService cs)
|
|
: base(id: "privatehd",
|
|
name: "PrivateHD",
|
|
description: "BitTorrent site for High Quality, High Definition (HD) movies and TV Shows",
|
|
link: "https://privatehd.to/",
|
|
caps: new TorznabCapabilities
|
|
{
|
|
TvSearchParams = new List<TvSearchParam>
|
|
{
|
|
TvSearchParam.Q, TvSearchParam.Season, TvSearchParam.Ep, TvSearchParam.ImdbId
|
|
},
|
|
MovieSearchParams = new List<MovieSearchParam>
|
|
{
|
|
MovieSearchParam.Q, MovieSearchParam.ImdbId
|
|
},
|
|
MusicSearchParams = new List<MusicSearchParam>
|
|
{
|
|
MusicSearchParam.Q
|
|
}
|
|
},
|
|
configService: configService,
|
|
client: wc,
|
|
logger: l,
|
|
p: ps,
|
|
cs: cs
|
|
)
|
|
{
|
|
AddCategoryMapping(1, TorznabCatType.Movies);
|
|
AddCategoryMapping(1, TorznabCatType.MoviesUHD);
|
|
AddCategoryMapping(1, TorznabCatType.MoviesHD);
|
|
AddCategoryMapping(1, TorznabCatType.MoviesSD);
|
|
AddCategoryMapping(2, TorznabCatType.TV);
|
|
AddCategoryMapping(2, TorznabCatType.TVUHD);
|
|
AddCategoryMapping(2, TorznabCatType.TVHD);
|
|
AddCategoryMapping(2, TorznabCatType.TVSD);
|
|
AddCategoryMapping(3, TorznabCatType.Audio);
|
|
}
|
|
}
|
|
}
|