Overview
| Comment: | [core][py] timer for testing | 
|---|---|
| Downloads: | Tarball | ZIP archive | SQL archive | 
| Timelines: | family | ancestors | descendants | both | trunk | core | 
| Files: | files | file ages | folders | 
| SHA3-256: | 8ddc15536ecf0bd80f1080a458df151c | 
| User & Date: | olr on 2017-11-06 17:21:58 | 
| Other Links: | manifest | tags | 
Context
| 2017-11-08 | ||
| 15:57 | [fr] màj: écriture dystypographique check-in: 0bd6a29f03 user: olr tags: trunk, fr | |
| 2017-11-07 | ||
| 11:56 | [core] ibdawg: another suggestion method check-in: 1edae62ad8 user: olr tags: core, spellsugg | |
| 2017-11-06 | ||
| 17:21 | [core][py] timer for testing check-in: 8ddc15536e user: olr tags: trunk, core | |
| 14:21 | [core][py] ibdawg: debugging check-in: cbe1422160 user: olr tags: trunk, core | |
Changes
Modified gc_core/py/ibdawg.py from [08bbb9ff98] to [a0b40e49a1].
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | + + + + + + + + + + + + + + | 
#!python3
import os
import traceback
import pkgutil
import re
from itertools import chain
from functools import wraps
import time
#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 timethis (func):
    "decorator for the execution time"
    @wraps(func)
    def wrapper (*args, **kwargs):
        fStart = time.time()
        result = func(*args, **kwargs)
        fEnd = time.time()
        print(func.__name__, fEnd - fStart)
        return result
    return wrapper
class IBDAWG:
    """INDEXABLE BINARY DIRECT ACYCLIC WORD GRAPH"""
    def __init__ (self, sDicName):
        self.by = pkgutil.get_data(__package__, "_dictionaries/" + sDicName)
        if not self.by:
 | 
| ︙ | |||
| 182 183 184 185 186 187 188 189 190 191 192 193 194 195 | 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 | + | 
        l = self.morph(sWord)
        if sWord[0:1].isupper():
            l.extend(self.morph(sWord.lower()))
            if sWord.isupper() and len(sWord) > 1:
                l.extend(self.morph(sWord.capitalize()))
        return l
    @timethis
    def suggest (self, sWord, nMaxSugg=10):
        "returns a set of suggestions for <sWord>"
        sPfx, sWord, sSfx = cp.cut(sWord)
        nMaxDel = len(sWord) // 5
        nMaxHardRepl = max((len(sWord) - 5) // 4, 1)
        aSugg = self._suggest(sWord, nMaxDel=nMaxDel, nMaxHardRepl=nMaxHardRepl)
        if sWord.istitle():
 | 
| ︙ |