|
@@ -24,24 +24,28 @@ namespace MediaBrowser.Providers.TV.TheTVDB
|
|
|
{
|
|
|
_cache = memoryCache;
|
|
|
_tvDbClient = new TvDbClient();
|
|
|
- _tvDbClient.Authentication.AuthenticateAsync(TvdbUtils.TvdbApiKey);
|
|
|
- _tokenCreatedAt = DateTime.Now;
|
|
|
}
|
|
|
|
|
|
- public TvDbClient TvDbClient
|
|
|
+ private TvDbClient TvDbClient
|
|
|
{
|
|
|
get
|
|
|
{
|
|
|
+ if (string.IsNullOrEmpty(_tvDbClient.Authentication.Token))
|
|
|
+ {
|
|
|
+ _tvDbClient.Authentication.AuthenticateAsync(TvdbUtils.TvdbApiKey).GetAwaiter().GetResult();
|
|
|
+ _tokenCreatedAt = DateTime.Now;
|
|
|
+ }
|
|
|
+
|
|
|
// Refresh if necessary
|
|
|
if (_tokenCreatedAt < DateTime.Now.Subtract(TimeSpan.FromHours(20)))
|
|
|
{
|
|
|
try
|
|
|
{
|
|
|
- _tvDbClient.Authentication.RefreshTokenAsync();
|
|
|
+ _tvDbClient.Authentication.RefreshTokenAsync().GetAwaiter().GetResult();
|
|
|
}
|
|
|
catch
|
|
|
{
|
|
|
- _tvDbClient.Authentication.AuthenticateAsync(TvdbUtils.TvdbApiKey);
|
|
|
+ _tvDbClient.Authentication.AuthenticateAsync(TvdbUtils.TvdbApiKey).GetAwaiter().GetResult();
|
|
|
}
|
|
|
|
|
|
_tokenCreatedAt = DateTime.Now;
|