2021-01-17 20:12:54 +00:00
using System.Collections.Generic ;
using System.Diagnostics.CodeAnalysis ;
using Jackett.Common.Indexers.Abstract ;
using Jackett.Common.Models ;
using Jackett.Common.Services.Interfaces ;
using NLog ;
2024-03-03 17:04:20 +00:00
using static Jackett . Common . Models . IndexerConfig . ConfigurationData ;
2021-01-17 20:12:54 +00:00
using WebClient = Jackett . Common . Utils . Clients . WebClient ;
namespace Jackett.Common.Indexers
{
[ExcludeFromCodeCoverage]
public class RetroFlix : SpeedAppTracker
{
2023-03-09 14:06:12 +00:00
public override string Id = > "retroflix" ;
public override string Name = > "RetroFlix" ;
public override string Description = > "Private Torrent Tracker for Classic Movies / TV / General Releases" ;
public override string SiteLink { get ; protected set ; } = "https://retroflix.club/" ;
public override string [ ] LegacySiteLinks = > new [ ]
{
2021-01-17 20:12:54 +00:00
"https://retroflix.net/"
} ;
2023-03-09 14:06:12 +00:00
public override string Language = > "en-US" ;
public override string Type = > "private" ;
2023-03-10 11:20:29 +00:00
public override TorznabCapabilities TorznabCaps = > SetCapabilities ( ) ;
2023-11-16 22:09:09 +00:00
protected override int MinimumSeedTime = > 432000 ; // 120h
2021-01-17 20:12:54 +00:00
public RetroFlix ( IIndexerConfigurationService configService , WebClient wc , Logger l , IProtectionService ps ,
ICacheService cs )
2023-03-10 11:20:29 +00:00
: base ( configService : configService ,
client : wc ,
logger : l ,
p : ps ,
cs : cs )
2021-01-17 20:12:54 +00:00
{
// requestDelay for API Limit (1 request per 2 seconds)
webclient . requestDelay = 2.1 ;
2024-03-03 17:04:20 +00:00
configData . AddDynamic ( "Account Inactivity" , new DisplayInfoConfigurationItem ( "Account Inactivity" , "Any account not logged into after 150 days will be deleted. Parked accounts will be deleted after 150 days of inactivity." ) ) ;
2023-03-10 11:20:29 +00:00
}
private TorznabCapabilities SetCapabilities ( )
{
var 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
} ,
BookSearchParams = new List < BookSearchParam >
{
BookSearchParam . Q
}
} ;
caps . Categories . AddCategoryMapping ( 401 , TorznabCatType . Movies , "Movies" ) ;
caps . Categories . AddCategoryMapping ( 402 , TorznabCatType . TV , "TV Series" ) ;
caps . Categories . AddCategoryMapping ( 406 , TorznabCatType . AudioVideo , "Music Videos" ) ;
caps . Categories . AddCategoryMapping ( 407 , TorznabCatType . TVSport , "Sports" ) ;
caps . Categories . AddCategoryMapping ( 409 , TorznabCatType . Books , "Books" ) ;
caps . Categories . AddCategoryMapping ( 408 , TorznabCatType . Audio , "HQ Audio" ) ;
2021-05-16 18:13:54 +00:00
2023-03-10 11:20:29 +00:00
return caps ;
2021-01-17 20:12:54 +00:00
}
}
}