docs: #318 still trying to fix band couplets rhyme finding problem
This commit is contained in:
parent
52182dcb2f
commit
cb90231d8e
@ -650,6 +650,18 @@ namespace RMuseum.Services.Implementation
|
||||
var section = sections[i];
|
||||
var verses = await context.GanjoorVerses.Where(v => v.PoemId == section.PoemId).OrderBy(v => v.VOrder).ToListAsync();
|
||||
var bandVerses = FilterSectionVerses(section, verses);
|
||||
var resRetry = LanguageUtils.FindRhyme(bandVerses, false, true);
|
||||
if(!string.IsNullOrEmpty(resRetry.Rhyme))
|
||||
{
|
||||
section.RhymeLetters = resRetry.Rhyme;
|
||||
context.Update(section);
|
||||
await jobProgressServiceEF.UpdateJob(job.Id, progress);
|
||||
if (section.GanjoorMetreId != null)
|
||||
{
|
||||
await _UpdateRelatedSections(context, (int)section.GanjoorMetreId, section.RhymeLetters);
|
||||
}
|
||||
continue;
|
||||
}
|
||||
if (_IsMasnavi(bandVerses))
|
||||
{
|
||||
var poemSections = await context.GanjoorPoemSections.Where(s => s.PoemId == section.PoemId).ToListAsync();
|
||||
@ -711,6 +723,9 @@ namespace RMuseum.Services.Implementation
|
||||
rightVerse.SectionIndex4 = verseSection.Index;
|
||||
leftVerse.SectionIndex4 = verseSection.Index;
|
||||
}
|
||||
|
||||
context.Update(rightVerse);
|
||||
context.Update(leftVerse);
|
||||
|
||||
|
||||
var rl = new List<GanjoorVerse>(); rl.Add(rightVerse); rl.Add(leftVerse);
|
||||
|
||||
@ -93,12 +93,15 @@ namespace RMuseum.Services.Implementation
|
||||
/// </summary>
|
||||
/// <param name="verses"></param>
|
||||
/// <param name="secondPhase"></param>
|
||||
/// <param name="bandCouplets"></param>
|
||||
/// <returns></returns>
|
||||
public static GanjooRhymeAnalysisResult FindRhyme(List<GanjoorVerse> verses, bool secondPhase = false)
|
||||
public static GanjooRhymeAnalysisResult FindRhyme(List<GanjoorVerse> verses, bool secondPhase = false, bool bandCouplets = false)
|
||||
{
|
||||
try
|
||||
{
|
||||
List<string> verseTextList = verses.Count == 2 ? verses.Select(v => v.Text).ToList()
|
||||
: bandCouplets ?
|
||||
verses.Where(v => v.VersePosition == VersePosition.CenteredVerse2).Select(v => v.Text).ToList()
|
||||
: verses.Where(v => v.VersePosition == VersePosition.Left).Select(v => v.Text).ToList();
|
||||
if (verseTextList.Count > 1)
|
||||
{
|
||||
|
||||
Loading…
Reference in New Issue
Block a user