start tvdb migration for plugin interface
This commit is contained in:
parent
d16f68bb14
commit
d7c34b4611
|
@ -100,8 +100,8 @@ using MediaBrowser.Model.Tasks;
|
||||||
using MediaBrowser.Model.Updates;
|
using MediaBrowser.Model.Updates;
|
||||||
using MediaBrowser.Providers.Chapters;
|
using MediaBrowser.Providers.Chapters;
|
||||||
using MediaBrowser.Providers.Manager;
|
using MediaBrowser.Providers.Manager;
|
||||||
|
using MediaBrowser.Providers.Plugins.TheTvdb;
|
||||||
using MediaBrowser.Providers.Subtitles;
|
using MediaBrowser.Providers.Subtitles;
|
||||||
using MediaBrowser.Providers.TV.TheTVDB;
|
|
||||||
using MediaBrowser.WebDashboard.Api;
|
using MediaBrowser.WebDashboard.Api;
|
||||||
using MediaBrowser.XbmcMetadata.Providers;
|
using MediaBrowser.XbmcMetadata.Providers;
|
||||||
using Microsoft.AspNetCore.Http;
|
using Microsoft.AspNetCore.Http;
|
||||||
|
@ -676,7 +676,7 @@ namespace Emby.Server.Implementations
|
||||||
serviceCollection.AddSingleton<ILogger>(Logger);
|
serviceCollection.AddSingleton<ILogger>(Logger);
|
||||||
|
|
||||||
serviceCollection.AddSingleton(FileSystemManager);
|
serviceCollection.AddSingleton(FileSystemManager);
|
||||||
serviceCollection.AddSingleton<TvDbClientManager>();
|
serviceCollection.AddSingleton<TvdbClientManager>();
|
||||||
|
|
||||||
HttpClient = new HttpClientManager.HttpClientManager(
|
HttpClient = new HttpClientManager.HttpClientManager(
|
||||||
ApplicationPaths,
|
ApplicationPaths,
|
||||||
|
|
|
@ -10,9 +10,9 @@ using Microsoft.Extensions.Caching.Memory;
|
||||||
using TvDbSharper;
|
using TvDbSharper;
|
||||||
using TvDbSharper.Dto;
|
using TvDbSharper.Dto;
|
||||||
|
|
||||||
namespace MediaBrowser.Providers.TV.TheTVDB
|
namespace MediaBrowser.Providers.Plugins.TheTvdb
|
||||||
{
|
{
|
||||||
public class TvDbClientManager
|
public class TvdbClientManager
|
||||||
{
|
{
|
||||||
private const string DefaultLanguage = "en";
|
private const string DefaultLanguage = "en";
|
||||||
|
|
||||||
|
@ -21,7 +21,7 @@ namespace MediaBrowser.Providers.TV.TheTVDB
|
||||||
private readonly TvDbClient _tvDbClient;
|
private readonly TvDbClient _tvDbClient;
|
||||||
private DateTime _tokenCreatedAt;
|
private DateTime _tokenCreatedAt;
|
||||||
|
|
||||||
public TvDbClientManager(IMemoryCache memoryCache)
|
public TvdbClientManager(IMemoryCache memoryCache)
|
||||||
{
|
{
|
||||||
_cache = memoryCache;
|
_cache = memoryCache;
|
||||||
_tvDbClient = new TvDbClient();
|
_tvDbClient = new TvDbClient();
|
|
@ -12,19 +12,19 @@ using Microsoft.Extensions.Logging;
|
||||||
using TvDbSharper;
|
using TvDbSharper;
|
||||||
using TvDbSharper.Dto;
|
using TvDbSharper.Dto;
|
||||||
|
|
||||||
namespace MediaBrowser.Providers.TV.TheTVDB
|
namespace MediaBrowser.Providers.Plugins.TheTvdb
|
||||||
{
|
{
|
||||||
public class TvdbEpisodeImageProvider : IRemoteImageProvider
|
public class TvdbEpisodeImageProvider : IRemoteImageProvider
|
||||||
{
|
{
|
||||||
private readonly IHttpClient _httpClient;
|
private readonly IHttpClient _httpClient;
|
||||||
private readonly ILogger _logger;
|
private readonly ILogger _logger;
|
||||||
private readonly TvDbClientManager _tvDbClientManager;
|
private readonly TvdbClientManager _tvdbClientManager;
|
||||||
|
|
||||||
public TvdbEpisodeImageProvider(IHttpClient httpClient, ILogger<TvdbEpisodeImageProvider> logger, TvDbClientManager tvDbClientManager)
|
public TvdbEpisodeImageProvider(IHttpClient httpClient, ILogger<TvdbEpisodeImageProvider> logger, TvdbClientManager tvdbClientManager)
|
||||||
{
|
{
|
||||||
_httpClient = httpClient;
|
_httpClient = httpClient;
|
||||||
_logger = logger;
|
_logger = logger;
|
||||||
_tvDbClientManager = tvDbClientManager;
|
_tvdbClientManager = tvdbClientManager;
|
||||||
}
|
}
|
||||||
|
|
||||||
public string Name => "TheTVDB";
|
public string Name => "TheTVDB";
|
||||||
|
@ -60,7 +60,7 @@ namespace MediaBrowser.Providers.TV.TheTVDB
|
||||||
SeriesProviderIds = series.ProviderIds,
|
SeriesProviderIds = series.ProviderIds,
|
||||||
SeriesDisplayOrder = series.DisplayOrder
|
SeriesDisplayOrder = series.DisplayOrder
|
||||||
};
|
};
|
||||||
string episodeTvdbId = await _tvDbClientManager
|
string episodeTvdbId = await _tvdbClientManager
|
||||||
.GetEpisodeTvdbId(episodeInfo, language, cancellationToken).ConfigureAwait(false);
|
.GetEpisodeTvdbId(episodeInfo, language, cancellationToken).ConfigureAwait(false);
|
||||||
if (string.IsNullOrEmpty(episodeTvdbId))
|
if (string.IsNullOrEmpty(episodeTvdbId))
|
||||||
{
|
{
|
||||||
|
@ -73,7 +73,7 @@ namespace MediaBrowser.Providers.TV.TheTVDB
|
||||||
}
|
}
|
||||||
|
|
||||||
var episodeResult =
|
var episodeResult =
|
||||||
await _tvDbClientManager
|
await _tvdbClientManager
|
||||||
.GetEpisodesAsync(Convert.ToInt32(episodeTvdbId), language, cancellationToken)
|
.GetEpisodesAsync(Convert.ToInt32(episodeTvdbId), language, cancellationToken)
|
||||||
.ConfigureAwait(false);
|
.ConfigureAwait(false);
|
||||||
|
|
|
@ -12,7 +12,7 @@ using Microsoft.Extensions.Logging;
|
||||||
using TvDbSharper;
|
using TvDbSharper;
|
||||||
using TvDbSharper.Dto;
|
using TvDbSharper.Dto;
|
||||||
|
|
||||||
namespace MediaBrowser.Providers.TV.TheTVDB
|
namespace MediaBrowser.Providers.Plugins.TheTvdb
|
||||||
{
|
{
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -22,13 +22,13 @@ namespace MediaBrowser.Providers.TV.TheTVDB
|
||||||
{
|
{
|
||||||
private readonly IHttpClient _httpClient;
|
private readonly IHttpClient _httpClient;
|
||||||
private readonly ILogger _logger;
|
private readonly ILogger _logger;
|
||||||
private readonly TvDbClientManager _tvDbClientManager;
|
private readonly TvdbClientManager _tvdbClientManager;
|
||||||
|
|
||||||
public TvdbEpisodeProvider(IHttpClient httpClient, ILogger<TvdbEpisodeProvider> logger, TvDbClientManager tvDbClientManager)
|
public TvdbEpisodeProvider(IHttpClient httpClient, ILogger<TvdbEpisodeProvider> logger, TvdbClientManager tvdbClientManager)
|
||||||
{
|
{
|
||||||
_httpClient = httpClient;
|
_httpClient = httpClient;
|
||||||
_logger = logger;
|
_logger = logger;
|
||||||
_tvDbClientManager = tvDbClientManager;
|
_tvdbClientManager = tvdbClientManager;
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<IEnumerable<RemoteSearchResult>> GetSearchResults(EpisodeInfo searchInfo, CancellationToken cancellationToken)
|
public async Task<IEnumerable<RemoteSearchResult>> GetSearchResults(EpisodeInfo searchInfo, CancellationToken cancellationToken)
|
||||||
|
@ -99,7 +99,7 @@ namespace MediaBrowser.Providers.TV.TheTVDB
|
||||||
string episodeTvdbId = null;
|
string episodeTvdbId = null;
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
episodeTvdbId = await _tvDbClientManager
|
episodeTvdbId = await _tvdbClientManager
|
||||||
.GetEpisodeTvdbId(searchInfo, searchInfo.MetadataLanguage, cancellationToken)
|
.GetEpisodeTvdbId(searchInfo, searchInfo.MetadataLanguage, cancellationToken)
|
||||||
.ConfigureAwait(false);
|
.ConfigureAwait(false);
|
||||||
if (string.IsNullOrEmpty(episodeTvdbId))
|
if (string.IsNullOrEmpty(episodeTvdbId))
|
||||||
|
@ -109,7 +109,7 @@ namespace MediaBrowser.Providers.TV.TheTVDB
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
var episodeResult = await _tvDbClientManager.GetEpisodesAsync(
|
var episodeResult = await _tvdbClientManager.GetEpisodesAsync(
|
||||||
Convert.ToInt32(episodeTvdbId), searchInfo.MetadataLanguage,
|
Convert.ToInt32(episodeTvdbId), searchInfo.MetadataLanguage,
|
||||||
cancellationToken).ConfigureAwait(false);
|
cancellationToken).ConfigureAwait(false);
|
||||||
|
|
|
@ -11,25 +11,24 @@ using MediaBrowser.Controller.Library;
|
||||||
using MediaBrowser.Controller.Providers;
|
using MediaBrowser.Controller.Providers;
|
||||||
using MediaBrowser.Model.Entities;
|
using MediaBrowser.Model.Entities;
|
||||||
using MediaBrowser.Model.Providers;
|
using MediaBrowser.Model.Providers;
|
||||||
using MediaBrowser.Providers.TV.TheTVDB;
|
|
||||||
using Microsoft.Extensions.Logging;
|
using Microsoft.Extensions.Logging;
|
||||||
using TvDbSharper;
|
using TvDbSharper;
|
||||||
|
|
||||||
namespace MediaBrowser.Providers.People
|
namespace MediaBrowser.Providers.Plugins.TheTvdb
|
||||||
{
|
{
|
||||||
public class TvdbPersonImageProvider : IRemoteImageProvider, IHasOrder
|
public class TvdbPersonImageProvider : IRemoteImageProvider, IHasOrder
|
||||||
{
|
{
|
||||||
private readonly IHttpClient _httpClient;
|
private readonly IHttpClient _httpClient;
|
||||||
private readonly ILogger _logger;
|
private readonly ILogger _logger;
|
||||||
private readonly ILibraryManager _libraryManager;
|
private readonly ILibraryManager _libraryManager;
|
||||||
private readonly TvDbClientManager _tvDbClientManager;
|
private readonly TvdbClientManager _tvdbClientManager;
|
||||||
|
|
||||||
public TvdbPersonImageProvider(ILibraryManager libraryManager, IHttpClient httpClient, ILogger<TvdbPersonImageProvider> logger, TvDbClientManager tvDbClientManager)
|
public TvdbPersonImageProvider(ILibraryManager libraryManager, IHttpClient httpClient, ILogger<TvdbPersonImageProvider> logger, TvdbClientManager tvdbClientManager)
|
||||||
{
|
{
|
||||||
_libraryManager = libraryManager;
|
_libraryManager = libraryManager;
|
||||||
_httpClient = httpClient;
|
_httpClient = httpClient;
|
||||||
_logger = logger;
|
_logger = logger;
|
||||||
_tvDbClientManager = tvDbClientManager;
|
_tvdbClientManager = tvdbClientManager;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
|
@ -78,7 +77,7 @@ namespace MediaBrowser.Providers.People
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
var actorsResult = await _tvDbClientManager
|
var actorsResult = await _tvdbClientManager
|
||||||
.GetActorsAsync(tvdbId, series.GetPreferredMetadataLanguage(), cancellationToken)
|
.GetActorsAsync(tvdbId, series.GetPreferredMetadataLanguage(), cancellationToken)
|
||||||
.ConfigureAwait(false);
|
.ConfigureAwait(false);
|
||||||
var actor = actorsResult.Data.FirstOrDefault(a =>
|
var actor = actorsResult.Data.FirstOrDefault(a =>
|
|
@ -14,19 +14,19 @@ using TvDbSharper;
|
||||||
using TvDbSharper.Dto;
|
using TvDbSharper.Dto;
|
||||||
using RatingType = MediaBrowser.Model.Dto.RatingType;
|
using RatingType = MediaBrowser.Model.Dto.RatingType;
|
||||||
|
|
||||||
namespace MediaBrowser.Providers.TV.TheTVDB
|
namespace MediaBrowser.Providers.Plugins.TheTvdb
|
||||||
{
|
{
|
||||||
public class TvdbSeasonImageProvider : IRemoteImageProvider, IHasOrder
|
public class TvdbSeasonImageProvider : IRemoteImageProvider, IHasOrder
|
||||||
{
|
{
|
||||||
private readonly IHttpClient _httpClient;
|
private readonly IHttpClient _httpClient;
|
||||||
private readonly ILogger _logger;
|
private readonly ILogger _logger;
|
||||||
private readonly TvDbClientManager _tvDbClientManager;
|
private readonly TvdbClientManager _tvdbClientManager;
|
||||||
|
|
||||||
public TvdbSeasonImageProvider(IHttpClient httpClient, ILogger<TvdbSeasonImageProvider> logger, TvDbClientManager tvDbClientManager)
|
public TvdbSeasonImageProvider(IHttpClient httpClient, ILogger<TvdbSeasonImageProvider> logger, TvdbClientManager tvdbClientManager)
|
||||||
{
|
{
|
||||||
_httpClient = httpClient;
|
_httpClient = httpClient;
|
||||||
_logger = logger;
|
_logger = logger;
|
||||||
_tvDbClientManager = tvDbClientManager;
|
_tvdbClientManager = tvdbClientManager;
|
||||||
}
|
}
|
||||||
|
|
||||||
public string Name => ProviderName;
|
public string Name => ProviderName;
|
||||||
|
@ -73,7 +73,7 @@ namespace MediaBrowser.Providers.TV.TheTVDB
|
||||||
};
|
};
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
var imageResults = await _tvDbClientManager
|
var imageResults = await _tvdbClientManager
|
||||||
.GetImagesAsync(tvdbId, imageQuery, language, cancellationToken).ConfigureAwait(false);
|
.GetImagesAsync(tvdbId, imageQuery, language, cancellationToken).ConfigureAwait(false);
|
||||||
remoteImages.AddRange(GetImages(imageResults.Data, language));
|
remoteImages.AddRange(GetImages(imageResults.Data, language));
|
||||||
}
|
}
|
||||||
|
@ -89,7 +89,7 @@ namespace MediaBrowser.Providers.TV.TheTVDB
|
||||||
private IEnumerable<RemoteImageInfo> GetImages(Image[] images, string preferredLanguage)
|
private IEnumerable<RemoteImageInfo> GetImages(Image[] images, string preferredLanguage)
|
||||||
{
|
{
|
||||||
var list = new List<RemoteImageInfo>();
|
var list = new List<RemoteImageInfo>();
|
||||||
var languages = _tvDbClientManager.GetLanguagesAsync(CancellationToken.None).Result.Data;
|
var languages = _tvdbClientManager.GetLanguagesAsync(CancellationToken.None).Result.Data;
|
||||||
foreach (Image image in images)
|
foreach (Image image in images)
|
||||||
{
|
{
|
||||||
var imageInfo = new RemoteImageInfo
|
var imageInfo = new RemoteImageInfo
|
|
@ -14,19 +14,19 @@ using TvDbSharper.Dto;
|
||||||
using RatingType = MediaBrowser.Model.Dto.RatingType;
|
using RatingType = MediaBrowser.Model.Dto.RatingType;
|
||||||
using Series = MediaBrowser.Controller.Entities.TV.Series;
|
using Series = MediaBrowser.Controller.Entities.TV.Series;
|
||||||
|
|
||||||
namespace MediaBrowser.Providers.TV.TheTVDB
|
namespace MediaBrowser.Providers.Plugins.TheTvdb
|
||||||
{
|
{
|
||||||
public class TvdbSeriesImageProvider : IRemoteImageProvider, IHasOrder
|
public class TvdbSeriesImageProvider : IRemoteImageProvider, IHasOrder
|
||||||
{
|
{
|
||||||
private readonly IHttpClient _httpClient;
|
private readonly IHttpClient _httpClient;
|
||||||
private readonly ILogger _logger;
|
private readonly ILogger _logger;
|
||||||
private readonly TvDbClientManager _tvDbClientManager;
|
private readonly TvdbClientManager _tvdbClientManager;
|
||||||
|
|
||||||
public TvdbSeriesImageProvider(IHttpClient httpClient, ILogger<TvdbSeriesImageProvider> logger, TvDbClientManager tvDbClientManager)
|
public TvdbSeriesImageProvider(IHttpClient httpClient, ILogger<TvdbSeriesImageProvider> logger, TvdbClientManager tvdbClientManager)
|
||||||
{
|
{
|
||||||
_httpClient = httpClient;
|
_httpClient = httpClient;
|
||||||
_logger = logger;
|
_logger = logger;
|
||||||
_tvDbClientManager = tvDbClientManager;
|
_tvdbClientManager = tvdbClientManager;
|
||||||
}
|
}
|
||||||
|
|
||||||
public string Name => ProviderName;
|
public string Name => ProviderName;
|
||||||
|
@ -68,7 +68,7 @@ namespace MediaBrowser.Providers.TV.TheTVDB
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
var imageResults =
|
var imageResults =
|
||||||
await _tvDbClientManager.GetImagesAsync(tvdbId, imageQuery, language, cancellationToken)
|
await _tvdbClientManager.GetImagesAsync(tvdbId, imageQuery, language, cancellationToken)
|
||||||
.ConfigureAwait(false);
|
.ConfigureAwait(false);
|
||||||
|
|
||||||
remoteImages.AddRange(GetImages(imageResults.Data, language));
|
remoteImages.AddRange(GetImages(imageResults.Data, language));
|
||||||
|
@ -85,7 +85,7 @@ namespace MediaBrowser.Providers.TV.TheTVDB
|
||||||
private IEnumerable<RemoteImageInfo> GetImages(Image[] images, string preferredLanguage)
|
private IEnumerable<RemoteImageInfo> GetImages(Image[] images, string preferredLanguage)
|
||||||
{
|
{
|
||||||
var list = new List<RemoteImageInfo>();
|
var list = new List<RemoteImageInfo>();
|
||||||
var languages = _tvDbClientManager.GetLanguagesAsync(CancellationToken.None).Result.Data;
|
var languages = _tvdbClientManager.GetLanguagesAsync(CancellationToken.None).Result.Data;
|
||||||
|
|
||||||
foreach (Image image in images)
|
foreach (Image image in images)
|
||||||
{
|
{
|
|
@ -17,7 +17,7 @@ using TvDbSharper;
|
||||||
using TvDbSharper.Dto;
|
using TvDbSharper.Dto;
|
||||||
using Series = MediaBrowser.Controller.Entities.TV.Series;
|
using Series = MediaBrowser.Controller.Entities.TV.Series;
|
||||||
|
|
||||||
namespace MediaBrowser.Providers.TV.TheTVDB
|
namespace MediaBrowser.Providers.Plugins.TheTvdb
|
||||||
{
|
{
|
||||||
public class TvdbSeriesProvider : IRemoteMetadataProvider<Series, SeriesInfo>, IHasOrder
|
public class TvdbSeriesProvider : IRemoteMetadataProvider<Series, SeriesInfo>, IHasOrder
|
||||||
{
|
{
|
||||||
|
@ -26,16 +26,16 @@ namespace MediaBrowser.Providers.TV.TheTVDB
|
||||||
private readonly ILogger _logger;
|
private readonly ILogger _logger;
|
||||||
private readonly ILibraryManager _libraryManager;
|
private readonly ILibraryManager _libraryManager;
|
||||||
private readonly ILocalizationManager _localizationManager;
|
private readonly ILocalizationManager _localizationManager;
|
||||||
private readonly TvDbClientManager _tvDbClientManager;
|
private readonly TvdbClientManager _tvdbClientManager;
|
||||||
|
|
||||||
public TvdbSeriesProvider(IHttpClient httpClient, ILogger<TvdbSeriesProvider> logger, ILibraryManager libraryManager, ILocalizationManager localizationManager, TvDbClientManager tvDbClientManager)
|
public TvdbSeriesProvider(IHttpClient httpClient, ILogger<TvdbSeriesProvider> logger, ILibraryManager libraryManager, ILocalizationManager localizationManager, TvdbClientManager tvdbClientManager)
|
||||||
{
|
{
|
||||||
_httpClient = httpClient;
|
_httpClient = httpClient;
|
||||||
_logger = logger;
|
_logger = logger;
|
||||||
_libraryManager = libraryManager;
|
_libraryManager = libraryManager;
|
||||||
_localizationManager = localizationManager;
|
_localizationManager = localizationManager;
|
||||||
Current = this;
|
Current = this;
|
||||||
_tvDbClientManager = tvDbClientManager;
|
_tvdbClientManager = tvdbClientManager;
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<IEnumerable<RemoteSearchResult>> GetSearchResults(SeriesInfo searchInfo, CancellationToken cancellationToken)
|
public async Task<IEnumerable<RemoteSearchResult>> GetSearchResults(SeriesInfo searchInfo, CancellationToken cancellationToken)
|
||||||
|
@ -116,7 +116,7 @@ namespace MediaBrowser.Providers.TV.TheTVDB
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
var seriesResult =
|
var seriesResult =
|
||||||
await _tvDbClientManager
|
await _tvdbClientManager
|
||||||
.GetSeriesByIdAsync(Convert.ToInt32(tvdbId), metadataLanguage, cancellationToken)
|
.GetSeriesByIdAsync(Convert.ToInt32(tvdbId), metadataLanguage, cancellationToken)
|
||||||
.ConfigureAwait(false);
|
.ConfigureAwait(false);
|
||||||
MapSeriesToResult(result, seriesResult.Data, metadataLanguage);
|
MapSeriesToResult(result, seriesResult.Data, metadataLanguage);
|
||||||
|
@ -133,7 +133,7 @@ namespace MediaBrowser.Providers.TV.TheTVDB
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
var actorsResult = await _tvDbClientManager
|
var actorsResult = await _tvdbClientManager
|
||||||
.GetActorsAsync(Convert.ToInt32(tvdbId), metadataLanguage, cancellationToken).ConfigureAwait(false);
|
.GetActorsAsync(Convert.ToInt32(tvdbId), metadataLanguage, cancellationToken).ConfigureAwait(false);
|
||||||
MapActorsToResult(result, actorsResult.Data);
|
MapActorsToResult(result, actorsResult.Data);
|
||||||
}
|
}
|
||||||
|
@ -152,12 +152,12 @@ namespace MediaBrowser.Providers.TV.TheTVDB
|
||||||
{
|
{
|
||||||
if (string.Equals(idType, MetadataProviders.Zap2It.ToString(), StringComparison.OrdinalIgnoreCase))
|
if (string.Equals(idType, MetadataProviders.Zap2It.ToString(), StringComparison.OrdinalIgnoreCase))
|
||||||
{
|
{
|
||||||
result = await _tvDbClientManager.GetSeriesByZap2ItIdAsync(id, language, cancellationToken)
|
result = await _tvdbClientManager.GetSeriesByZap2ItIdAsync(id, language, cancellationToken)
|
||||||
.ConfigureAwait(false);
|
.ConfigureAwait(false);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
result = await _tvDbClientManager.GetSeriesByImdbIdAsync(id, language, cancellationToken)
|
result = await _tvdbClientManager.GetSeriesByImdbIdAsync(id, language, cancellationToken)
|
||||||
.ConfigureAwait(false);
|
.ConfigureAwait(false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -223,7 +223,7 @@ namespace MediaBrowser.Providers.TV.TheTVDB
|
||||||
TvDbResponse<SeriesSearchResult[]> result;
|
TvDbResponse<SeriesSearchResult[]> result;
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
result = await _tvDbClientManager.GetSeriesByNameAsync(comparableName, language, cancellationToken)
|
result = await _tvdbClientManager.GetSeriesByNameAsync(comparableName, language, cancellationToken)
|
||||||
.ConfigureAwait(false);
|
.ConfigureAwait(false);
|
||||||
}
|
}
|
||||||
catch (TvDbServerException e)
|
catch (TvDbServerException e)
|
||||||
|
@ -252,7 +252,7 @@ namespace MediaBrowser.Providers.TV.TheTVDB
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
var seriesSesult =
|
var seriesSesult =
|
||||||
await _tvDbClientManager.GetSeriesByIdAsync(seriesSearchResult.Id, language, cancellationToken)
|
await _tvdbClientManager.GetSeriesByIdAsync(seriesSearchResult.Id, language, cancellationToken)
|
||||||
.ConfigureAwait(false);
|
.ConfigureAwait(false);
|
||||||
remoteSearchResult.SetProviderId(MetadataProviders.Imdb, seriesSesult.Data.ImdbId);
|
remoteSearchResult.SetProviderId(MetadataProviders.Imdb, seriesSesult.Data.ImdbId);
|
||||||
remoteSearchResult.SetProviderId(MetadataProviders.Zap2It, seriesSesult.Data.Zap2itId);
|
remoteSearchResult.SetProviderId(MetadataProviders.Zap2It, seriesSesult.Data.Zap2itId);
|
||||||
|
@ -359,7 +359,7 @@ namespace MediaBrowser.Providers.TV.TheTVDB
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
var episodeSummary = _tvDbClientManager
|
var episodeSummary = _tvdbClientManager
|
||||||
.GetSeriesEpisodeSummaryAsync(tvdbSeries.Id, metadataLanguage, CancellationToken.None).Result.Data;
|
.GetSeriesEpisodeSummaryAsync(tvdbSeries.Id, metadataLanguage, CancellationToken.None).Result.Data;
|
||||||
var maxSeasonNumber = episodeSummary.AiredSeasons.Select(s => Convert.ToInt32(s)).Max();
|
var maxSeasonNumber = episodeSummary.AiredSeasons.Select(s => Convert.ToInt32(s)).Max();
|
||||||
var episodeQuery = new EpisodeQuery
|
var episodeQuery = new EpisodeQuery
|
||||||
|
@ -367,7 +367,7 @@ namespace MediaBrowser.Providers.TV.TheTVDB
|
||||||
AiredSeason = maxSeasonNumber
|
AiredSeason = maxSeasonNumber
|
||||||
};
|
};
|
||||||
var episodesPage =
|
var episodesPage =
|
||||||
_tvDbClientManager.GetEpisodesPageAsync(tvdbSeries.Id, episodeQuery, metadataLanguage, CancellationToken.None).Result.Data;
|
_tvdbClientManager.GetEpisodesPageAsync(tvdbSeries.Id, episodeQuery, metadataLanguage, CancellationToken.None).Result.Data;
|
||||||
result.Item.EndDate = episodesPage.Select(e =>
|
result.Item.EndDate = episodesPage.Select(e =>
|
||||||
{
|
{
|
||||||
DateTime.TryParse(e.FirstAired, out var firstAired);
|
DateTime.TryParse(e.FirstAired, out var firstAired);
|
|
@ -1,6 +1,7 @@
|
||||||
using System;
|
using System;
|
||||||
using MediaBrowser.Model.Entities;
|
using MediaBrowser.Model.Entities;
|
||||||
namespace MediaBrowser.Providers.TV.TheTVDB
|
|
||||||
|
namespace MediaBrowser.Providers.Plugins.TheTvdb
|
||||||
{
|
{
|
||||||
public static class TvdbUtils
|
public static class TvdbUtils
|
||||||
{
|
{
|
|
@ -12,7 +12,7 @@ using MediaBrowser.Controller.Providers;
|
||||||
using MediaBrowser.Model.Entities;
|
using MediaBrowser.Model.Entities;
|
||||||
using MediaBrowser.Model.Globalization;
|
using MediaBrowser.Model.Globalization;
|
||||||
using MediaBrowser.Model.IO;
|
using MediaBrowser.Model.IO;
|
||||||
using MediaBrowser.Providers.TV.TheTVDB;
|
using MediaBrowser.Providers.Plugins.TheTvdb;
|
||||||
using Microsoft.Extensions.Logging;
|
using Microsoft.Extensions.Logging;
|
||||||
|
|
||||||
namespace MediaBrowser.Providers.TV
|
namespace MediaBrowser.Providers.TV
|
||||||
|
@ -26,7 +26,7 @@ namespace MediaBrowser.Providers.TV
|
||||||
private readonly ILibraryManager _libraryManager;
|
private readonly ILibraryManager _libraryManager;
|
||||||
private readonly ILocalizationManager _localization;
|
private readonly ILocalizationManager _localization;
|
||||||
private readonly IFileSystem _fileSystem;
|
private readonly IFileSystem _fileSystem;
|
||||||
private readonly TvDbClientManager _tvDbClientManager;
|
private readonly TvdbClientManager _tvdbClientManager;
|
||||||
|
|
||||||
public MissingEpisodeProvider(
|
public MissingEpisodeProvider(
|
||||||
ILogger logger,
|
ILogger logger,
|
||||||
|
@ -34,14 +34,14 @@ namespace MediaBrowser.Providers.TV
|
||||||
ILibraryManager libraryManager,
|
ILibraryManager libraryManager,
|
||||||
ILocalizationManager localization,
|
ILocalizationManager localization,
|
||||||
IFileSystem fileSystem,
|
IFileSystem fileSystem,
|
||||||
TvDbClientManager tvDbClientManager)
|
TvdbClientManager tvdbClientManager)
|
||||||
{
|
{
|
||||||
_logger = logger;
|
_logger = logger;
|
||||||
_config = config;
|
_config = config;
|
||||||
_libraryManager = libraryManager;
|
_libraryManager = libraryManager;
|
||||||
_localization = localization;
|
_localization = localization;
|
||||||
_fileSystem = fileSystem;
|
_fileSystem = fileSystem;
|
||||||
_tvDbClientManager = tvDbClientManager;
|
_tvdbClientManager = tvdbClientManager;
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task<bool> Run(Series series, bool addNewItems, CancellationToken cancellationToken)
|
public async Task<bool> Run(Series series, bool addNewItems, CancellationToken cancellationToken)
|
||||||
|
@ -52,7 +52,7 @@ namespace MediaBrowser.Providers.TV
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
var episodes = await _tvDbClientManager.GetAllEpisodesAsync(Convert.ToInt32(tvdbId), series.GetPreferredMetadataLanguage(), cancellationToken);
|
var episodes = await _tvdbClientManager.GetAllEpisodesAsync(Convert.ToInt32(tvdbId), series.GetPreferredMetadataLanguage(), cancellationToken);
|
||||||
|
|
||||||
var episodeLookup = episodes
|
var episodeLookup = episodes
|
||||||
.Select(i =>
|
.Select(i =>
|
||||||
|
|
|
@ -9,7 +9,7 @@ using MediaBrowser.Model.Entities;
|
||||||
using MediaBrowser.Model.Globalization;
|
using MediaBrowser.Model.Globalization;
|
||||||
using MediaBrowser.Model.IO;
|
using MediaBrowser.Model.IO;
|
||||||
using MediaBrowser.Providers.Manager;
|
using MediaBrowser.Providers.Manager;
|
||||||
using MediaBrowser.Providers.TV.TheTVDB;
|
using MediaBrowser.Providers.Plugins.TheTvdb;
|
||||||
using Microsoft.Extensions.Logging;
|
using Microsoft.Extensions.Logging;
|
||||||
|
|
||||||
namespace MediaBrowser.Providers.TV
|
namespace MediaBrowser.Providers.TV
|
||||||
|
@ -17,7 +17,7 @@ namespace MediaBrowser.Providers.TV
|
||||||
public class SeriesMetadataService : MetadataService<Series, SeriesInfo>
|
public class SeriesMetadataService : MetadataService<Series, SeriesInfo>
|
||||||
{
|
{
|
||||||
private readonly ILocalizationManager _localization;
|
private readonly ILocalizationManager _localization;
|
||||||
private readonly TvDbClientManager _tvDbClientManager;
|
private readonly TvdbClientManager _tvdbClientManager;
|
||||||
|
|
||||||
public SeriesMetadataService(
|
public SeriesMetadataService(
|
||||||
IServerConfigurationManager serverConfigurationManager,
|
IServerConfigurationManager serverConfigurationManager,
|
||||||
|
@ -26,11 +26,11 @@ namespace MediaBrowser.Providers.TV
|
||||||
IFileSystem fileSystem,
|
IFileSystem fileSystem,
|
||||||
ILibraryManager libraryManager,
|
ILibraryManager libraryManager,
|
||||||
ILocalizationManager localization,
|
ILocalizationManager localization,
|
||||||
TvDbClientManager tvDbClientManager)
|
TvdbClientManager tvdbClientManager)
|
||||||
: base(serverConfigurationManager, logger, providerManager, fileSystem, libraryManager)
|
: base(serverConfigurationManager, logger, providerManager, fileSystem, libraryManager)
|
||||||
{
|
{
|
||||||
_localization = localization;
|
_localization = localization;
|
||||||
_tvDbClientManager = tvDbClientManager;
|
_tvdbClientManager = tvdbClientManager;
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
|
@ -47,7 +47,7 @@ namespace MediaBrowser.Providers.TV
|
||||||
LibraryManager,
|
LibraryManager,
|
||||||
_localization,
|
_localization,
|
||||||
FileSystem,
|
FileSystem,
|
||||||
_tvDbClientManager);
|
_tvdbClientManager);
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
using MediaBrowser.Controller.Entities.TV;
|
using MediaBrowser.Controller.Entities.TV;
|
||||||
using MediaBrowser.Controller.Providers;
|
using MediaBrowser.Controller.Providers;
|
||||||
using MediaBrowser.Model.Entities;
|
using MediaBrowser.Model.Entities;
|
||||||
using MediaBrowser.Providers.TV.TheTVDB;
|
using MediaBrowser.Providers.Plugins.TheTvdb;
|
||||||
|
|
||||||
namespace MediaBrowser.Providers.TV
|
namespace MediaBrowser.Providers.TV
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue
Block a user