public void should_parse_false_positive_chinese_anime_releases(string postTitle, string title, string subgroup, int absoluteEpisodeNumber) { postTitle = XmlCleaner.ReplaceUnicode(postTitle); var result = Parser.Parser.ParseTitle(postTitle); result.Should().NotBeNull(); result.ReleaseGroup.Should().Be(subgroup); result.AbsoluteEpisodeNumbers.Single().Should().Be(absoluteEpisodeNumber); result.SeriesTitle.Should().Be(title); result.FullSeason.Should().BeFalse(); }
//[TestCase("【漫貓&愛戀字幕組】[五等分的新娘/五等分的花嫁/五等分の花嫁][Go-Toubun_no_Hanayome][01_03][BIG5][720P][HEVC]", "Go-Toubun no Hanayome", "漫貓&愛戀字幕組", new[] { 1, 2, 3 })] public void should_parse_chinese_multiepisode_releases(string postTitle, string title, string subgroup, int[] absoluteEpisodeNumbers) { postTitle = XmlCleaner.ReplaceUnicode(postTitle); var result = Parser.Parser.ParseTitle(postTitle); result.Should().NotBeNull(); result.ReleaseGroup.Should().Be(subgroup); result.AbsoluteEpisodeNumbers.Should().BeEquivalentTo(absoluteEpisodeNumbers); result.SeriesTitle.Should().Be(title); result.FullSeason.Should().BeFalse(); }
private bool IsEZTVFeed(IndexerResponse response) { var content = XmlCleaner.ReplaceEntities(response.Content); content = XmlCleaner.ReplaceUnicode(content); using (var xmlTextReader = XmlReader.Create(new StringReader(content), new XmlReaderSettings { DtdProcessing = DtdProcessing.Parse, ValidationType = ValidationType.None, IgnoreComments = true, XmlResolver = null })) { var document = XDocument.Load(xmlTextReader); // Check Namespace if (document.Root == null) { throw new InvalidDataException("Could not parse IndexerResponse into XML."); } var ns = document.Root.GetNamespaceOfPrefix("torrent"); if (ns == "http://xmlns.ezrss.it/0.1/") { _logger.Trace("Identified feed as EZTV compatible by EZTV Namespace"); return(true); } // Check DTD in DocType if (document.DocumentType != null && document.DocumentType.SystemId == "http://xmlns.ezrss.it/0.1/dtd/") { _logger.Trace("Identified feed as EZTV compatible by EZTV DTD"); return(true); } // Check namespaces if (document.Descendants().Any(v => v.GetDefaultNamespace().NamespaceName == "http://xmlns.ezrss.it/0.1/")) { _logger.Trace("Identified feed as EZTV compatible by EZTV Namespace"); return(true); } return(false); } }