public async Task Update(string path) { FullSerie serie = await FindFullSerie(path); await UpdateInformationMetadata(path, serie); await UpdateImages(path, serie.Id); }
private async Task UpdateInformationMetadata(string path, FullSerie serie) { TvShowMetadata metadata = MapFullSerieToMetadata(serie); await UpdateActorsMetadata(path, metadata); await Save(path, metadata); }
public async Task <FullSerie> GetTvShowMetadata(string serieId) { string url = string.Format("api/{0}/series/{1}/en.xml", TvShowHelper.TheTvDbApiKey, serieId); FullSerie fullSerie = await _restApiService.Get <FullSerie>(url); FixSerieUrl(fullSerie); return(fullSerie); }
private void FixSerieUrl(FullSerie serie) { if (serie != null) { serie.Fanart = TvShowHelper.ExpandImagesUrl(serie.Fanart); serie.Banner = TvShowHelper.ExpandImagesUrl(serie.Banner); serie.Poster = TvShowHelper.ExpandImagesUrl(serie.Poster); } }
private async Task <FullSerie> FindFullSerie(string path) { string seriesId = await GetSeriesId(path); FullSerie fullSerie = await _metadataUpdater.GetTvShowMetadata(seriesId); if (fullSerie == null) { throw new TvShowNotFoundException(path); } return(fullSerie); }
private TvShowMetadata MapFullSerieToMetadata(FullSerie serie) { TvShowMetadata metadata = new TvShowMetadata(); metadata.Genres = MapGenres(serie); metadata.Id = serie.Id; metadata.ImdbId = serie.ImdbId; metadata.Language = serie.Language; metadata.MpaaRating = serie.ContentRating; metadata.Plot = serie.Overview; metadata.Premiered = serie.FirstAired; metadata.Rating = serie.Rating; metadata.RuntimeInMinutes = serie.Runtime; //metadata.State = serie.Status; metadata.Studio = serie.Network; metadata.Title = serie.SeriesName; return(metadata); }
public async Task Update_WhenSerieAlreadyHasMetadata_UpdatesImages() { // Arrange _metadataRepository.Get(_path) .Returns(new TvShowMetadata { Id = "456" }.ToTask()); FullSerie fullSerie = CreateFullSerie(); _metadataUpdater.GetTvShowMetadata("456") .Returns(fullSerie.ToTask()); // Act await _service.Update(_path); // Assert _imageService.Received() .Update(_path, Arg.Any <AvailableTvShowImages>()).Async(); }
private static List<string> MapGenres(FullSerie serie) { return serie.Genre.Split('|') .Where(genre => !string.IsNullOrEmpty(genre)) .ToList(); }
private TvShowMetadata MapFullSerieToMetadata(FullSerie serie) { TvShowMetadata metadata = new TvShowMetadata(); metadata.Genres = MapGenres(serie); metadata.Id = serie.Id; metadata.ImdbId = serie.ImdbId; metadata.Language = serie.Language; metadata.MpaaRating = serie.ContentRating; metadata.Plot = serie.Overview; metadata.Premiered = serie.FirstAired; metadata.Rating = serie.Rating; metadata.RuntimeInMinutes = serie.Runtime; //metadata.State = serie.Status; metadata.Studio = serie.Network; metadata.Title = serie.SeriesName; return metadata; }
private static List <string> MapGenres(FullSerie serie) { return(serie.Genre.Split('|') .Where(genre => !string.IsNullOrEmpty(genre)) .ToList()); }