Ejemplo n.º 1
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))
                {
                    return(Math.Abs(r.Year - year.Value));
                }
            }

            return(0);
        }
Ejemplo n.º 2
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);
        }
Ejemplo n.º 3
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))
                {
                    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
            { }
        }
Ejemplo n.º 5
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;
        }