460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
|
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"
if bVC:
sWord, sSfx = splitVerb(sWord)
aSugg = phonet.selectSimil(sWord, sPattern)
if not aSugg or not bSubst:
for sMorph in _oSpellChecker.getMorph(sWord):
aSugg.extend(conj.getSimil(sWord, sMorph, bSubst))
break
if aSugg:
if bVC:
aSugg = [ joinVerbAndSuffix(sSugg, sSfx) for sSugg in aSugg ]
return "|".join(aSugg)
return ""
|
|
|
>
>
>
>
>
>
>
|
|
|
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>"
if bVC:
sWord, sSfx = splitVerb(sWord)
aSugg = phonet.selectSimil(sWord, sPattern)
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.getNamesFrom(sInfi))
break
if aSugg:
if bVC:
aSugg = [ joinVerbAndSuffix(sSugg, sSfx) for sSugg in aSugg ]
return "|".join(aSugg)
return ""
|