From 8e4ec4b695509dddaa9dac42c47c29a492dac64c Mon Sep 17 00:00:00 2001 From: Hamid Reza Mohammadi Date: Sat, 16 Dec 2023 14:29:50 +0330 Subject: [PATCH] #418 extraction bug fix --- .../GanjoorService-QuotedPoems.cs | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/RMuseum/Services/Implementation/GanjoorService-Partials/GanjoorService-QuotedPoems.cs b/RMuseum/Services/Implementation/GanjoorService-Partials/GanjoorService-QuotedPoems.cs index 1e9626ba..b50931c6 100644 --- a/RMuseum/Services/Implementation/GanjoorService-Partials/GanjoorService-QuotedPoems.cs +++ b/RMuseum/Services/Implementation/GanjoorService-Partials/GanjoorService-QuotedPoems.cs @@ -381,9 +381,11 @@ namespace RMuseum.Services.Implementation tagIndex = dbPage.HtmlText.IndexOf("

", tagIndex); if (tagIndex != -1 && tagIndex < closeTagIndex) { - tagIndex = dbPage.HtmlText.IndexOf("\">", tagIndex); - tagIndex += "\">".Length; - string bnumstring = PersianNumbersUtils.ToEnglishNumbers(dbPage.HtmlText.Substring(tagIndex, dbPage.HtmlText.IndexOf("<", tagIndex) - tagIndex)).Replace("بیت", "").Trim(); + string searchString = dbPage.Id == 39619 ? "بیت" : "\">"; + tagIndex = dbPage.HtmlText.IndexOf(searchString, tagIndex); + tagIndex += searchString.Length; + string closeChar = dbPage.Id == 39619 ? ")" : "<"; + string bnumstring = PersianNumbersUtils.ToEnglishNumbers(dbPage.HtmlText.Substring(tagIndex, dbPage.HtmlText.IndexOf(closeChar, tagIndex) - tagIndex)).Replace("بیت", "").Replace(")", "").Replace(":", "").Trim(); if (int.TryParse(bnumstring, out int bnum)) { relatedPoem.CoupletIndex = -1 + bnum; @@ -457,9 +459,11 @@ namespace RMuseum.Services.Implementation tagIndex = dbPage.HtmlText.IndexOf("

", tagIndex); if (tagIndex != -1 && tagIndex < closeTagIndex) { - tagIndex = dbPage.HtmlText.IndexOf("\">", tagIndex); - tagIndex += "\">".Length; - string bnumstring = PersianNumbersUtils.ToEnglishNumbers(dbPage.HtmlText.Substring(tagIndex, dbPage.HtmlText.IndexOf("<", tagIndex) - tagIndex)).Replace("بیت", "").Trim(); + string searchString = dbPage.Id == 39619 ? "بیت " : "\">"; + tagIndex = dbPage.HtmlText.IndexOf(searchString, tagIndex); + tagIndex += searchString.Length; + string closeChar = dbPage.Id == 39619 ? ")" : "<"; + string bnumstring = PersianNumbersUtils.ToEnglishNumbers(dbPage.HtmlText.Substring(tagIndex, dbPage.HtmlText.IndexOf(closeChar, tagIndex) - tagIndex)).Replace("بیت", "").Replace(")", "").Replace(":", "").Trim(); if (int.TryParse(bnumstring, out int bnum)) { relatedPoem.RelatedCoupletIndex = -1 + bnum;