Overview
Comment: | [graphspell] default suggestions |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | new_feature | graphspell | rg |
Files: | files | file ages | folders |
SHA3-256: |
8974c2f6d0603030da1dfa1899b41041 |
User & Date: | olr on 2018-06-02 18:58:03 |
Other Links: | branch diff | manifest | tags |
Context
2018-06-02
| ||
18:58 | [graphspell] add fr module + [core] code clarification: bShowRuleId check-in: 31ddfb6e1a user: olr tags: core, graphspell, rg | |
18:58 | [graphspell] default suggestions check-in: 8974c2f6d0 user: olr tags: new_feature, graphspell, rg | |
15:21 | [build][core][bug] generate rules with multiple tokens check-in: 667266b248 user: olr tags: core, build, rg | |
Changes
Modified graphspell/spellchecker.py from [2c7f3d8dbe] to [6e35967f77].
1 2 3 4 5 6 7 8 9 10 | # Spellchecker # Wrapper for the IBDAWG class. # Useful to check several dictionaries at once. # To avoid iterating over a pile of dictionaries, it is assumed that 3 are enough: # - the main dictionary, bundled with the package # - the extended dictionary # - the community dictionary, added by an organization # - the personal dictionary, created by the user for its own convenience | | | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | # Spellchecker # Wrapper for the IBDAWG class. # Useful to check several dictionaries at once. # To avoid iterating over a pile of dictionaries, it is assumed that 3 are enough: # - the main dictionary, bundled with the package # - the extended dictionary # - the community dictionary, added by an organization # - the personal dictionary, created by the user for its own convenience import importlib import traceback from . import ibdawg from . import tokenizer dDefaultDictionaries = { |
︙ | ︙ | |||
32 33 34 35 36 37 38 39 40 41 42 43 44 45 | self.oExtendedDic = self._loadDictionary(sfExtendedDic) self.oCommunityDic = self._loadDictionary(sfCommunityDic) self.oPersonalDic = self._loadDictionary(sfPersonalDic) self.bExtendedDic = bool(self.oExtendedDic) self.bCommunityDic = bool(self.oCommunityDic) self.bPersonalDic = bool(self.oPersonalDic) self.oTokenizer = None # storage self.bStorage = False self._dMorphologies = {} # key: flexion, value: list of morphologies self._dLemmas = {} # key: flexion, value: list of lemmas def _loadDictionary (self, source, bNecessary=False): "returns an IBDAWG object" | > > > | 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 | self.oExtendedDic = self._loadDictionary(sfExtendedDic) self.oCommunityDic = self._loadDictionary(sfCommunityDic) self.oPersonalDic = self._loadDictionary(sfPersonalDic) self.bExtendedDic = bool(self.oExtendedDic) self.bCommunityDic = bool(self.oCommunityDic) self.bPersonalDic = bool(self.oPersonalDic) self.oTokenizer = None # Default suggestions self.dDefaultSugg = None self.loadSuggestions(sLangCode) # storage self.bStorage = False self._dMorphologies = {} # key: flexion, value: list of morphologies self._dLemmas = {} # key: flexion, value: list of lemmas def _loadDictionary (self, source, bNecessary=False): "returns an IBDAWG object" |
︙ | ︙ | |||
99 100 101 102 103 104 105 106 107 108 109 110 111 112 | def deactivateCommunityDictionary (self): self.bCommunityDic = False def deactivatePersonalDictionary (self): self.bPersonalDic = False # Storage def activateStorage (self): self.bStorage = True def deactivateStorage (self): | > > > > > > > > > > > | 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 | def deactivateCommunityDictionary (self): self.bCommunityDic = False def deactivatePersonalDictionary (self): self.bPersonalDic = False # Default suggestions def loadSuggestions (self, sLangCode): try: suggest_module = importlib.import_module("."+sLangCode, "graphspell") except: print("No suggestion module for language <"+sLangCode+">") return self.dDefaultSugg = suggest_module.dSugg # Storage def activateStorage (self): self.bStorage = True def deactivateStorage (self): |
︙ | ︙ | |||
208 209 210 211 212 213 214 | if sWord not in self._dLemmas: self.getMorph(sWord) return self._dLemmas[sWord] return set([ s[1:s.find(" ")] for s in self.getMorph(sWord) ]) def suggest (self, sWord, nSuggLimit=10): "generator: returns 1, 2 or 3 lists of suggestions" | > > > | | 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 | if sWord not in self._dLemmas: self.getMorph(sWord) return self._dLemmas[sWord] return set([ s[1:s.find(" ")] for s in self.getMorph(sWord) ]) def suggest (self, sWord, nSuggLimit=10): "generator: returns 1, 2 or 3 lists of suggestions" if self.dDefaultSugg and sWord in self.dDefaultSugg: yield self.dDefaultSugg[sWord].split("|") else: yield self.oMainDic.suggest(sWord, nSuggLimit) if self.bExtendedDic: yield self.oExtendedDic.suggest(sWord, nSuggLimit) if self.bCommunityDic: yield self.oCommunityDic.suggest(sWord, nSuggLimit) if self.bPersonalDic: yield self.oPersonalDic.suggest(sWord, nSuggLimit) |
︙ | ︙ |