mirror of
https://github.com/jellyfin/jellyfin.git
synced 2025-07-09 03:04:24 -04:00
Minor improvements
This commit is contained in:
parent
99bbbea9e2
commit
5d9e2903d2
@ -37,7 +37,6 @@ namespace MediaBrowser.Providers.Plugins.Tmdb.BoxSets
|
|||||||
private readonly IJsonSerializer _json;
|
private readonly IJsonSerializer _json;
|
||||||
private readonly IServerConfigurationManager _config;
|
private readonly IServerConfigurationManager _config;
|
||||||
private readonly IFileSystem _fileSystem;
|
private readonly IFileSystem _fileSystem;
|
||||||
private readonly ILocalizationManager _localization;
|
|
||||||
private readonly IHttpClientFactory _httpClientFactory;
|
private readonly IHttpClientFactory _httpClientFactory;
|
||||||
private readonly ILibraryManager _libraryManager;
|
private readonly ILibraryManager _libraryManager;
|
||||||
|
|
||||||
@ -46,7 +45,6 @@ namespace MediaBrowser.Providers.Plugins.Tmdb.BoxSets
|
|||||||
IJsonSerializer json,
|
IJsonSerializer json,
|
||||||
IServerConfigurationManager config,
|
IServerConfigurationManager config,
|
||||||
IFileSystem fileSystem,
|
IFileSystem fileSystem,
|
||||||
ILocalizationManager localization,
|
|
||||||
IHttpClientFactory httpClientFactory,
|
IHttpClientFactory httpClientFactory,
|
||||||
ILibraryManager libraryManager)
|
ILibraryManager libraryManager)
|
||||||
{
|
{
|
||||||
@ -54,7 +52,6 @@ namespace MediaBrowser.Providers.Plugins.Tmdb.BoxSets
|
|||||||
_json = json;
|
_json = json;
|
||||||
_config = config;
|
_config = config;
|
||||||
_fileSystem = fileSystem;
|
_fileSystem = fileSystem;
|
||||||
_localization = localization;
|
|
||||||
_httpClientFactory = httpClientFactory;
|
_httpClientFactory = httpClientFactory;
|
||||||
_libraryManager = libraryManager;
|
_libraryManager = libraryManager;
|
||||||
Current = this;
|
Current = this;
|
||||||
@ -177,7 +174,7 @@ namespace MediaBrowser.Providers.Plugins.Tmdb.BoxSets
|
|||||||
|
|
||||||
private async Task<CollectionResult> FetchMainResult(string id, string language, CancellationToken cancellationToken)
|
private async Task<CollectionResult> FetchMainResult(string id, string language, CancellationToken cancellationToken)
|
||||||
{
|
{
|
||||||
var url = string.Format(GetCollectionInfo3, id, TmdbUtils.ApiKey);
|
var url = string.Format(CultureInfo.InvariantCulture, GetCollectionInfo3, id, TmdbUtils.ApiKey);
|
||||||
|
|
||||||
if (!string.IsNullOrEmpty(language))
|
if (!string.IsNullOrEmpty(language))
|
||||||
{
|
{
|
||||||
@ -195,7 +192,7 @@ namespace MediaBrowser.Providers.Plugins.Tmdb.BoxSets
|
|||||||
requestMessage.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(header));
|
requestMessage.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(header));
|
||||||
}
|
}
|
||||||
|
|
||||||
using var mainResponse = await TmdbMovieProvider.Current.GetMovieDbResponse(requestMessage);
|
using var mainResponse = await TmdbMovieProvider.Current.GetMovieDbResponse(requestMessage, cancellationToken).ConfigureAwait(false);
|
||||||
await using var stream = await mainResponse.Content.ReadAsStreamAsync().ConfigureAwait(false);
|
await using var stream = await mainResponse.Content.ReadAsStreamAsync().ConfigureAwait(false);
|
||||||
var mainResult = await _json.DeserializeFromStreamAsync<CollectionResult>(stream).ConfigureAwait(false);
|
var mainResult = await _json.DeserializeFromStreamAsync<CollectionResult>(stream).ConfigureAwait(false);
|
||||||
|
|
||||||
@ -205,7 +202,7 @@ namespace MediaBrowser.Providers.Plugins.Tmdb.BoxSets
|
|||||||
{
|
{
|
||||||
if (!string.IsNullOrEmpty(language) && !string.Equals(language, "en", StringComparison.OrdinalIgnoreCase))
|
if (!string.IsNullOrEmpty(language) && !string.Equals(language, "en", StringComparison.OrdinalIgnoreCase))
|
||||||
{
|
{
|
||||||
url = string.Format(GetCollectionInfo3, id, TmdbUtils.ApiKey) + "&language=en";
|
url = string.Format(CultureInfo.InvariantCulture, GetCollectionInfo3, id, TmdbUtils.ApiKey) + "&language=en";
|
||||||
|
|
||||||
if (!string.IsNullOrEmpty(language))
|
if (!string.IsNullOrEmpty(language))
|
||||||
{
|
{
|
||||||
|
@ -155,7 +155,7 @@ namespace MediaBrowser.Providers.Plugins.Tmdb.Movies
|
|||||||
requestMessage.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(header));
|
requestMessage.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(header));
|
||||||
}
|
}
|
||||||
|
|
||||||
using var response = await GetMovieDbResponse(requestMessage).ConfigureAwait(false);
|
using var response = await GetMovieDbResponse(requestMessage, cancellationToken).ConfigureAwait(false);
|
||||||
await using var stream = await response.Content.ReadAsStreamAsync().ConfigureAwait(false);
|
await using var stream = await response.Content.ReadAsStreamAsync().ConfigureAwait(false);
|
||||||
_tmdbSettings = await _jsonSerializer.DeserializeFromStreamAsync<TmdbSettingsResult>(stream).ConfigureAwait(false);
|
_tmdbSettings = await _jsonSerializer.DeserializeFromStreamAsync<TmdbSettingsResult>(stream).ConfigureAwait(false);
|
||||||
return _tmdbSettings;
|
return _tmdbSettings;
|
||||||
@ -335,7 +335,7 @@ namespace MediaBrowser.Providers.Plugins.Tmdb.Movies
|
|||||||
requestMessage.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(header));
|
requestMessage.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(header));
|
||||||
}
|
}
|
||||||
|
|
||||||
using var mainResponse = await GetMovieDbResponse(requestMessage).ConfigureAwait(false);
|
using var mainResponse = await GetMovieDbResponse(requestMessage, cancellationToken).ConfigureAwait(false);
|
||||||
if (mainResponse.StatusCode == HttpStatusCode.NotFound)
|
if (mainResponse.StatusCode == HttpStatusCode.NotFound)
|
||||||
{
|
{
|
||||||
return null;
|
return null;
|
||||||
@ -368,7 +368,7 @@ namespace MediaBrowser.Providers.Plugins.Tmdb.Movies
|
|||||||
langRequestMessage.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(header));
|
langRequestMessage.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(header));
|
||||||
}
|
}
|
||||||
|
|
||||||
using var langResponse = await GetMovieDbResponse(langRequestMessage).ConfigureAwait(false);
|
using var langResponse = await GetMovieDbResponse(langRequestMessage, cancellationToken).ConfigureAwait(false);
|
||||||
|
|
||||||
await using var langStream = await langResponse.Content.ReadAsStreamAsync().ConfigureAwait(false);
|
await using var langStream = await langResponse.Content.ReadAsStreamAsync().ConfigureAwait(false);
|
||||||
var langResult = await _jsonSerializer.DeserializeFromStreamAsync<MovieResult>(stream).ConfigureAwait(false);
|
var langResult = await _jsonSerializer.DeserializeFromStreamAsync<MovieResult>(stream).ConfigureAwait(false);
|
||||||
@ -381,10 +381,10 @@ namespace MediaBrowser.Providers.Plugins.Tmdb.Movies
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets the movie db response.
|
/// Gets the movie db response.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
internal Task<HttpResponseMessage> GetMovieDbResponse(HttpRequestMessage message)
|
internal Task<HttpResponseMessage> GetMovieDbResponse(HttpRequestMessage message, CancellationToken cancellationToken = default)
|
||||||
{
|
{
|
||||||
message.Headers.UserAgent.ParseAdd(_appHost.ApplicationUserAgent);
|
message.Headers.UserAgent.ParseAdd(_appHost.ApplicationUserAgent);
|
||||||
return _httpClientFactory.CreateClient(NamedClient.Default).SendAsync(message);
|
return _httpClientFactory.CreateClient(NamedClient.Default).SendAsync(message, cancellationToken);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
|
@ -198,7 +198,7 @@ namespace MediaBrowser.Providers.Plugins.Tmdb.Movies
|
|||||||
requestMessage.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(header));
|
requestMessage.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(header));
|
||||||
}
|
}
|
||||||
|
|
||||||
using var response = await TmdbMovieProvider.Current.GetMovieDbResponse(requestMessage).ConfigureAwait(false);
|
using var response = await TmdbMovieProvider.Current.GetMovieDbResponse(requestMessage, cancellationToken).ConfigureAwait(false);
|
||||||
await using var stream = await response.Content.ReadAsStreamAsync().ConfigureAwait(false);
|
await using var stream = await response.Content.ReadAsStreamAsync().ConfigureAwait(false);
|
||||||
var searchResults = await _json.DeserializeFromStreamAsync<TmdbSearchResult<MovieResult>>(stream).ConfigureAwait(false);
|
var searchResults = await _json.DeserializeFromStreamAsync<TmdbSearchResult<MovieResult>>(stream).ConfigureAwait(false);
|
||||||
|
|
||||||
@ -261,7 +261,7 @@ namespace MediaBrowser.Providers.Plugins.Tmdb.Movies
|
|||||||
requestMessage.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(header));
|
requestMessage.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(header));
|
||||||
}
|
}
|
||||||
|
|
||||||
using var response = await TmdbMovieProvider.Current.GetMovieDbResponse(requestMessage).ConfigureAwait(false);
|
using var response = await TmdbMovieProvider.Current.GetMovieDbResponse(requestMessage, cancellationToken).ConfigureAwait(false);
|
||||||
await using var stream = await response.Content.ReadAsStreamAsync().ConfigureAwait(false);
|
await using var stream = await response.Content.ReadAsStreamAsync().ConfigureAwait(false);
|
||||||
var searchResults = await _json.DeserializeFromStreamAsync<TmdbSearchResult<TvResult>>(stream).ConfigureAwait(false);
|
var searchResults = await _json.DeserializeFromStreamAsync<TmdbSearchResult<TvResult>>(stream).ConfigureAwait(false);
|
||||||
|
|
||||||
|
@ -110,7 +110,7 @@ namespace MediaBrowser.Providers.Plugins.Tmdb.People
|
|||||||
requestMessage.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(header));
|
requestMessage.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(header));
|
||||||
}
|
}
|
||||||
|
|
||||||
var response = await TmdbMovieProvider.Current.GetMovieDbResponse(requestMessage).ConfigureAwait(false);
|
var response = await TmdbMovieProvider.Current.GetMovieDbResponse(requestMessage, cancellationToken).ConfigureAwait(false);
|
||||||
await using var stream = await response.Content.ReadAsStreamAsync().ConfigureAwait(false);
|
await using var stream = await response.Content.ReadAsStreamAsync().ConfigureAwait(false);
|
||||||
|
|
||||||
var result2 = await _jsonSerializer.DeserializeFromStreamAsync<TmdbSearchResult<PersonSearchResult>>(stream).ConfigureAwait(false)
|
var result2 = await _jsonSerializer.DeserializeFromStreamAsync<TmdbSearchResult<PersonSearchResult>>(stream).ConfigureAwait(false)
|
||||||
@ -243,7 +243,7 @@ namespace MediaBrowser.Providers.Plugins.Tmdb.People
|
|||||||
requestMessage.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(header));
|
requestMessage.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(header));
|
||||||
}
|
}
|
||||||
|
|
||||||
using var response = await TmdbMovieProvider.Current.GetMovieDbResponse(requestMessage).ConfigureAwait(false);
|
using var response = await TmdbMovieProvider.Current.GetMovieDbResponse(requestMessage, cancellationToken).ConfigureAwait(false);
|
||||||
Directory.CreateDirectory(Path.GetDirectoryName(dataFilePath));
|
Directory.CreateDirectory(Path.GetDirectoryName(dataFilePath));
|
||||||
await using var fs = new FileStream(dataFilePath, FileMode.Create, FileAccess.Write, FileShare.Read, IODefaults.FileStreamBufferSize, true);
|
await using var fs = new FileStream(dataFilePath, FileMode.Create, FileAccess.Write, FileShare.Read, IODefaults.FileStreamBufferSize, true);
|
||||||
await response.Content.CopyToAsync(fs).ConfigureAwait(false);
|
await response.Content.CopyToAsync(fs).ConfigureAwait(false);
|
||||||
|
@ -113,7 +113,13 @@ namespace MediaBrowser.Providers.Plugins.Tmdb.TV
|
|||||||
|
|
||||||
internal async Task<EpisodeResult> FetchMainResult(string urlPattern, string id, int seasonNumber, int episodeNumber, string language, CancellationToken cancellationToken)
|
internal async Task<EpisodeResult> FetchMainResult(string urlPattern, string id, int seasonNumber, int episodeNumber, string language, CancellationToken cancellationToken)
|
||||||
{
|
{
|
||||||
var url = string.Format(urlPattern, id, seasonNumber.ToString(CultureInfo.InvariantCulture), episodeNumber, TmdbUtils.ApiKey);
|
var url = string.Format(
|
||||||
|
CultureInfo.InvariantCulture,
|
||||||
|
urlPattern,
|
||||||
|
id,
|
||||||
|
seasonNumber.ToString(CultureInfo.InvariantCulture),
|
||||||
|
episodeNumber,
|
||||||
|
TmdbUtils.ApiKey);
|
||||||
|
|
||||||
if (!string.IsNullOrEmpty(language))
|
if (!string.IsNullOrEmpty(language))
|
||||||
{
|
{
|
||||||
@ -132,7 +138,7 @@ namespace MediaBrowser.Providers.Plugins.Tmdb.TV
|
|||||||
requestMessage.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(header));
|
requestMessage.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(header));
|
||||||
}
|
}
|
||||||
|
|
||||||
using var response = await TmdbMovieProvider.Current.GetMovieDbResponse(requestMessage);
|
using var response = await TmdbMovieProvider.Current.GetMovieDbResponse(requestMessage, cancellationToken).ConfigureAwait(false);
|
||||||
await using var stream = await response.Content.ReadAsStreamAsync().ConfigureAwait(false);
|
await using var stream = await response.Content.ReadAsStreamAsync().ConfigureAwait(false);
|
||||||
return await _jsonSerializer.DeserializeFromStreamAsync<EpisodeResult>(stream).ConfigureAwait(false);
|
return await _jsonSerializer.DeserializeFromStreamAsync<EpisodeResult>(stream).ConfigureAwait(false);
|
||||||
}
|
}
|
||||||
|
@ -200,7 +200,12 @@ namespace MediaBrowser.Providers.Plugins.Tmdb.TV
|
|||||||
|
|
||||||
internal async Task<SeasonResult> FetchMainResult(string id, int seasonNumber, string language, CancellationToken cancellationToken)
|
internal async Task<SeasonResult> FetchMainResult(string id, int seasonNumber, string language, CancellationToken cancellationToken)
|
||||||
{
|
{
|
||||||
var url = string.Format(GetTvInfo3, id, seasonNumber.ToString(CultureInfo.InvariantCulture), TmdbUtils.ApiKey);
|
var url = string.Format(
|
||||||
|
CultureInfo.InvariantCulture,
|
||||||
|
GetTvInfo3,
|
||||||
|
id,
|
||||||
|
seasonNumber.ToString(CultureInfo.InvariantCulture),
|
||||||
|
TmdbUtils.ApiKey);
|
||||||
|
|
||||||
if (!string.IsNullOrEmpty(language))
|
if (!string.IsNullOrEmpty(language))
|
||||||
{
|
{
|
||||||
@ -219,7 +224,7 @@ namespace MediaBrowser.Providers.Plugins.Tmdb.TV
|
|||||||
requestMessage.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(header));
|
requestMessage.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(header));
|
||||||
}
|
}
|
||||||
|
|
||||||
using var response = await TmdbMovieProvider.Current.GetMovieDbResponse(requestMessage).ConfigureAwait(false);
|
using var response = await TmdbMovieProvider.Current.GetMovieDbResponse(requestMessage, cancellationToken).ConfigureAwait(false);
|
||||||
await using var stream = await response.Content.ReadAsStreamAsync().ConfigureAwait(false);
|
await using var stream = await response.Content.ReadAsStreamAsync().ConfigureAwait(false);
|
||||||
return await _jsonSerializer.DeserializeFromStreamAsync<SeasonResult>(stream).ConfigureAwait(false);
|
return await _jsonSerializer.DeserializeFromStreamAsync<SeasonResult>(stream).ConfigureAwait(false);
|
||||||
}
|
}
|
||||||
|
@ -405,7 +405,7 @@ namespace MediaBrowser.Providers.Plugins.Tmdb.TV
|
|||||||
|
|
||||||
internal async Task<SeriesResult> FetchMainResult(string id, string language, CancellationToken cancellationToken)
|
internal async Task<SeriesResult> FetchMainResult(string id, string language, CancellationToken cancellationToken)
|
||||||
{
|
{
|
||||||
var url = string.Format(GetTvInfo3, id, TmdbUtils.ApiKey);
|
var url = string.Format(CultureInfo.InvariantCulture, GetTvInfo3, id, TmdbUtils.ApiKey);
|
||||||
|
|
||||||
if (!string.IsNullOrEmpty(language))
|
if (!string.IsNullOrEmpty(language))
|
||||||
{
|
{
|
||||||
@ -421,7 +421,7 @@ namespace MediaBrowser.Providers.Plugins.Tmdb.TV
|
|||||||
mainRequestMessage.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(header));
|
mainRequestMessage.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(header));
|
||||||
}
|
}
|
||||||
|
|
||||||
using var mainResponse = await TmdbMovieProvider.Current.GetMovieDbResponse(mainRequestMessage);
|
using var mainResponse = await TmdbMovieProvider.Current.GetMovieDbResponse(mainRequestMessage, cancellationToken).ConfigureAwait(false);
|
||||||
await using var mainStream = await mainResponse.Content.ReadAsStreamAsync().ConfigureAwait(false);
|
await using var mainStream = await mainResponse.Content.ReadAsStreamAsync().ConfigureAwait(false);
|
||||||
var mainResult = await _jsonSerializer.DeserializeFromStreamAsync<SeriesResult>(mainStream).ConfigureAwait(false);
|
var mainResult = await _jsonSerializer.DeserializeFromStreamAsync<SeriesResult>(mainStream).ConfigureAwait(false);
|
||||||
|
|
||||||
@ -440,7 +440,7 @@ namespace MediaBrowser.Providers.Plugins.Tmdb.TV
|
|||||||
{
|
{
|
||||||
_logger.LogInformation("MovieDbSeriesProvider couldn't find meta for language {Language}. Trying English...", language);
|
_logger.LogInformation("MovieDbSeriesProvider couldn't find meta for language {Language}. Trying English...", language);
|
||||||
|
|
||||||
url = string.Format(GetTvInfo3, id, TmdbUtils.ApiKey) + "&language=en";
|
url = string.Format(CultureInfo.InvariantCulture, GetTvInfo3, id, TmdbUtils.ApiKey) + "&language=en";
|
||||||
|
|
||||||
if (!string.IsNullOrEmpty(language))
|
if (!string.IsNullOrEmpty(language))
|
||||||
{
|
{
|
||||||
@ -454,7 +454,7 @@ namespace MediaBrowser.Providers.Plugins.Tmdb.TV
|
|||||||
mainRequestMessage.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(header));
|
mainRequestMessage.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(header));
|
||||||
}
|
}
|
||||||
|
|
||||||
using var response = await TmdbMovieProvider.Current.GetMovieDbResponse(requestMessage);
|
using var response = await TmdbMovieProvider.Current.GetMovieDbResponse(requestMessage, cancellationToken).ConfigureAwait(false);
|
||||||
await using var stream = await response.Content.ReadAsStreamAsync().ConfigureAwait(false);
|
await using var stream = await response.Content.ReadAsStreamAsync().ConfigureAwait(false);
|
||||||
var englishResult = await _jsonSerializer.DeserializeFromStreamAsync<SeriesResult>(stream).ConfigureAwait(false);
|
var englishResult = await _jsonSerializer.DeserializeFromStreamAsync<SeriesResult>(stream).ConfigureAwait(false);
|
||||||
|
|
||||||
@ -504,7 +504,9 @@ namespace MediaBrowser.Providers.Plugins.Tmdb.TV
|
|||||||
|
|
||||||
private async Task<RemoteSearchResult> FindByExternalId(string id, string externalSource, CancellationToken cancellationToken)
|
private async Task<RemoteSearchResult> FindByExternalId(string id, string externalSource, CancellationToken cancellationToken)
|
||||||
{
|
{
|
||||||
var url = string.Format(TmdbUtils.BaseTmdbApiUrl + @"3/find/{0}?api_key={1}&external_source={2}",
|
var url = string.Format(
|
||||||
|
CultureInfo.InvariantCulture,
|
||||||
|
TmdbUtils.BaseTmdbApiUrl + @"3/find/{0}?api_key={1}&external_source={2}",
|
||||||
id,
|
id,
|
||||||
TmdbUtils.ApiKey,
|
TmdbUtils.ApiKey,
|
||||||
externalSource);
|
externalSource);
|
||||||
@ -515,7 +517,7 @@ namespace MediaBrowser.Providers.Plugins.Tmdb.TV
|
|||||||
requestMessage.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(header));
|
requestMessage.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue(header));
|
||||||
}
|
}
|
||||||
|
|
||||||
using var response = await TmdbMovieProvider.Current.GetMovieDbResponse(requestMessage);
|
using var response = await TmdbMovieProvider.Current.GetMovieDbResponse(requestMessage, cancellationToken).ConfigureAwait(false);
|
||||||
await using var stream = await response.Content.ReadAsStreamAsync().ConfigureAwait(false);
|
await using var stream = await response.Content.ReadAsStreamAsync().ConfigureAwait(false);
|
||||||
|
|
||||||
var result = await _jsonSerializer.DeserializeFromStreamAsync<ExternalIdLookupResult>(stream).ConfigureAwait(false);
|
var result = await _jsonSerializer.DeserializeFromStreamAsync<ExternalIdLookupResult>(stream).ConfigureAwait(false);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user