Exemple #1
0
 private MediaServer.Models.ProtoGenerated.Series BuildInternal(SonarrSharp.Models.Series series)
 {
     return(new MediaServer.Models.ProtoGenerated.Series
     {
         Id = series.Id,
         Title = series.Title,
         ImagesUrl = new ImagesUrl
         {
             Banner = $"/MediaCover/{series.Id}/banner.jpg",
             Poster = $"/MediaCover/{series.Id}/poster.jpg",
             Fanart = $"/MediaCover/{series.Id}/fanart.jpg",
         },
         Overview = series.Overview,
         Monitored = series.Monitored,
     });
 }
        private async Task <IList <Media> > GetSeriesInformationAsync(SonarrSeries serie)
        {
            var media = new List <Media>();

            var episodesTask     = _client.Episode.GetEpisodes(serie.Id);
            var episodeFilesTask = _client.EpisodeFile.GetEpisodeFiles(serie.Id);

            await Task.WhenAll(episodesTask, episodeFilesTask);

            var episodes     = await episodesTask;
            var episodeFiles = await episodeFilesTask;

            foreach (var episode in episodes.Where(episode => episode.HasFile))
            {
                var episodeFile = episodeFiles.FirstOrDefault(ef => ef.Id == episode.EpisodeFileId);
                media.Add(ConvertEpisode(serie, episode, episodeFile));
            }

            return(media);
        }
        private Episode ConvertEpisode(SonarrSeries serie, SonarrEpisode episode, SonarrEpisodeFile file)
        {
            var converted = new Episode
            {
                Title         = serie.Title,
                Year          = serie.Year,
                ImdbId        = serie.ImdbId,
                SeriesFolder  = serie.Path,
                SeasonNumber  = episode.SeasonNumber,
                EpisodeNumber = episode.EpisodeNumber
            };

            if (file != null)
            {
                converted.File         = Path.GetFileName(file.Path);
                converted.OriginalName = file.SceneName;
                converted.Quality      = file.Quality.Quality.Name.ToString();
                converted.Proper       = file.Quality.Proper;
            }

            return(converted);
        }
Exemple #4
0
 public MediaServer.Models.ProtoGenerated.Series Build(SonarrSharp.Models.Series series)
 {
     return(BuildInternal(series));
 }