private void UpdateSortTitles(IDbConnection conn, IDbTransaction tran) { using (IDbCommand getSeriesCmd = conn.CreateCommand()) { getSeriesCmd.Transaction = tran; getSeriesCmd.CommandText = @"SELECT Id, TvdbId, Title FROM Series"; using (IDataReader seriesReader = getSeriesCmd.ExecuteReader()) { while (seriesReader.Read()) { var id = seriesReader.GetInt32(0); var tvdbId = seriesReader.GetInt32(1); var title = seriesReader.GetString(2); var sortTitle = SeriesTitleNormalizer.Normalize(title, tvdbId); using (IDbCommand updateCmd = conn.CreateCommand()) { updateCmd.Transaction = tran; updateCmd.CommandText = "UPDATE Series SET SortTitle = ? WHERE Id = ?"; updateCmd.AddParameter(sortTitle); updateCmd.AddParameter(id); updateCmd.ExecuteNonQuery(); } } } } }
private static Series MapSeries(ShowResource show) { var series = new Series(); series.TvdbId = show.TvdbId; if (show.TvRageId.HasValue) { series.TvRageId = show.TvRageId.Value; } if (show.TvMazeId.HasValue) { series.TvMazeId = show.TvMazeId.Value; } series.ImdbId = show.ImdbId; series.Title = show.Title; series.CleanTitle = Parser.Parser.CleanSeriesTitle(show.Title); series.SortTitle = SeriesTitleNormalizer.Normalize(show.Title, show.TvdbId); if (show.FirstAired != null) { series.FirstAired = DateTime.Parse(show.FirstAired).ToUniversalTime(); series.Year = series.FirstAired.Value.Year; } series.Overview = show.Overview; if (show.Runtime != null) { series.Runtime = show.Runtime.Value; } series.Network = show.Network; if (show.TimeOfDay != null) { series.AirTime = string.Format("{0:00}:{1:00}", show.TimeOfDay.Hours, show.TimeOfDay.Minutes); } series.TitleSlug = show.Slug; series.Status = MapSeriesStatus(show.Status); series.Ratings = MapRatings(show.Rating); series.Genres = show.Genres; if (show.ContentRating.IsNotNullOrWhiteSpace()) { series.Certification = show.ContentRating.ToUpper(); } series.Actors = show.Actors.Select(MapActors).ToList(); series.Seasons = show.Seasons.Select(MapSeason).ToList(); series.Images = show.Images.Select(MapImage).ToList(); series.Monitored = true; return(series); }
private void ValidateSeries(Series series) { series.Should().NotBeNull(); series.Title.Should().NotBeNullOrWhiteSpace(); series.CleanTitle.Should().Be(Parser.Parser.CleanSeriesTitle(series.Title)); series.SortTitle.Should().Be(SeriesTitleNormalizer.Normalize(series.Title, series.TvdbId)); series.Overview.Should().NotBeNullOrWhiteSpace(); series.AirTime.Should().NotBeNullOrWhiteSpace(); series.FirstAired.Should().HaveValue(); series.FirstAired.Value.Kind.Should().Be(DateTimeKind.Utc); series.Images.Should().NotBeEmpty(); series.ImdbId.Should().NotBeNullOrWhiteSpace(); series.Network.Should().NotBeNullOrWhiteSpace(); series.Runtime.Should().BeGreaterThan(0); series.TitleSlug.Should().NotBeNullOrWhiteSpace(); //series.TvRageId.Should().BeGreaterThan(0); series.TvdbId.Should().BeGreaterThan(0); }
private static Series MapSeries(Show show) { var series = new Series(); series.TvdbId = show.tvdb_id; series.TvRageId = show.tvrage_id; series.ImdbId = show.imdb_id; series.Title = show.title; series.CleanTitle = Parser.Parser.CleanSeriesTitle(show.title); series.SortTitle = SeriesTitleNormalizer.Normalize(show.title, show.tvdb_id); series.Year = GetYear(show.year, show.first_aired); series.FirstAired = FromIso(show.first_aired_iso); series.Overview = show.overview; series.Runtime = show.runtime; series.Network = show.network; series.AirTime = show.air_time; series.TitleSlug = GetTitleSlug(show.url); series.Status = GetSeriesStatus(show.status, show.ended); series.Ratings = GetRatings(show.ratings); series.Genres = show.genres; series.Certification = show.certification; series.Actors = GetActors(show.people); series.Seasons = GetSeasons(show); series.Images.Add(new MediaCover.MediaCover { CoverType = MediaCoverTypes.Banner, Url = show.images.banner }); series.Images.Add(new MediaCover.MediaCover { CoverType = MediaCoverTypes.Poster, Url = GetPosterThumbnailUrl(show.images.poster) }); series.Images.Add(new MediaCover.MediaCover { CoverType = MediaCoverTypes.Fanart, Url = show.images.fanart }); return(series); }
public void should_normalize_title(String title, String expected) { SeriesTitleNormalizer.Normalize(title, 0).Should().Be(expected); }
public void should_use_precomputed_title(string title, int tvdbId, string expected) { SeriesTitleNormalizer.Normalize(title, tvdbId).Should().Be(expected); }
private static Series MapSeries(TVDBSharp.Models.Show show) { var series = new Series(); series.TvdbId = show.Id; //series.TvRageId = show.tvrage_id; series.ImdbId = show.ImdbId; series.Title = show.Name; series.CleanTitle = Parser.Parser.CleanSeriesTitle(show.Name); series.SortTitle = SeriesTitleNormalizer.Normalize(show.Name, show.Id); if (show.FirstAired != null) { series.Year = show.FirstAired.Value.Year; series.FirstAired = show.FirstAired.Value.ToUniversalTime(); } series.Overview = show.Description; if (show.Runtime != null) { series.Runtime = show.Runtime.Value; } series.Network = show.Network; if (show.AirTime != null) { series.AirTime = show.AirTime.Value.ToString(); } series.TitleSlug = GenerateSlug(show.Name); series.Status = GetSeriesStatus(show.Status); series.Ratings = GetRatings(show.RatingCount, show.Rating); series.Genres = show.Genres; series.Certification = show.ContentRating.ToString().ToUpper(); series.Actors = new List <Tv.Actor>(); series.Seasons = GetSeasons(show); if (show.Banner != null) { series.Images.Add(new MediaCover.MediaCover { CoverType = MediaCoverTypes.Banner, Url = show.Banner.ToString() }); } if (show.Poster != null) { series.Images.Add(new MediaCover.MediaCover { CoverType = MediaCoverTypes.Poster, Url = show.Poster.ToString() }); } if (show.Fanart != null) { series.Images.Add(new MediaCover.MediaCover { CoverType = MediaCoverTypes.Fanart, Url = show.Fanart.ToString() }); } return(series); }
public void should_use_precomputed_title_for_a_to_z() { SeriesTitleNormalizer.Normalize("A to Z", 281588).Should().Be("a to z"); }