Grammalecte  Diff

Differences From Artifact [9319456bd1]:

To Artifact [4f758a8cb1]:


460
461
462
463
464
465
466
467

468
469
470
471

472







473
474


475
476
477
478
479
480
481
460
461
462
463
464
465
466

467
468
469
470

471
472
473
474
475
476
477
478
479


480
481
482
483
484
485
486
487
488







-
+



-
+

+
+
+
+
+
+
+
-
-
+
+








def hasSimil (sWord, sPattern=None):
    "return True if there is words phonetically similar to <sWord> (according to <sPattern> if required)"
    return phonet.hasSimil(sWord, sPattern)


def suggSimil (sWord, sPattern=None, bSubst=False, bVC=False):
    "return list of words phonetically similar to sWord and whom POS is matching sPattern"
    "return list of words phonetically similar to <sWord> and whom POS is matching <sPattern>"
    if bVC:
        sWord, sSfx = splitVerb(sWord)
    aSugg = phonet.selectSimil(sWord, sPattern)
    if not aSugg or not bSubst:
    if not aSugg and bSubst:
        for sMorph in _oSpellChecker.getMorph(sWord):
            if ":V" in sMorph:
                sInfi = sMorph[1:sMorph.find("/")]
                if sPattern:
                    for sName in conj.getNamesFrom(sInfi):
                        if any(re.search(sPattern, sMorph2)  for sMorph2 in _oSpellChecker.getMorph(sName)):
                            aSugg.append(sName)
                else:
            aSugg.extend(conj.getSimil(sWord, sMorph, bSubst))
            break
                    aSugg.extend(conj.getNamesFrom(sInfi))
                break
    if aSugg:
        if bVC:
            aSugg = [ joinVerbAndSuffix(sSugg, sSfx)  for sSugg in aSugg ]
        return "|".join(aSugg)
    return ""