@@ -4,18 +4,17 @@ import traceback import pkgutil import re from itertools import chain +#import logging +#logging.basicConfig(filename="suggestions.log", level=logging.DEBUG) + from . import str_transform as st from . import char_player as cp from .echo import echo - -def show (nDeep, sText): - print(nDeep * " " + sText) - class IBDAWG: """INDEXABLE BINARY DIRECT ACYCLIC WORD GRAPH""" def __init__ (self, sDicName): @@ -207,17 +206,18 @@ return aSugg def _suggest (self, sRemain, nMaxDel=0, nMaxHardRepl=0, nDeep=0, iAddr=0, sNewWord="", bAvoidLoop=False): "returns a set of suggestions" # recursive function - #show(nDeep, sNewWord + ":" + sRemain) + #logging.info((nDeep * " ") + sNewWord + ":" + sRemain) aSugg = set() if not sRemain: if int.from_bytes(self.byDic[iAddr:iAddr+self.nBytesArc], byteorder='big') & self._finalNodeMask: - #show(nDeep, "___" + sNewWord + "___") + #logging.info((nDeep * " ") + "__" + sNewWord + "__") aSugg.add(sNewWord) for sTail in self._getTails(iAddr): + #logging.info((nDeep * " ") + "__" + sNewWord+sTail + "__") aSugg.add(sNewWord+sTail) return aSugg cCurrent = sRemain[0:1] for cChar, jAddr in self._getSimilarArcs(cCurrent, iAddr): aSugg.update(self._suggest(sRemain[1:], nMaxDel, nMaxHardRepl, nDeep+1, jAddr, sNewWord+cChar))