Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Minor improvements #4078

Merged
merged 1 commit into from Sep 7, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
Expand Up @@ -37,7 +37,6 @@ public class TmdbBoxSetProvider : IRemoteMetadataProvider<BoxSet, BoxSetInfo>
private readonly IJsonSerializer _json;
private readonly IServerConfigurationManager _config;
private readonly IFileSystem _fileSystem;
private readonly ILocalizationManager _localization;
private readonly IHttpClientFactory _httpClientFactory;
private readonly ILibraryManager _libraryManager;

Expand All @@ -46,15 +45,13 @@ public class TmdbBoxSetProvider : IRemoteMetadataProvider<BoxSet, BoxSetInfo>
IJsonSerializer json,
IServerConfigurationManager config,
IFileSystem fileSystem,
ILocalizationManager localization,
IHttpClientFactory httpClientFactory,
ILibraryManager libraryManager)
{
_logger = logger;
_json = json;
_config = config;
_fileSystem = fileSystem;
_localization = localization;
_httpClientFactory = httpClientFactory;
_libraryManager = libraryManager;
Current = this;
Expand Down Expand Up @@ -177,7 +174,7 @@ private async Task DownloadInfo(string tmdbId, string preferredMetadataLanguage,

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))
{
Expand All @@ -195,7 +192,7 @@ private async Task<CollectionResult> FetchMainResult(string id, string language,
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);
var mainResult = await _json.DeserializeFromStreamAsync<CollectionResult>(stream).ConfigureAwait(false);

Expand All @@ -205,7 +202,7 @@ private async Task<CollectionResult> FetchMainResult(string id, string language,
{
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))
{
Expand Down
10 changes: 5 additions & 5 deletions MediaBrowser.Providers/Plugins/Tmdb/Movies/TmdbMovieProvider.cs
Expand Up @@ -155,7 +155,7 @@ internal async Task<TmdbSettingsResult> GetTmdbSettings(CancellationToken cancel
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);
_tmdbSettings = await _jsonSerializer.DeserializeFromStreamAsync<TmdbSettingsResult>(stream).ConfigureAwait(false);
return _tmdbSettings;
Expand Down Expand Up @@ -335,7 +335,7 @@ internal async Task<MovieResult> FetchMainResult(string id, bool isTmdbId, strin
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)
{
return null;
Expand Down Expand Up @@ -368,7 +368,7 @@ internal async Task<MovieResult> FetchMainResult(string id, bool isTmdbId, strin
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);
var langResult = await _jsonSerializer.DeserializeFromStreamAsync<MovieResult>(stream).ConfigureAwait(false);
Expand All @@ -381,10 +381,10 @@ internal async Task<MovieResult> FetchMainResult(string id, bool isTmdbId, strin
/// <summary>
/// Gets the movie db response.
/// </summary>
internal Task<HttpResponseMessage> GetMovieDbResponse(HttpRequestMessage message)
internal Task<HttpResponseMessage> GetMovieDbResponse(HttpRequestMessage message, CancellationToken cancellationToken = default)
{
message.Headers.UserAgent.ParseAdd(_appHost.ApplicationUserAgent);
return _httpClientFactory.CreateClient(NamedClient.Default).SendAsync(message);
return _httpClientFactory.CreateClient(NamedClient.Default).SendAsync(message, cancellationToken);
}

/// <inheritdoc />
Expand Down
4 changes: 2 additions & 2 deletions MediaBrowser.Providers/Plugins/Tmdb/Movies/TmdbSearch.cs
Expand Up @@ -198,7 +198,7 @@ private async Task<List<RemoteSearchResult>> GetSearchResultsGeneric(string name
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);
var searchResults = await _json.DeserializeFromStreamAsync<TmdbSearchResult<MovieResult>>(stream).ConfigureAwait(false);

Expand Down Expand Up @@ -261,7 +261,7 @@ private async Task<List<RemoteSearchResult>> GetSearchResultsTv(string name, int
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);
var searchResults = await _json.DeserializeFromStreamAsync<TmdbSearchResult<TvResult>>(stream).ConfigureAwait(false);

Expand Down
Expand Up @@ -110,7 +110,7 @@ public async Task<IEnumerable<RemoteSearchResult>> GetSearchResults(PersonLookup
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);

var result2 = await _jsonSerializer.DeserializeFromStreamAsync<TmdbSearchResult<PersonSearchResult>>(stream).ConfigureAwait(false)
Expand Down Expand Up @@ -243,7 +243,7 @@ internal async Task EnsurePersonInfo(string id, CancellationToken cancellationTo
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));
await using var fs = new FileStream(dataFilePath, FileMode.Create, FileAccess.Write, FileShare.Read, IODefaults.FileStreamBufferSize, true);
await response.Content.CopyToAsync(fs).ConfigureAwait(false);
Expand Down
Expand Up @@ -113,7 +113,13 @@ internal async Task DownloadEpisodeInfo(string id, int seasonNumber, int episode

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))
{
Expand All @@ -132,7 +138,7 @@ internal async Task<EpisodeResult> FetchMainResult(string urlPattern, string id,
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);
return await _jsonSerializer.DeserializeFromStreamAsync<EpisodeResult>(stream).ConfigureAwait(false);
}
Expand Down
9 changes: 7 additions & 2 deletions MediaBrowser.Providers/Plugins/Tmdb/TV/TmdbSeasonProvider.cs
Expand Up @@ -200,7 +200,12 @@ internal async Task DownloadSeasonInfo(string id, int seasonNumber, string prefe

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))
{
Expand All @@ -219,7 +224,7 @@ internal async Task<SeasonResult> FetchMainResult(string id, int seasonNumber, s
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);
return await _jsonSerializer.DeserializeFromStreamAsync<SeasonResult>(stream).ConfigureAwait(false);
}
Expand Down
14 changes: 8 additions & 6 deletions MediaBrowser.Providers/Plugins/Tmdb/TV/TmdbSeriesProvider.cs
Expand Up @@ -405,7 +405,7 @@ internal async Task DownloadSeriesInfo(string id, string preferredMetadataLangua

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))
{
Expand All @@ -421,7 +421,7 @@ internal async Task<SeriesResult> FetchMainResult(string id, string language, Ca
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);
var mainResult = await _jsonSerializer.DeserializeFromStreamAsync<SeriesResult>(mainStream).ConfigureAwait(false);

Expand All @@ -440,7 +440,7 @@ internal async Task<SeriesResult> FetchMainResult(string id, string language, Ca
{
_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))
{
Expand All @@ -454,7 +454,7 @@ internal async Task<SeriesResult> FetchMainResult(string id, string language, Ca
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);
var englishResult = await _jsonSerializer.DeserializeFromStreamAsync<SeriesResult>(stream).ConfigureAwait(false);

Expand Down Expand Up @@ -504,7 +504,9 @@ internal string GetDataFilePath(string tmdbId, string preferredLanguage)

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,
TmdbUtils.ApiKey,
externalSource);
Expand All @@ -515,7 +517,7 @@ private async Task<RemoteSearchResult> FindByExternalId(string id, string extern
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);

var result = await _jsonSerializer.DeserializeFromStreamAsync<ExternalIdLookupResult>(stream).ConfigureAwait(false);
Expand Down