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() }); }