mirror of
https://github.com/Radarr/Radarr.git
synced 2026-04-14 20:55:01 -04:00
Compare commits
4 Commits
v5.19.2.97
...
v5.19.3.97
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
36c66deb4b | ||
|
|
edec432244 | ||
|
|
554e15d438 | ||
|
|
553645a07c |
@@ -9,7 +9,7 @@ variables:
|
||||
testsFolder: './_tests'
|
||||
yarnCacheFolder: $(Pipeline.Workspace)/.yarn
|
||||
nugetCacheFolder: $(Pipeline.Workspace)/.nuget/packages
|
||||
majorVersion: '5.19.2'
|
||||
majorVersion: '5.19.3'
|
||||
minorVersion: $[counter('minorVersion', 2000)]
|
||||
radarrVersion: '$(majorVersion).$(minorVersion)'
|
||||
buildName: '$(Build.SourceBranchName).$(radarrVersion)'
|
||||
|
||||
@@ -14,6 +14,7 @@ using NzbDrone.Core.Localization;
|
||||
using NzbDrone.Core.MediaFiles.TorrentInfo;
|
||||
using NzbDrone.Core.Parser.Model;
|
||||
using NzbDrone.Core.RemotePathMappings;
|
||||
using NzbDrone.Core.ThingiProvider;
|
||||
using NzbDrone.Core.Validation;
|
||||
|
||||
namespace NzbDrone.Core.Download.Clients.UTorrent
|
||||
@@ -104,6 +105,8 @@ namespace NzbDrone.Core.Download.Clients.UTorrent
|
||||
|
||||
public override string Name => "uTorrent";
|
||||
|
||||
public override ProviderMessage Message => new (_localizationService.GetLocalizedString("DownloadClientUTorrentProviderMessage"), ProviderMessageType.Warning);
|
||||
|
||||
public override IEnumerable<DownloadClientItem> GetItems()
|
||||
{
|
||||
var torrents = GetTorrents();
|
||||
|
||||
@@ -25,10 +25,7 @@ namespace NzbDrone.Core.ImportLists.Trakt.User
|
||||
|
||||
public override IImportListRequestGenerator GetRequestGenerator()
|
||||
{
|
||||
return new TraktUserRequestGenerator(_traktProxy)
|
||||
{
|
||||
Settings = Settings
|
||||
};
|
||||
return new TraktUserRequestGenerator(_traktProxy, Settings);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
using System.Runtime.Serialization;
|
||||
using NzbDrone.Core.Annotations;
|
||||
|
||||
namespace NzbDrone.Core.ImportLists.Trakt.User
|
||||
{
|
||||
public enum TraktUserListType
|
||||
{
|
||||
[EnumMember(Value = "User Watch List")]
|
||||
[FieldOption(Label = "ImportListsTraktSettingsUserListTypeWatch")]
|
||||
UserWatchList = 0,
|
||||
[EnumMember(Value = "User Watched List")]
|
||||
[FieldOption(Label = "ImportListsTraktSettingsUserListTypeWatched")]
|
||||
UserWatchedList = 1,
|
||||
[EnumMember(Value = "User Collection List")]
|
||||
[FieldOption(Label = "ImportListsTraktSettingsUserListTypeCollection")]
|
||||
UserCollectionList = 2
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Net.Http;
|
||||
using NzbDrone.Common.Extensions;
|
||||
using NzbDrone.Common.Http;
|
||||
using NzbDrone.Core.Notifications.Trakt;
|
||||
|
||||
namespace NzbDrone.Core.ImportLists.Trakt.User
|
||||
@@ -8,11 +8,12 @@ namespace NzbDrone.Core.ImportLists.Trakt.User
|
||||
public class TraktUserRequestGenerator : IImportListRequestGenerator
|
||||
{
|
||||
private readonly ITraktProxy _traktProxy;
|
||||
public TraktUserSettings Settings { get; set; }
|
||||
private readonly TraktUserSettings _settings;
|
||||
|
||||
public TraktUserRequestGenerator(ITraktProxy traktProxy)
|
||||
public TraktUserRequestGenerator(ITraktProxy traktProxy, TraktUserSettings settings)
|
||||
{
|
||||
_traktProxy = traktProxy;
|
||||
_settings = settings;
|
||||
}
|
||||
|
||||
public virtual ImportListPageableRequestChain GetMovies()
|
||||
@@ -26,25 +27,39 @@ namespace NzbDrone.Core.ImportLists.Trakt.User
|
||||
|
||||
private IEnumerable<ImportListRequest> GetMoviesRequest()
|
||||
{
|
||||
var link = string.Empty;
|
||||
var userName = Settings.Username.IsNotNullOrWhiteSpace() ? Settings.Username.Trim() : Settings.AuthUser.Trim();
|
||||
var requestBuilder = new HttpRequestBuilder(_settings.Link.Trim());
|
||||
|
||||
switch (Settings.TraktListType)
|
||||
switch (_settings.TraktListType)
|
||||
{
|
||||
case (int)TraktUserListType.UserWatchList:
|
||||
link += $"users/{userName}/watchlist/movies?limit={Settings.Limit}";
|
||||
var watchSorting = _settings.TraktWatchSorting switch
|
||||
{
|
||||
(int)TraktUserWatchSorting.Added => "added",
|
||||
(int)TraktUserWatchSorting.Title => "title",
|
||||
(int)TraktUserWatchSorting.Released => "released",
|
||||
_ => "rank"
|
||||
};
|
||||
|
||||
requestBuilder
|
||||
.Resource("/users/{userName}/watchlist/movies/{sorting}")
|
||||
.SetSegment("sorting", watchSorting);
|
||||
break;
|
||||
case (int)TraktUserListType.UserWatchedList:
|
||||
link += $"users/{userName}/watched/movies?limit={Settings.Limit}";
|
||||
requestBuilder.Resource("/users/{userName}/watched/movies");
|
||||
break;
|
||||
case (int)TraktUserListType.UserCollectionList:
|
||||
link += $"users/{userName}/collection/movies?limit={Settings.Limit}";
|
||||
requestBuilder.Resource("/users/{userName}/collection/movies");
|
||||
break;
|
||||
}
|
||||
|
||||
var request = new ImportListRequest(_traktProxy.BuildRequest(link, HttpMethod.Get, Settings.AccessToken));
|
||||
var userName = _settings.Username.IsNotNullOrWhiteSpace() ? _settings.Username.Trim() : _settings.AuthUser.Trim();
|
||||
|
||||
yield return request;
|
||||
requestBuilder
|
||||
.SetSegment("userName", userName)
|
||||
.WithRateLimit(4)
|
||||
.AddQueryParam("limit", _settings.Limit.ToString());
|
||||
|
||||
yield return new ImportListRequest(_traktProxy.BuildRequest(requestBuilder.Build(), _settings.AccessToken));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -20,12 +20,16 @@ namespace NzbDrone.Core.ImportLists.Trakt.User
|
||||
public TraktUserSettings()
|
||||
{
|
||||
TraktListType = (int)TraktUserListType.UserWatchList;
|
||||
TraktWatchSorting = (int)TraktUserWatchSorting.Rank;
|
||||
}
|
||||
|
||||
[FieldDefinition(1, Label = "List Type", Type = FieldType.Select, SelectOptions = typeof(TraktUserListType), HelpText = "Type of list you're seeking to import from")]
|
||||
[FieldDefinition(1, Label = "List Type", Type = FieldType.Select, SelectOptions = typeof(TraktUserListType), HelpText = "ImportListsTraktSettingsListTypeHelpText")]
|
||||
public int TraktListType { get; set; }
|
||||
|
||||
[FieldDefinition(2, Label = "Username", HelpText = "Username for the List to import from (empty to use Auth User)")]
|
||||
[FieldDefinition(2, Label = "ImportListsTraktSettingsWatchListSorting", Type = FieldType.Select, SelectOptions = typeof(TraktUserWatchSorting), HelpText = "ImportListsTraktSettingsWatchListSortingHelpText")]
|
||||
public int TraktWatchSorting { get; set; }
|
||||
|
||||
[FieldDefinition(3, Label = "Username", HelpText = "ImportListsTraktSettingsUserListUsernameHelpText")]
|
||||
public string Username { get; set; }
|
||||
|
||||
public override NzbDroneValidationResult Validate()
|
||||
@@ -33,4 +37,12 @@ namespace NzbDrone.Core.ImportLists.Trakt.User
|
||||
return new NzbDroneValidationResult(Validator.Validate(this));
|
||||
}
|
||||
}
|
||||
|
||||
public enum TraktUserWatchSorting
|
||||
{
|
||||
Rank = 0,
|
||||
Added = 1,
|
||||
Title = 2,
|
||||
Released = 3
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1299,5 +1299,12 @@
|
||||
"ImportListsTraktSettingsAdditionalParameters": "Dodatečné parametry",
|
||||
"ImportListsTraktSettingsRating": "Hodnocení",
|
||||
"ImportListsTraktSettingsCertification": "Osvědčení",
|
||||
"ImportListsTraktSettingsGenres": "Žánry"
|
||||
"ImportListsTraktSettingsGenres": "Žánry",
|
||||
"DownloadClientDelugeValidationLabelPluginInactive": "Plugin pro štítky není aktivován",
|
||||
"DownloadClientDelugeTorrentStateError": "Deluge hlásí chybu",
|
||||
"DownloadClientDelugeSettingsDirectoryCompleted": "Adresář kam přesunout po dokončení",
|
||||
"DownloadClientDelugeSettingsDirectoryHelpText": "Nepovinné - umístění stahovaných souborů, pokud ponecháte prázné, použije se výchozí umístění Deluge",
|
||||
"DownloadClientDelugeSettingsDirectoryCompletedHelpText": "Nepovinné - umístění kam přesunout dokončená stahování, pokud ponecháte prázné, použije se výchozí umístění Deluge",
|
||||
"DownloadClientDelugeValidationLabelPluginInactiveDetail": "Pro použití kategorií je nutné mít v {clientName} aktivovaný plugin pro štítky.",
|
||||
"DownloadClientDownloadStationProviderMessage": "Pokud je ve vašem účtu DSM zapnuto dvoufázové ověření, {appName} se nebude moci připojit k Download station"
|
||||
}
|
||||
|
||||
@@ -1903,5 +1903,10 @@
|
||||
"ImportListsTraktSettingsYears": "Jahre",
|
||||
"ImportListsTraktSettingsAuthenticateWithTrakt": "Mit Trakt authentifizieren",
|
||||
"ImportListsTraktSettingsCertification": "Zertifizierung",
|
||||
"ImportListsTraktSettingsLimit": "Limit"
|
||||
"ImportListsTraktSettingsLimit": "Limit",
|
||||
"ImportListsTraktSettingsUserListTypeCollection": "Benutzer-Sammlungs-Liste",
|
||||
"ImportListsTraktSettingsUserListTypeWatch": "Benutzer-Watch-Liste",
|
||||
"ImportListsTraktSettingsUserListTypeWatched": "Benutzer-Gesehene-Liste",
|
||||
"ImportListsTraktSettingsWatchListSorting": "Sortierung der Gesehenen Liste",
|
||||
"ImportListsTraktSettingsUserListUsernameHelpText": "Benutzername für die Liste, von der du importieren möchtest (leer lassen, um den Authentifizierten Benutzer zu verwenden)"
|
||||
}
|
||||
|
||||
@@ -537,6 +537,7 @@
|
||||
"DownloadClientStatusCheckSingleClientMessage": "Download clients unavailable due to failures: {downloadClientNames}",
|
||||
"DownloadClientTransmissionSettingsDirectoryHelpText": "Optional location to put downloads in, leave blank to use the default Transmission location",
|
||||
"DownloadClientTransmissionSettingsUrlBaseHelpText": "Adds a prefix to the {clientName} rpc url, eg {url}, defaults to '{defaultUrl}'",
|
||||
"DownloadClientUTorrentProviderMessage": "Because uTorrent is known for cryptoware, malware and ads we'd suggest switching to a better client like qBittorrent, Deluge or ruTorrent.",
|
||||
"DownloadClientUTorrentTorrentStateError": "uTorrent is reporting an error",
|
||||
"DownloadClientUnavailable": "Download Client Unavailable",
|
||||
"DownloadClientValidationApiKeyIncorrect": "API Key Incorrect",
|
||||
@@ -792,6 +793,12 @@
|
||||
"ImportListsTraktSettingsPopularListTypeTrendingMovies": "Trending Movies",
|
||||
"ImportListsTraktSettingsRating": "Rating",
|
||||
"ImportListsTraktSettingsRatingMovieHelpText": "Filter movies by rating range (0-100)",
|
||||
"ImportListsTraktSettingsUserListTypeCollection": "User Collection List",
|
||||
"ImportListsTraktSettingsUserListTypeWatch": "User Watch List",
|
||||
"ImportListsTraktSettingsUserListTypeWatched": "User Watched List",
|
||||
"ImportListsTraktSettingsUserListUsernameHelpText": "Username for the List to import from (leave empty to use Auth User)",
|
||||
"ImportListsTraktSettingsWatchListSorting": "Watch List Sorting",
|
||||
"ImportListsTraktSettingsWatchListSortingHelpText": "If List Type is Watch, select the order to sort the list",
|
||||
"ImportListsTraktSettingsYears": "Years",
|
||||
"ImportListsTraktSettingsYearsMovieHelpText": "Filter movies by year or year range",
|
||||
"ImportMechanismHealthCheckMessage": "Enable Completed Download Handling",
|
||||
|
||||
@@ -1921,5 +1921,10 @@
|
||||
"ImportListsTraktSettingsRatingMovieHelpText": "Filtrar películas por rango de calificación (0-100)",
|
||||
"ImportListsTraktSettingsYearsMovieHelpText": "Filtras películas por año o rango de años",
|
||||
"MovieRequested": "Películas solicitadas",
|
||||
"ReleasePush": "Lanzamiento"
|
||||
"ReleasePush": "Lanzamiento",
|
||||
"ImportListsTraktSettingsUserListTypeCollection": "Lista de colecciones de usuario",
|
||||
"ImportListsTraktSettingsUserListTypeWatch": "Lista de seguimiento de usuario",
|
||||
"ImportListsTraktSettingsUserListTypeWatched": "Lista de vistos de usuario",
|
||||
"ImportListsTraktSettingsUserListUsernameHelpText": "Usuario para la lista de la que importar (dejar vacío para usar Autenticación de usuario)",
|
||||
"ImportListsTraktSettingsWatchListSorting": "Ordenar la lista de vistos"
|
||||
}
|
||||
|
||||
@@ -1922,5 +1922,10 @@
|
||||
"ImportListsTraktSettingsRatingMovieHelpText": "Suodata elokuvia arvioden perusteella (alue 0–100).",
|
||||
"ImportListsTraktSettingsPopularListTypeTopWatchedMoviesOfAllTime": "Kaikkien aikojen katsotuimmat elokuvat",
|
||||
"ImportListsTraktSettingsPopularListTypeTrendingMovies": "Trendaavat elokuvat",
|
||||
"ImportListsTraktSettingsGenresMovieHelpText": "Suodata elokuvia Trakt-lajityyppien slug-arvojen perusteella (pilkuin eroteltuna). Koskee vain suosituimpia listoja."
|
||||
"ImportListsTraktSettingsGenresMovieHelpText": "Suodata elokuvia Trakt-lajityyppien slug-arvojen perusteella (pilkuin eroteltuna). Koskee vain suosituimpia listoja.",
|
||||
"ImportListsTraktSettingsUserListTypeCollection": "Käyttäjän kokoelmat",
|
||||
"ImportListsTraktSettingsUserListTypeWatch": "Käyttäjän katselulista",
|
||||
"ImportListsTraktSettingsUserListTypeWatched": "Käyttäjän katseltujen lista",
|
||||
"ImportListsTraktSettingsUserListUsernameHelpText": "Listan tuontiin käytettävä käyttäjänimi. Käytä tunnistautunutta käyttäjää jättämällä tyhjäksi.",
|
||||
"ImportListsTraktSettingsWatchListSorting": "Katselulistan järjestys"
|
||||
}
|
||||
|
||||
@@ -1903,5 +1903,10 @@
|
||||
"ImportListsTraktSettingsGenres": "Genres",
|
||||
"ImportListsTraktSettingsLimit": "Limite",
|
||||
"ImportListsTraktSettingsListType": "Type de liste",
|
||||
"ImportListsTraktSettingsListTypeHelpText": "Type de liste à partir de laquelle vous cherchez à importer"
|
||||
"ImportListsTraktSettingsListTypeHelpText": "Type de liste à partir de laquelle vous cherchez à importer",
|
||||
"ImportListsTraktSettingsUserListTypeCollection": "Liste des collections d'utilisateurs",
|
||||
"ImportListsTraktSettingsUserListUsernameHelpText": "Nom d'utilisateur pour la liste à importer (laisser vide pour utiliser Auth User)",
|
||||
"ImportListsTraktSettingsWatchListSorting": "Tri de la liste de surveillance",
|
||||
"ImportListsTraktSettingsUserListTypeWatch": "Liste de surveillance des utilisateurs",
|
||||
"ImportListsTraktSettingsUserListTypeWatched": "Liste des utilisateurs surveillés"
|
||||
}
|
||||
|
||||
@@ -1471,5 +1471,10 @@
|
||||
"ImportListsTraktSettingsListType": "Lista típus",
|
||||
"ImportListsTraktSettingsListTypeHelpText": "Az importálni kívánt lista típusa",
|
||||
"ImportListsTraktSettingsRating": "Értékelés",
|
||||
"ImportListsTraktSettingsYears": "Évek"
|
||||
"ImportListsTraktSettingsYears": "Évek",
|
||||
"ImportListsTraktSettingsUserListTypeCollection": "Felhasználói gyűjtőlista",
|
||||
"ImportListsTraktSettingsUserListTypeWatch": "Felhasználói figyelőlista",
|
||||
"ImportListsTraktSettingsUserListTypeWatched": "Felhasználói figyelt lista",
|
||||
"ImportListsTraktSettingsUserListUsernameHelpText": "Felhasználónév az importálandó listához (hagyja üresen az Auth User használatához)",
|
||||
"ImportListsTraktSettingsWatchListSorting": "Figyelőlista rendezése"
|
||||
}
|
||||
|
||||
@@ -1518,7 +1518,7 @@
|
||||
"NotificationsEmailSettingsUseEncryptionHelpText": "Se preferir usar criptografia se configurado no servidor, usar sempre criptografia via SSL (somente porta 465) ou StartTLS (qualquer outra porta) ou nunca usar criptografia",
|
||||
"ChangeCategoryMultipleHint": "Altera os downloads para a \"Categoria pós-importação' do cliente de download",
|
||||
"BlackholeFolderHelpText": "Pasta na qual o {appName} armazenará o arquivo {extension}",
|
||||
"BlackholeWatchFolder": "Pasta de monitoramento",
|
||||
"BlackholeWatchFolder": "Pasta de Monitoramento",
|
||||
"BlackholeWatchFolderHelpText": "Pasta da qual o {appName} deve importar os downloads concluídos",
|
||||
"Category": "Categoria",
|
||||
"Destination": "Destino",
|
||||
@@ -1922,5 +1922,11 @@
|
||||
"ImportListsTraktSettingsPopularListTypeTopWatchedMoviesOfAllTime": "Filmes Mais Assistidos de Todos os Tempos",
|
||||
"ImportListsTraktSettingsPopularListTypeTrendingMovies": "Filmes em Alta",
|
||||
"ImportListsTraktSettingsRatingMovieHelpText": "Filtrar filmes por faixa de avaliação (0-100)",
|
||||
"ImportListsTraktSettingsYearsMovieHelpText": "Filtrar filmes por ano ou faixa de ano"
|
||||
"ImportListsTraktSettingsYearsMovieHelpText": "Filtrar filmes por ano ou faixa de ano",
|
||||
"ImportListsTraktSettingsWatchListSortingHelpText": "Se o Tipo de Lista estiver Monitorar, selecione o pedido para classificar a lista",
|
||||
"ImportListsTraktSettingsUserListTypeCollection": "Lista de coleção do usuário",
|
||||
"ImportListsTraktSettingsUserListTypeWatch": "Lista para Assistir do Usuário",
|
||||
"ImportListsTraktSettingsUserListTypeWatched": "Lista de Assistidos do Usuário",
|
||||
"ImportListsTraktSettingsUserListUsernameHelpText": "Nome de usuário da lista a importar (deixe em branco para usar o Usuário autenticado)",
|
||||
"ImportListsTraktSettingsWatchListSorting": "Classificação da Lista para Assistir"
|
||||
}
|
||||
|
||||
@@ -1823,5 +1823,10 @@
|
||||
"ImportListsTraktSettingsRating": "Рейтинг",
|
||||
"ImportListsTraktSettingsYears": "Годы",
|
||||
"ImportListsTraktSettingsAdditionalParametersHelpText": "Дополнительные параметры Trakt API",
|
||||
"ImportListsTraktSettingsAuthenticateWithTrakt": "Аутентификация с помощью Trakt"
|
||||
"ImportListsTraktSettingsAuthenticateWithTrakt": "Аутентификация с помощью Trakt",
|
||||
"ImportListsTraktSettingsUserListTypeCollection": "Список коллекций пользователей",
|
||||
"ImportListsTraktSettingsUserListTypeWatch": "Список наблюдения пользователя",
|
||||
"ImportListsTraktSettingsUserListTypeWatched": "Список просмотренного пользователем",
|
||||
"ImportListsTraktSettingsUserListUsernameHelpText": "Имя пользователя для импорта списка (оставьте пустым, чтобы использовать пользователя с аутентификацией)",
|
||||
"ImportListsTraktSettingsWatchListSorting": "Сортировка списка просмотра"
|
||||
}
|
||||
|
||||
@@ -1922,5 +1922,11 @@
|
||||
"ImportListsTraktSettingsPopularListTypeTrendingMovies": "Trend Filmler",
|
||||
"ImportListsTraktSettingsRatingMovieHelpText": "Filmleri derecelendirme aralığına göre filtrele (0-100)",
|
||||
"ImportListsTraktSettingsYearsMovieHelpText": "Filmleri yıla veya yıl aralığına göre filtrele",
|
||||
"ImportListsTraktSettingsPopularListTypeTopWatchedMoviesByMonth": "Aylara Göre En Çok İzlenen Filmler"
|
||||
"ImportListsTraktSettingsPopularListTypeTopWatchedMoviesByMonth": "Aylara Göre En Çok İzlenen Filmler",
|
||||
"ImportListsTraktSettingsUserListTypeCollection": "Kullanıcı Koleksiyon Listesi",
|
||||
"ImportListsTraktSettingsUserListTypeWatch": "Kullanıcı İzleme Listesi",
|
||||
"ImportListsTraktSettingsUserListTypeWatched": "Kullanıcının İzlediği Liste",
|
||||
"ImportListsTraktSettingsUserListUsernameHelpText": "İçe aktarılacak Liste için Kullanıcı Adı (Yetkili Kullanıcı için boş bırakın)",
|
||||
"ImportListsTraktSettingsWatchListSorting": "İzleme Listesi Sıralaması",
|
||||
"ImportListsTraktSettingsWatchListSortingHelpText": "Liste Türü İzleme ise, listeyi sıralama sırasını seçin"
|
||||
}
|
||||
|
||||
@@ -1,6 +1,5 @@
|
||||
using System;
|
||||
using System.Net.Http;
|
||||
using NLog;
|
||||
using NzbDrone.Common.Extensions;
|
||||
using NzbDrone.Common.Http;
|
||||
using NzbDrone.Common.Serializer;
|
||||
@@ -16,6 +15,7 @@ namespace NzbDrone.Core.Notifications.Trakt
|
||||
void AddToCollection(TraktCollectMoviesResource payload, string accessToken);
|
||||
void RemoveFromCollection(TraktCollectMoviesResource payload, string accessToken);
|
||||
HttpRequest BuildRequest(string resource, HttpMethod method, string accessToken);
|
||||
HttpRequest BuildRequest(HttpRequest request, string accessToken);
|
||||
}
|
||||
|
||||
public class TraktProxy : ITraktProxy
|
||||
@@ -27,12 +27,12 @@ namespace NzbDrone.Core.Notifications.Trakt
|
||||
private const string ClientId = "64508a8bf370cee550dde4806469922fd7cd70afb2d5690e3ee7f75ae784b70e";
|
||||
|
||||
private readonly IHttpClient _httpClient;
|
||||
private readonly Logger _logger;
|
||||
|
||||
public TraktProxy(IHttpClient httpClient, Logger logger)
|
||||
private static TimeSpan DefaultRateLimit => TimeSpan.FromSeconds(2);
|
||||
|
||||
public TraktProxy(IHttpClient httpClient)
|
||||
{
|
||||
_httpClient = httpClient;
|
||||
_logger = logger;
|
||||
}
|
||||
|
||||
public void AddToCollection(TraktCollectMoviesResource payload, string accessToken)
|
||||
@@ -87,16 +87,27 @@ namespace NzbDrone.Core.Notifications.Trakt
|
||||
{
|
||||
var request = new HttpRequestBuilder(URL).Resource(resource).Build();
|
||||
|
||||
request.RateLimit = TimeSpan.FromSeconds(2);
|
||||
request.Headers.Accept = HttpAccept.Json.Value;
|
||||
request.RateLimit = DefaultRateLimit;
|
||||
request.Method = method;
|
||||
|
||||
return BuildRequest(request, accessToken);
|
||||
}
|
||||
|
||||
public HttpRequest BuildRequest(HttpRequest request, string accessToken)
|
||||
{
|
||||
if (request.RateLimit < DefaultRateLimit)
|
||||
{
|
||||
request.RateLimit = DefaultRateLimit;
|
||||
}
|
||||
|
||||
request.Headers.Accept = HttpAccept.Json.Value;
|
||||
|
||||
request.Headers.Add("trakt-api-version", "2");
|
||||
request.Headers.Add("trakt-api-key", ClientId);
|
||||
|
||||
if (accessToken.IsNotNullOrWhiteSpace())
|
||||
{
|
||||
request.Headers.Add("Authorization", "Bearer " + accessToken);
|
||||
request.Headers.Add("Authorization", $"Bearer {accessToken}");
|
||||
}
|
||||
|
||||
return request;
|
||||
|
||||
Reference in New Issue
Block a user