Пример #1
0
        public static Task<Model.Epg> GetMetadata(Model.Epg epg, CancellationToken cancellationToken)
        {
            return Task.Run(async () =>
            {
                var movieItem = new MediaBrowser.Controller.Entities.Movies.Movie();

                try
                {
                    var movieInfo = new MovieInfo
                    {
                        Name = epg.Title,
                        MetadataLanguage = "en",
                    };

                    if (Cache[epg.Title] == null)
                    {
                        MetadataResult<MediaBrowser.Controller.Entities.Movies.Movie> omdbMovie;

                        var omdbItemProvider = new OmdbItemProvider(LiveTvService.JsonSerializer,
                            LiveTvService.HttpClient, LiveTvService.Logger, LiveTvService.LibraryManager, LiveTvService.FileSystem, LiveTvService.Config);

                        omdbMovie = await omdbItemProvider.GetMetadata(movieInfo, cancellationToken);

                        var imdbId = omdbMovie.Item.GetProviderId(MetadataProviders.Imdb);

                        Cache.Add(epg.Title, movieItem, DateTimeOffset.Now.AddDays(1));
                    }
                    else movieItem = Cache[epg.Title] as MediaBrowser.Controller.Entities.Movies.Movie;
                }
                catch (Exception exception)
                {
                    epg = null;

                    //Logger.Error("Series provider error: " + exception.Message);
                    //Logger.ErrorException("Movie provider error", exception);
                }

                return epg;
            });
        }
        public ValueGroup CalculateBiggestMovie()
        {
            var movies = GetAllMovies();

            var    biggestMovie = new MediaBrowser.Controller.Entities.Movies.Movie();
            double maxSize      = 0;

            foreach (var movie in movies)
            {
                try
                {
                    var f = _fileSystem.GetFileSystemInfo(movie.Path);
                    if (maxSize >= f.Length)
                    {
                        continue;
                    }

                    maxSize      = f.Length;
                    biggestMovie = movie;
                }
                catch (Exception)
                {
                    // ignored
                }
            }

            maxSize = maxSize / 1073741824; //Byte to Gb
            var valueLineOne = CheckMaxLength($"{maxSize:F1} Gb");
            var valueLineTwo = CheckMaxLength($"{biggestMovie.Name}");

            return(new ValueGroup
            {
                Title = Constants.BiggestMovie,
                ValueLineOne = valueLineOne,
                ValueLineTwo = valueLineTwo,
                Size = "half",
                Id = biggestMovie.Id.ToString()
            });
        }