几行代码,让ibus-pinyin支持搜狗云输入法。[更新了一点点]

系统字体配置、中文显示和输入法问题
回复
eric925
帖子: 23
注册时间: 2005-06-23 22:15

几行代码,让ibus-pinyin支持搜狗云输入法。[更新了一点点]

#1

帖子 eric925 » 2009-11-27 22:36

apt-get source ibus-pinyin
然后修改engine里的pysqlitedb.py:

代码: 全选

    #添加到头部
    import re
    import urllib
    #函数修改
    def select_words_by_pinyin_list (self, pys, mohu = False):
        """select words from database by list that contains pyutil.PinYinWord objects"""

        pinyin_string = u"'".join (map (str, pys))

        result = self.select_cache [pinyin_string]
        if result != None:
            return result

        doc = urllib.urlopen("http://web.pinyin.sogou.com/web_ime/get_ajax/%s.key" % pinyin_string).read()
        words = map(urllib.unquote,re.compile(r'ime_query_res="([^"]*)"').match(doc).group(1).split('+'))
        result = []
        for word in words:
            phrase = word.split(':')[0].decode('utf8');
            record = (len(phrase), None, None, None, None, '', None, None, None, None, phrase, 1, 1)
            result.append(record)
        self.select_cache [pinyin_string] = result
        return result    
然后自己编译一下,打个包再安装都可以……


第一,目前不熟python,现查手册改的。
第二,只用了1个小时随便改改,本来想自用的,所以只是在原来的sqlite的基础上蒙蔽下程序。结果发现太好用了,忍不住发上来。由于ibus-pinyin有缓存,比sogoupinyincc要快很多很多并且可以选词,几乎感觉不到延迟。
我觉得接下来可以基于ibus-pinyin做一个搜狗云输入法的完善的补丁了。
============================================================================================================
12月2号更新:修改了一下,使网速突然减慢的情况下可以不用等待网络,直接调用本地词库,下载了force reinstall就可以了。
不区分32位和64位。
http://dl.dropbox.com/u/444392/ibus-pin ... u2_all.deb
上次由 eric925 在 2009-12-02 17:18,总共编辑 2 次。
头像
hcym
帖子: 15634
注册时间: 2007-05-06 2:46

Re: 几行代码,让ibus-pinyin支持搜狗云输入法。

#2

帖子 hcym » 2009-11-27 22:39

64位的
:em11
头像
pcbird
帖子: 2337
注册时间: 2008-12-19 13:44
来自: 东8区

Re: 几行代码,让ibus-pinyin支持搜狗云输入法。

#3

帖子 pcbird » 2009-11-27 22:43

如果没文件就去网上下载对吧

代码: 全选

 
       \   ,__,
        \  (oo)____
           (__)    )\
              ||--|| *  
 
eric925
帖子: 23
注册时间: 2005-06-23 22:15

Re: 几行代码,让ibus-pinyin支持搜狗云输入法。

#4

帖子 eric925 » 2009-11-27 22:44

:em05
试试吧,真的很快,而且词库很强大。
另外我自己把pysqlitedb.py commit的方法都注释掉了……没再写入本地词库了,还没来得及研究,怕不小心不停的写进自定义词库。
附件
截图
截图
上次由 eric925 在 2009-11-27 22:48,总共编辑 1 次。
头像
maivel
帖子: 293
注册时间: 2009-05-01 7:35

Re: 几行代码,让ibus-pinyin支持搜狗云输入法。

#5

帖子 maivel » 2009-11-27 22:46

这个要试试 :em11
我这个人天生愚笨,体内装进一点点东西就会往外面冒,满地都是,一不小心就成了才华横溢。
头像
pcbird
帖子: 2337
注册时间: 2008-12-19 13:44
来自: 东8区

Re: 几行代码,让ibus-pinyin支持搜狗云输入法。

#6

帖子 pcbird » 2009-11-27 22:46

可以把搜狗有的词组,再写到数据库做补充

代码: 全选

 
       \   ,__,
        \  (oo)____
           (__)    )\
              ||--|| *  
 
eric925
帖子: 23
注册时间: 2005-06-23 22:15

Re: 几行代码,让ibus-pinyin支持搜狗云输入法。

#7

帖子 eric925 » 2009-11-27 22:53

pcbird 写了:可以把搜狗有的词组,再写到数据库做补充
恩,过几天继续改改……目前我不能保存自定义词库。不过搜狗输入法的词库和联想能力已经让我感觉自定义词库都没太大重要性了……毕竟什么复杂偏怪难和流行的新词都在服务器上会得到及时补充和更新。
头像
hjpubuntu
帖子: 171
注册时间: 2009-08-02 10:07

Re: 几行代码,让ibus-pinyin支持搜狗云输入法。

#8

帖子 hjpubuntu » 2009-11-27 22:57

支持
:em11
再议,就是再议论议论,再研究研究,再商量商量,再权衡权衡,再比较比较,再考虑考虑,再观察观察,再看看,再想想,再等等..等等等等....
delectate
帖子: 18311
注册时间: 2008-01-09 22:41

Re: 几行代码,让ibus-pinyin支持搜狗云输入法。

#10

帖子 delectate » 2009-11-27 23:06

lz强人!

支持!

如果sougou把api改了呢?

他没有公开api吧!
头像
Jarson
帖子: 2371
注册时间: 2008-07-21 9:44
来自: 深圳
联系:

Re: 几行代码,让ibus-pinyin支持搜狗云输入法。

#11

帖子 Jarson » 2009-11-27 23:12

mark~~
头像
hjpubuntu
帖子: 171
注册时间: 2009-08-02 10:07

Re: 几行代码,让ibus-pinyin支持搜狗云输入法。

#12

帖子 hjpubuntu » 2009-11-27 23:13

delectate 写了:lz强人!

支持!

如果sougou把api改了呢?

他没有公开api吧!
公布词库了?
再议,就是再议论议论,再研究研究,再商量商量,再权衡权衡,再比较比较,再考虑考虑,再观察观察,再看看,再想想,再等等..等等等等....
头像
yangyang123
帖子: 61
注册时间: 2007-10-26 9:37

Re: 几行代码,让ibus-pinyin支持搜狗云输入法。

#13

帖子 yangyang123 » 2009-11-28 9:45

这个方法倒不错啊
头像
红烧鱼
帖子: 54
注册时间: 2007-11-04 23:03
联系:

Re: 几行代码,让ibus-pinyin支持搜狗云输入法。

#14

帖子 红烧鱼 » 2009-11-28 10:24

这样的好事要支持才行
斯文de坏蛋
帖子: 149
注册时间: 2009-04-14 11:11

Re: 几行代码,让ibus-pinyin支持搜狗云输入法。

#15

帖子 斯文de坏蛋 » 2009-11-28 10:56

LZ 我怎么不能安装

代码: 全选

ye@ye-desktop:~$ apt-get source ibus-pinyin
正在读取软件包列表... 完成
正在分析软件包的依赖关系树       
正在读取状态信息... 完成       
注意: 'ibus-pinyin' 软件包维护的 'Bzr' 版本控制系统版本是在: 
lp:~lidaobing/+junk/ibus-pinyin
请使用:
bzr get lp:~lidaobing/+junk/ibus-pinyin
来检索最新的(可能未发布)的软件包的更新。
忽略已下载过的文件“ibus-pinyin_1.2.0.20090617+1-1ubuntu2.dsc”
忽略已下载过的文件“ibus-pinyin_1.2.0.20090617+1.orig.tar.gz”
忽略已下载过的文件“ibus-pinyin_1.2.0.20090617+1-1ubuntu2.diff.gz”
需要下载 0B 的源代码包。
对于已经被解包到 ibus-pinyin-1.2.0.20090617+1 目录的源代码包就不再解开了
ye@ye-desktop:~$ 

蹲在路边等风吹.........
群舞飞扬 - -
回复