Ejemplo n.º 1
0
import mdlog
log = mdlog.getLogger(__name__)

from wordUtils import buildSelectMapping, extractWords
from EventLoop import getLoop
from Window import getFocusedWindow
import re

def defaultExtract(w):
    return extractWords(w, translate={})

# def updateListGrammar(lst, leadingTerm, action, clsname, filterFunction,
#                       extractFunction=defaultExtract, register=True, dolog=False):
#     bufs = lst
#     spokenForms = {}
#     for b in bufs:
#         spokenForms[b] = [extractFunction(b)] 
#     omapping = buildSelectMapping(leadingTerm, spokenForms, action)
    
#     if omapping is None:
#         # TODO: make exception
#         return
    
#     class LocalMapping(MappingRule):
#         mapping = omapping
        
#         @classmethod
#         def activeForWindow(cls, window):
#             return filterFunction(window)
#     LocalMapping.__name__ = clsname
#     if register:
Ejemplo n.º 2
0
import mdlog
log = mdlog.getLogger(__name__)

from listHelpers import splitFlatten, deCamelize
import re, string
from Actions import Noop
from util import deepEmpty

punc2Words = {
    "*" : ["star", "asterisk"],
    "#" : ["sharp"],
}

englishWords = set()
with open("/usr/share/dict/american-english") as f:
#with open("/home/jgarvin/mandimus/american-english") as f:
    for w in f.readlines():
        # strip punctuation because there's a bunch of weird
        # apostrophes and other things.
        word = "".join(c for c in w if c not in string.punctuation)
        word = word.lower()
        englishWords.update(set(re.findall("[a-z]+", word)))


normalConsonantBlends = {
    "bl",
    "br",
    "pr",
    "dr",
    "fl",
    "cl",