private SubsceneSubtitle CreateSubtitleFromLink(HtmlNode anchor, string link) { const string goodRatingClassName = "r100"; const string neutralRatingClassName = "r0"; var spans = anchor.Elements("span").ToArray(); var firstSpan = spans.First(); var ratingClass = firstSpan.Attributes["class"].Value; var ratingType = ratingClass.Contains(goodRatingClassName) ? 1 : ratingClass.Contains(neutralRatingClassName) ? 0 : -1; var language = firstSpan.InnerText.Trim(); var lastSpan = spans.Last(); var releaseName = RemoveComments(lastSpan?.InnerText.Trim()); var relaseIdentity = _releaseParser.ParseEpisodeInfo(releaseName); var subtitle = new SubsceneSubtitle { SubtitleLink = link, LanguageName = language, ReleaseName = releaseName, SeriesName = relaseIdentity.SeriesName, Season = relaseIdentity.Season, Episode = relaseIdentity.Episode, EndEpisode = relaseIdentity.EndEpisode, ReleaseGroup = relaseIdentity.ReleaseGroup, RatingType = ratingType }; return subtitle; }
private static Subtitle CreateSubtitle(SubsceneSubtitle subtitle) { return new Subtitle( subtitle.SubtitleLink, subtitle.ReleaseName, KnownLanguages.GetLanguageByName(subtitle.LanguageName)) { SeriesName = subtitle.SeriesName, Season = subtitle.Season, Episode = subtitle.Episode, EndEpisode = subtitle.EndEpisode, ReleaseGroup = subtitle.ReleaseGroup }; }