public static async Task GetEpisodeMetadata(TvDbWrapper api, string seriesId, string seasonPath) { var fullRec = await api.GetSeriesFullRecord(seriesId).ConfigureAwait(false); var seasonName = new DirectoryInfo(seasonPath).Name; var seasonNo = seasonName.Split(" ".ToCharArray())[1]; var banners = await api.GetArtwork(fullRec.Series.Id, BannerType.season).ConfigureAwait(false); await GetEpisodeMetadata(api, fullRec, seasonPath, banners, seasonNo).ConfigureAwait(false); }
public static async Task <IEnumerable <Episode> > GetEpisodes(TvDbWrapper api, string seasonPath) { var parent = new DirectoryInfo(seasonPath).Parent; var seriesId = SeriesIOHelper.GetSeriesIdFromFile(parent.FullName); var fullRec = await api.GetSeriesFullRecord(seriesId).ConfigureAwait(false); var seasonName = new DirectoryInfo(seasonPath).Name; var seasonNo = seasonName.Split(" ".ToCharArray())[1]; var seasonEpisodes = fullRec.Episodes.Where(ep => ep.CombinedSeason == seasonNo); return(seasonEpisodes); }
public static async Task GetSeriesInfo(TvDbWrapper api, string seriesPath, string seriesId, bool includeSeasons = false) { var fullRec = await api.GetSeriesFullRecord(seriesId).ConfigureAwait(false); var banners = await api.GetSeriesBanners(fullRec.Series.Id).ConfigureAwait(false); await SetSeriesData(api, seriesPath, fullRec, banners).ConfigureAwait(false); //then season data if (includeSeasons) { foreach (var seasonPath in Directory.EnumerateDirectories(seriesPath)) { var seasonName = new DirectoryInfo(seasonPath).Name; var seasonNo = seasonName.Split(" ".ToCharArray())[1]; await SeasonHelper.GetEpisodeMetadata(api, fullRec, seasonPath, banners, seasonNo).ConfigureAwait(false); } } }