emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] externals/pyim 5eb65e0c84 2/2: Revert "添加简单的云输入法功能,参考 fcitx5."


From: ELPA Syncer
Subject: [elpa] externals/pyim 5eb65e0c84 2/2: Revert "添加简单的云输入法功能,参考 fcitx5."
Date: Sun, 8 May 2022 01:57:46 -0400 (EDT)

branch: externals/pyim
commit 5eb65e0c84e17944633fedbd47bc74d276081f33
Author: Feng Shu <tumashu@163.com>
Commit: Feng Shu <tumashu@163.com>

    Revert "添加简单的云输入法功能,参考 fcitx5."
    
    This reverts commit 4016084880ce2dbae1672c7db31134d64349a78c.
---
 Development.org     |  6 ++--
 README.org          | 10 ------
 pyim-candidates.el  |  9 ------
 pyim-cloudim.el     | 90 -----------------------------------------------------
 pyim.el             |  3 --
 tests/pyim-tests.el | 56 ---------------------------------
 6 files changed, 3 insertions(+), 171 deletions(-)

diff --git a/Development.org b/Development.org
index db86cdfd3d..70fc29976f 100644
--- a/Development.org
+++ b/Development.org
@@ -34,9 +34,9 @@
 |     |                 |                                             |        
         |     |
 |     |                 +---------------------------------------------+        
         |     |
 |     |                                                                        
         |     |
-|     |  PYIM 持久化层:    云输入法:                                      探针:        | 
    |
-|     |  --------------    ---------                                      
------------  |     |
-|     |  Dregcache         Cloudim                                        
Probe         |     |
+|     |  PYIM 持久化层:                                                   探针:      
  |     |
+|     |  --------------                                                   
------------  |     |
+|     |  Dregcache                                                        
Probe         |     |
 |     |  Dhashcache                                                            
         |     |
 |     |  Dict                                                                  
         |     |
 |     
+---------------------------------------------------------------------------------+
     |
diff --git a/README.org b/README.org
index 50ad30fec3..4684ec4d92 100644
--- a/README.org
+++ b/README.org
@@ -101,9 +101,6 @@ pyim 的目标是: *尽最大的努力成为一个好用的 Emacs 中文输入
 ;; (pyim-default-scheme 'wubi)
 ;; (pyim-default-scheme 'cangjie)
 
-;; 我使用云拼音
-;; (setq pyim-cloudim 'baidu)
-
 ;; pyim 探针设置
 ;; 设置 pyim 探针设置,这是 pyim 高级功能设置,可以实现 *无痛* 中英文切换 :-)
 ;; 我自己使用的中英文动态切换规则是:
@@ -162,13 +159,6 @@ pyim 默认使用 pyim-basedict 词库, 这个词库的词条量8万左右,是
 | C-DEL 或  C-BACKSPACE | 删除最后一个拼音           |
 | M-DEL 或  M-BACKSPACE | 删除最后一个拼音           |
 | F1,F2,F3,F4           | 以词定字                   |
-** 使用云拼音
-pyim 可以使用搜索引擎提供的云拼音服务,比如:
-
-#+begin_example
-(setq pyim-cloudim 'baidu)
-;; (setq pyim-cloudim 'google)
-#+end_example
 
 ** 使用双拼模式
 pyim 支持双拼输入模式,用户可以通过变量 `pyim-default-scheme' 来设定:
diff --git a/pyim-candidates.el b/pyim-candidates.el
index 2a17d1d275..7311afd0cd 100644
--- a/pyim-candidates.el
+++ b/pyim-candidates.el
@@ -52,9 +52,6 @@
 
 细节信息请参考 `pyim-page-refresh' 的 docstring.")
 
-(defvar pyim-candidates-cloud-search-function nil
-  "`pyim-candidates-cloud-search' 调用的函数.")
-
 (pyim-register-local-variables
  '(pyim-candidates pyim-candidate-position))
 
@@ -158,7 +155,6 @@ IMOBJS 获得候选词条。"
             pyim-candidates
           ;; NOTE: 让第一个词保持不变是不是合理,有待进一步的观察。
           `(,(car pyim-candidates)
-            ,@(pyim-candidates-cloud-search str 'pinyin)
             ,@(pyim-candidates-search-buffer
                (pyim-cregexp-build str 3 t))
             ,@(cdr pyim-candidates))))
@@ -180,11 +176,6 @@ IMOBJS 获得候选词条。"
       (append (pyim-subconcat (nreverse output) "")
               candidates))))
 
-(defun pyim-candidates-cloud-search (string input-method)
-  "云搜索 STRING, 返回候选词条列表."
-  (ignore-errors
-    (funcall pyim-candidates-cloud-search-function string input-method)))
-
 (defun pyim-candidates-search-buffer (regexp)
   "在当前 buffer 中使用 REGEXP 搜索词条。"
   (save-excursion
diff --git a/pyim-cloudim.el b/pyim-cloudim.el
deleted file mode 100644
index cf8d347581..0000000000
--- a/pyim-cloudim.el
+++ /dev/null
@@ -1,90 +0,0 @@
-;;; pyim-cloudim.el --- cloud input method support for pyim.        -*- 
lexical-binding: t; -*-
-
-;; * Header
-;; Copyright (C) 2021 Free Software Foundation, Inc.
-
-;; Author: Feng Shu <tumashu@163.com>
-;; Maintainer: Feng Shu <tumashu@163.com>
-;; URL: https://github.com/tumashu/pyim
-;; Keywords: convenience, Chinese, pinyin, input-method
-
-;; This file is part of GNU Emacs.
-
-;; GNU Emacs is free software: you can redistribute it and/or modify
-;; it under the terms of the GNU General Public License as published by
-;; the Free Software Foundation, either version 3 of the License, or
-;; (at your option) any later version.
-
-;; GNU Emacs is distributed in the hope that it will be useful,
-;; but WITHOUT ANY WARRANTY; without even the implied warranty of
-;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-;; GNU General Public License for more details.
-
-;; You should have received a copy of the GNU General Public License
-;; along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.
-
-;;; Commentary:
-
-;;; Code:
-;; * 代码                                                           :code:
-(require 'cl-lib)
-(require 'url)
-(require 'json)
-
-(defgroup pyim-cloudim nil
-  "Cloud input method for pyim."
-  :group 'pyim)
-
-(defcustom pyim-cloudim nil
-  "设置 pyim 使用的云输入法。"
-  :type '(choice
-          (const :tag "Do not use cloud input method." nil)
-          (const :tag "Use baidu cloud input method." baidu)
-          (const :tag "Use google cloud input method." google)))
-
-(defun pyim-cloudim (string input-method)
-  "使用云 INPUT-METHOD 输入法引擎搜索 STRING 获取词条列表.
-云输入法由 `pyim-cloudim' 设置。"
-  (when (and pyim-cloudim (symbolp pyim-cloudim))
-    (let ((func (intern (format "pyim-cloudim:%s" pyim-cloudim))))
-      (when (functionp func)
-        (funcall func string input-method)))))
-
-(setq pyim-candidates-cloud-search-function #'pyim-cloudim)
-
-(defun pyim-cloudim:baidu (string input-method)
-  "使用 baidu 云 INPUT-METHOD 输入法引擎搜索 STRING, 获取词条列表。"
-  (when (equal input-method 'pinyin)
-    (with-current-buffer (url-retrieve-synchronously
-                          (format "https://olime.baidu.com/py?py=%s"; string)
-                          t nil 0.5)
-      (pyim-cloudim-parse-baidu-buffer))))
-
-(defun pyim-cloudim-parse-baidu-buffer ()
-  "解析 `url-retrieve-synchronously' 返回的 baidu buffer."
-  (goto-char (point-min))
-  (search-forward "\n\n" nil t)
-  (delete-region (point-min) (point))
-  (let ((data (json-parse-buffer)))
-    (list (elt (elt (elt (gethash "0" data) 0) 0) 0))))
-
-(defun pyim-cloudim:google (string input-method)
-  "使用 google 云 INPUT-METHOD 输入法引擎搜索 STRING, 获取词条列表。"
-  (when (eq input-method 'pinyin)
-    (with-current-buffer (url-retrieve-synchronously
-                          (format 
"https://www.google.cn/inputtools/request?ime=pinyin&text=%s"; string)
-                          t nil 0.5)
-      (pyim-cloudim-parse-google-buffer))))
-
-(defun pyim-cloudim-parse-google-buffer ()
-  "解析 `url-retrieve-synchronously' 返回的 google buffer."
-  (goto-char (point-min))
-  (search-forward "\n\n" nil t)
-  (delete-region (point-min) (point))
-  (let ((data (json-parse-buffer)))
-    (list (elt (elt (elt (elt data 1) 0) 1) 0))))
-
-;; * Footer
-(provide 'pyim-cloudim)
-
-;;; pyim-cloudim.el ends here
diff --git a/pyim.el b/pyim.el
index e03389ffba..98bdeb9476 100644
--- a/pyim.el
+++ b/pyim.el
@@ -854,9 +854,6 @@ FILE 的格式与 `pyim-dcache-export' 生成的文件格式相同,
 ;; ** pyim 探针
 (require 'pyim-probe)
 
-;; ** pyim 云输入法
-(require 'pyim-cloudim)
-
 ;; ** pyim hacks
 (require 'pyim-hacks)
 
diff --git a/tests/pyim-tests.el b/tests/pyim-tests.el
index 2d2e1a68fc..88aef3541f 100644
--- a/tests/pyim-tests.el
+++ b/tests/pyim-tests.el
@@ -399,18 +399,6 @@
     (should (equal (pyim-candidates-search-buffer (pyim-cregexp-build "nh" 3 
t))
                    '("牛蛤" "你坏" "你好" "牛和" "你话")))))
 
-(ert-deftest pyim-tests-pyim-candidates-cloud-search ()
-  (let ((pyim-candidates-cloud-search-function
-         (lambda (x y)
-           (list x y "b"))))
-    (should (equal (pyim-candidates-cloud-search "a" 'pinyin) '("a" pinyin 
"b"))))
-
-  (let ((pyim-candidates-cloud-search-function nil))
-    (should (not (pyim-candidates-cloud-search "a" 'pinyin))))
-
-  (let ((pyim-candidates-cloud-search-function "xxx"))
-    (should (not (pyim-candidates-cloud-search "a" 'pinyin)))))
-
 ;; ** pyim-cstring 相关单元测试
 (ert-deftest pyim-tests-pyim-cstring-partition ()
   (should (equal (pyim-cstring-partition "你好 hello 你好")
@@ -938,50 +926,6 @@ yin-xing 因行
     ;; `pyim-dregcache-get' calls `pyim-pymap-py2cchar-get' before return 
result
     (should (eq (length words) 51))))
 
-(ert-deftest pyim-tests-pyim-cloudim ()
-  (with-temp-buffer
-    (insert "HTTP/1.1 200 OK
-Content-Length: 88
-Content-Type: text/plain; charset=utf-8
-Date: Sun, 08 May 2022 00:56:13 GMT
-
-{\"0\":[[[\"你好\",5,{\"pinyin\":\"ni'hao\",\"type\":\"IMEDICT\"}]]],\"1\":\"ni'hao\",\"result\":[null]}")
-    (should (equal (pyim-cloudim-parse-baidu-buffer) '("你好"))))
-
-  (with-temp-buffer
-    (insert "HTTP/1.1 200 OK
-Date: Sun, 08 May 2022 03:33:56 GMT
-Pragma: no-cache
-Expires: -1
-Cache-Control: no-cache, must-revalidate
-Cross-Origin-Resource-Policy: cross-origin
-Content-Type: application/json; charset=UTF-8
-X-Content-Type-Options: nosniff
-Content-Disposition: attachment; filename=\"f.txt\"
-Server: Google Input Server/1.0
-X-XSS-Protection: 0
-X-Frame-Options: SAMEORIGIN
-Alt-Svc: h3=\":443\"; ma=2592000,h3-29=\":443\"; ma=2592000,h3-Q050=\":443\"; 
ma=2592000,h3-Q046=\":443\"; ma=2592000,h3-Q043=\":443\"; 
ma=2592000,quic=\":443\"; ma=2592000; v=\"46,43\"
-Transfer-Encoding: chunked
-
-[\"SUCCESS\",[[\"nihao\",[\"你好\"],[],{\"annotation\":[\"ni 
hao\"],\"candidate_type\":[0],\"lc\":[\"16 16\"]}]]]")
-    (should (equal (pyim-cloudim-parse-google-buffer) '("你好"))))
-
-  (should (equal (pyim-cloudim:baidu "nihao" 'pinyin) '("你好")))
-  (should (equal (pyim-cloudim:google "nihao" 'pinyin) '("你好")))
-
-  (let ((pyim-cloudim 'baidu))
-    (should (equal (pyim-cloudim "nihao" 'pinyin) '("你好"))))
-
-  (let ((pyim-cloudim 'google))
-    (should (equal (pyim-cloudim "nihao" 'pinyin) '("你好"))))
-
-  (let ((pyim-cloudim 'xxx))
-    (should (not (pyim-cloudim "nihao" 'pinyin))))
-
-  (let ((pyim-cloudim nil))
-    (should (not (pyim-cloudim "nihao" 'pinyin)))))
-
 (ert-run-tests-batch-and-exit)
 ;; * Footer
 ;;; pyim-tests.el ends here



reply via email to

[Prev in Thread] Current Thread [Next in Thread]