public static bool FindForExactMatch(List <HtmlNode> subtitlesHtmlList, SubtitleModel subtitleModel, string url, string folderPath, string filename) { //S01-02 nélkül keresünk if (Directory.Exists(folderPath + "\\" + subFolderName)) { MoveSubtitleUp(folderPath, subFolderName, filename, subtitleModel.SeasonNumber, subtitleModel.EpisodeNumber); return(true); } CheckIfSingleSubAlreadyDownloaded(folderPath, filename); var magyarXPath = "//div[@class=\'magyar\']"; var originalXPath = "//div[@class=\'eredeti\']"; var downloadXPath = "//td[@align=\'center\']/a[@href]"; var htmlDocument = new HtmlDocument(); foreach (var subtitleHtml in subtitlesHtmlList) { htmlDocument.LoadHtml(subtitleHtml.InnerHtml); var magyarNode = htmlDocument.DocumentNode.SelectSingleNode(magyarXPath); var originalNode = htmlDocument.DocumentNode.SelectSingleNode(originalXPath); var EpisodeFromFeliratokInfo = string.Empty; var SeasonFromFeliratokInfo = string.Empty; //A felsőben csak egy kötőjel, megnézi a SOROZATxEPIZÓD stílust, és a leírásos (Season X) stílust is if (magyarNode.InnerText == "-") { EpisodeFromFeliratokInfo = SeriesHelper.GetEpisodeFromFeliratokInfo1x2(originalNode.InnerText); SeasonFromFeliratokInfo = SeriesHelper.GetSeasonFromFeliratokInfo1x2(originalNode.InnerText); if (EpisodeFromFeliratokInfo.Length != 0 && SeasonFromFeliratokInfo.Length != 0 && CheckMatching(subtitleModel, SeasonFromFeliratokInfo, EpisodeFromFeliratokInfo, originalNode)) { return(Download(htmlDocument, downloadXPath, url, folderPath, filename, subtitleModel, true)); } if (SeasonFromFeliratokInfo.Length == 0) { EpisodeFromFeliratokInfo = subtitleModel.EpisodeNumber.ToString(); //beállítom, hogy a check ne dobjon hibát SeasonFromFeliratokInfo = SeriesHelper.GetSeasonFromFeliratokInfoThird(originalNode.InnerText).ToString(); if (SeasonFromFeliratokInfo.Length != 0 && CheckMatching(subtitleModel, SeasonFromFeliratokInfo, EpisodeFromFeliratokInfo, originalNode)) { return(Download(htmlDocument, downloadXPath, url, folderPath, filename, subtitleModel, false)); } } } //Évadpakk //Ekkor van sima neve(felsőben), ezért ráapplikálom a (8. évad) stílust a felsőre, //az alsóra meg a (Season 8) félét ha nincs a felsőben találat SeasonFromFeliratokInfo = SeriesHelper.GetSeasonFromFeliratokInfoEvad(magyarNode.InnerText).ToString(); if (int.Parse(SeasonFromFeliratokInfo) != -1) { EpisodeFromFeliratokInfo = subtitleModel.EpisodeNumber.ToString(); //beállítom, hogy a check ne dobjon hibát var seasonOnSite = SeriesHelper.GetSeasonFromFeliratokInfoThird(originalNode.InnerText); if (seasonOnSite == subtitleModel.SeasonNumber && CheckMatching(subtitleModel, SeasonFromFeliratokInfo, EpisodeFromFeliratokInfo, originalNode)) { return(Download(htmlDocument, downloadXPath, url, folderPath, filename, subtitleModel, false)); } } else { SeasonFromFeliratokInfo = SeriesHelper.GetSeasonFromFeliratokInfoThird(originalNode.InnerText) .ToString(); if (int.Parse(SeasonFromFeliratokInfo) != -1) { EpisodeFromFeliratokInfo = subtitleModel.EpisodeNumber.ToString(); //beállítom, hogy a check ne dobjon hibát if (CheckMatching(subtitleModel, SeasonFromFeliratokInfo, EpisodeFromFeliratokInfo, originalNode)) { return(Download(htmlDocument, downloadXPath, url, folderPath, filename, subtitleModel, false)); } } } //PONTOS EGYEZÉS if (EpisodeFromFeliratokInfo.Length == 0 || SeasonFromFeliratokInfo.Length == 0 || SeasonFromFeliratokInfo.Length == -1) { EpisodeFromFeliratokInfo = SeriesHelper.GetEpisodeFromFeliratokInfo1x2(originalNode.InnerText); SeasonFromFeliratokInfo = SeriesHelper.GetSeasonFromFeliratokInfo1x2(originalNode.InnerText); if (SeasonFromFeliratokInfo.Length == 0) { EpisodeFromFeliratokInfo = subtitleModel.EpisodeNumber.ToString(); SeasonFromFeliratokInfo = SeriesHelper.GetSeasonFromFeliratokInfoThird(originalNode.InnerText) .ToString(); } if (CheckMatching(subtitleModel, SeasonFromFeliratokInfo, EpisodeFromFeliratokInfo, originalNode)) { return(Download(htmlDocument, downloadXPath, url, folderPath, filename, subtitleModel, true)); } } } return(false); }