Ubuntu,按下ctrl,查询选定的单词,ubuntuctrl,双击或拖选单词后,按下c


双击或拖选单词后,按下ctrl,查询选定的单词,或去有道网页爬取单词(速度慢)

在Ubuntu下python编写的

import os, refrom time import sleepfrom youdao import query_webfrom keylogger import fetch_keysimport peeweefrom models import Itemp = re.compile(r'[^a-zA-Z]')last = ''def log(callback, sleep_interval=.05):    while 1:        sleep(sleep_interval)        changed, modifiers, keys = fetch_keys()        if changed:            callback(modifiers, search)def ctrl_pressed(modifiers, callback):    global last    if modifiers['left ctrl'] or modifiers['right ctrl']:        var = os.popen('xsel').read().strip()        if var:            var = p.split(var)            if len(var) >= 1:                var = var[0]                if len(var) >= 3:                    if last != var:                        last = var                        callback(var)                    else:                        print 'same word ?'def query_db(word):    try:        item = Item.get(name=word)    except:        item = None    return itemdef search(word):    word = word.lower()    item = query_db(word)    item_dict = None    if not item:        try:            item_dict = query_web(word)        except:            print 'web failure'        if item_dict:            item = save(item_dict)    if item:        show(item)def save(item_dict):    item = Item.create(**item_dict)    return itemdef show(item):    print item.name    print item.phonetic    print item.meaning    print item.examplelog(ctrl_pressed)#该片段来自于http://byrx.net

评论关闭