private int GetSearchResultOrder(TmdbMovieSearchResult result, int?year) { if (year.HasValue) { DateTime r; // These dates are always in this exact format if (DateTime.TryParseExact(result.release_date, "yyyy-MM-dd", EnUs, DateTimeStyles.None, out r)) { return(Math.Abs(r.Year - year.Value)); } } return(0); }
private int GetSearchResultOrder(TmdbMovieSearchResult result, int?year) { if (year.HasValue) { DateTime r; // These dates are always in this exact format if (DateTime.TryParseExact(result.release_date, "yyyy-MM-dd", EnUs, DateTimeStyles.None, out r)) { // Allow one year tolernace, preserve order from Tmdb var variance = Math.Abs(r.Year - year.Value); if (variance <= 1) { return(0); } return(variance); } } return(int.MaxValue); }
private int GetSearchResultOrder(TmdbMovieSearchResult result, int? year) { if (year.HasValue) { DateTime r; // These dates are always in this exact format if (DateTime.TryParseExact(result.release_date, "yyyy-MM-dd", EnUs, DateTimeStyles.None, out r)) { return Math.Abs(r.Year - year.Value); } } return 0; }
private async Task UpdateContentWithTmdbData(CancellationToken cancellationToken, BlurNItem blurNItem) { cancellationToken.ThrowIfCancellationRequested(); try { TmdbMovieSearchResult tmdbMovie = null; bool needEnglishLanguagePoster = false; bool needEnglishLanguageTitle = true; using (var tmdbContent = await _httpClient.Get(new HttpRequestOptions() { Url = $"https://api.themoviedb.org/3/find/{blurNItem.ImdbId}?api_key=3e97b8d1c00a0f2fe72054febe695276&external_source=imdb_id" + ((Plugin.Instance.Configuration.UseInterfaceLanguage) ? $"&language={_serverConfigurationManager.Configuration.UICulture}&include_image_language=en,null" : ""), CancellationToken = cancellationToken, BufferContent = false, EnableDefaultUserAgent = true, AcceptHeader = "application/json,image/*", EnableHttpCompression = true, DecompressionMethod = CompressionMethod.Gzip }).ConfigureAwait(false)) { var tmdb = _json.DeserializeFromStream <TmdbMovieFindResult>(tmdbContent); tmdbMovie = tmdb.movie_results.First(); blurNItem.Poster = $"https://image.tmdb.org/t/p/original{tmdbMovie.poster_path}"; blurNItem.TmdbId = tmdbMovie.id; needEnglishLanguagePoster = !(!Plugin.Instance.Configuration.UseInterfaceLanguage || string.IsNullOrWhiteSpace(tmdbMovie.original_language) || tmdbMovie.original_language == "en" || _serverConfigurationManager.Configuration.UICulture.StartsWith("en") || _serverConfigurationManager.Configuration.UICulture.StartsWith(tmdbMovie.original_language)); if (!needEnglishLanguagePoster || tmdbMovie.original_title != tmdbMovie.title) { if (!string.IsNullOrWhiteSpace(tmdbMovie.title)) { blurNItem.Title = tmdbMovie.title; needEnglishLanguageTitle = false; } if (!string.IsNullOrWhiteSpace(tmdbMovie.overview)) { blurNItem.Plot = tmdbMovie.overview; } } } if (needEnglishLanguagePoster) { // Get English poster instead using (var tmdbContent = await _httpClient.Get(new HttpRequestOptions() { Url = $"https://api.themoviedb.org/3/find/{blurNItem.ImdbId}?api_key=3e97b8d1c00a0f2fe72054febe695276&external_source=imdb_id&language=en&include_image_language=null", CancellationToken = cancellationToken, BufferContent = false, EnableDefaultUserAgent = true, AcceptHeader = "application/json,image/*", EnableHttpCompression = true, DecompressionMethod = CompressionMethod.Gzip }).ConfigureAwait(false)) { var tmdb = _json.DeserializeFromStream <TmdbMovieFindResult>(tmdbContent); tmdbMovie = tmdb.movie_results.First(); blurNItem.Poster = $"https://image.tmdb.org/t/p/original{tmdbMovie.poster_path}"; if (needEnglishLanguageTitle) { if (!string.IsNullOrWhiteSpace(tmdbMovie.title)) { blurNItem.Title = tmdbMovie.title; } if (!string.IsNullOrWhiteSpace(tmdbMovie.overview)) { blurNItem.Plot = tmdbMovie.overview; } } } } } catch { } }
private int GetSearchResultOrder(TmdbMovieSearchResult result, int? year) { if (year.HasValue) { DateTime r; // These dates are always in this exact format if (DateTime.TryParseExact(result.release_date, "yyyy-MM-dd", EnUs, DateTimeStyles.None, out r)) { // Allow one year tolernace, preserve order from Tmdb var variance = Math.Abs(r.Year - year.Value); if (variance <= 1) { return 0; } return variance; } } return int.MaxValue; }