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);
        }
Пример #3
0
        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);
     }
 }
Пример #5
0
 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);
        }
Пример #8
0
        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 async Task UpdateInformationMetadata(string path, FullSerie serie)
 {
     TvShowMetadata metadata = MapFullSerieToMetadata(serie);
     await UpdateActorsMetadata(path, metadata);
     await Save(path, metadata);
 }
 private static List <string> MapGenres(FullSerie serie)
 {
     return(serie.Genre.Split('|')
            .Where(genre => !string.IsNullOrEmpty(genre))
            .ToList());
 }