掌上百科 - PDAWIKI

 找回密码
 免费注册

QQ登录

只需一步,快速开始

查看: 21335|回复: 336

[经验交流] 如何给FastWordQuery写扩展插件以支持其他mdx词典

  [复制链接]

该用户从未签到

发表于 2020-4-5 01:29:47 | 显示全部楼层 |阅读模式
本帖最后由 那一种想念 于 2020-4-6 11:07 编辑
6 V! [! _' ~% x! v- g
* T7 s7 D) @% l  r9 ^2 y2 f" JFastWordQuery(以下简称fwq)是Anki2.1以后的版本中非常不错的工具,可以极大简化批量建卡的过程,但现在网上能找到的被fwq支持的mdx词典只有朗文,而且是全英的朗文,用起来不方便,所以就自己写了一个扩展插件。在此把教程写出来,以便一起学习,以下均在win10、anki2.1.21上正常使用。; u5 P& Q5 E/ H
论坛的编辑器写起来好麻烦,我做成了pdf,截了图在这里可以看,也可以下载pdf看。
0 A/ I9 s. ~' h* \. j' T, H3 mpdf下载地址:https://pan.baidu.com/s/1Eft29mx76MOYDsJG-cJ2Fg
游客,如果您要查看本帖隐藏内容请回复

) F& }0 X/ `. |$ U' M! U/ x
  S# o8 L- `( c1 l+ l: ^. [文章中工具下载地址也放在这里:
3 t/ @; x1 D0 q+ p+ `2 l: L3 o8 s' u, s3 U4 f
mdx_server:https://pan.baidu.com/s/1h0QmBL8e3cxWUXOpDx6x0A
游客,如果您要查看本帖隐藏内容请回复
/ E% a3 V8 Y7 w
可以用cmd在该目录下运行命令mdx_server.py -fn [mdx文件地址] -mp 8000来运行mdx服务器,然后浏览器输入localhost:8000/test,如果显示词典内容说明运行成功。: M( K# R1 n  D" q6 _

" D5 ]: F1 Q- R0 c我修改过的fwq的工具,里面有两个示例可以参考:https://pan.baidu.com/s/1PDO2BQBsmgWj7Q7Jbj4LCQ
游客,如果您要查看本帖隐藏内容请回复
, F. q( G0 g' d" r0 s

  Q5 G/ U  }& r/ V顺便问一下最开始上传的图片不能显示,但我找不到地方删除怎么办。。。! Y3 b3 l% @1 p+ j

# Z9 y. L* o5 d# A; W5 \9 k0 M  Z) S: S" m
2 B  V; _3 y+ I, [7 ]6 v4 F
/ G' g$ @% U: v4 d+ B0 J

+ x8 Q5 S6 |4 o: P  B8 |2 K/ i) q上图的两个find,一个是find,一个是find_all,写法是一样的,返回值不同,具体看例子里面就可以看到区别。+ l" D, G. X) `
7 Z) `4 c4 ~+ G
4 D  F4 E2 O) W
. S' j8 C+ I* p* q

: }% ?- _7 Y# l1 r
! J1 ~. }$ c$ C) v: r# W7 O  X8 c, m/ z8 f/ G

- E( G; X% u5 H2 O; x$ S
- z6 n5 e. f* w9 |$ `

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?免费注册

x

评分

6

查看全部评分

本帖被以下淘专辑推荐:

  • · anki相关|主题: 20, 订阅: 6
  • · 1|主题: 2, 订阅: 0
  • TA的每日心情
    开心
    2022-3-3 18:43
  • 签到天数: 6 天

    [LV.2]偶尔看看I

    发表于 2020-5-5 00:17:56 | 显示全部楼层
    本帖最后由 bdqq 于 2020-5-5 00:38 编辑
    1 W6 I- d9 ?; s! g+ c4 U5 \( L  M  Y) @- H) p
    请求fast wq 可以支持的 英文 朗文6 地址,我用windows10, anki ,安装了4 Y' k9 {0 T8 v% }% H# ?" y2 W
    https://ankiweb.net/shared/info/1807206748  w, V* P" X/ `$ Y

    * R4 ?) a+ U. P& u5 o) c- D+ O5 W
    1 p. W* z" h) r1 S# t+ Z8 w5 f* b' x6 H8 E& s: Y, o; l% Y+ o' w

    7 `9 ^  p& V, h  c' ^, q. O1 o" i7 F. A

    0 Q/ M( }+ G$ b, u我的anki版本是2.1.22- t% Q7 i! ~; y$ K
    ! H; L  Y) W6 K, V# e  V
    "
    * O( O  D/ d6 T; l- F/ f! D
    1 e9 F2 ?& h! f3 h0 I' {* L* {# N6 U5 P% T; z5 p2 o8 m, I* C

    5 y) [8 t  }# |9 \% Z: w+ B我在网上下载了一个朗文6,其中有这样5个文件# X: c" L% ]1 P" T

    : m$ M; l& b! Q0 o9 U) a
    entry.js   
    1,206
    L6mp3.mdd  
    1,297,932,816
    L6mp3.mdx
    124,057,083
    LDOCE6.css
    12,642
    拷贝wquery目录和wordquery.py文件到addon目录里.zip
    90,860
       4 I# U/ t4 t9 ]( j% `  _& c: j
    我可以用mdx-server 本地浏览,说明词典文件未损坏. H% @( Y- v8 a; V& p1 D
    我也修改了LDOCE6.py 中词典文件地址( E% K+ \6 M8 c; a& A, ^
    ...
    4 @* [% K4 s4 rDICT_PATH = u'' # u'E:\\BaiduYunDownload\\mdx\\L6mp3.mdx'
    # y6 G# ?- F9 N: Q& ]' k3 K( ?...但在Faswq- options 界面中下拉列表框中,没有 mdx-ldoce6 条目7 }" f  W/ R9 i) I6 \

    1 V/ i4 ]$ B7 g. l) b4 Q我也试着把那个压缩包打开,放置文件与目录在anki中手动添加addon 但启动出错" B; G- m3 u# |7 F% T1 M
    现在我fastwq中朗文6无分项,只 有default 一项。请问我该如何做?是不是我的词典文件不对?
    ' p& D& O0 a( A+ F& e3 H0 G- }1 X: [( g0 y. x, Q
    C:\Users\admin\AppData\Roaming\Anki2\addons21\1807206748\libs\mdict\mdict_query.py我也试过删除上面文件12行的 #号.结果是出错# e0 C: ~3 U5 q& G! w' a

    6 }; K' S6 _# }/ Q错误
    有一个错误发生了.请在按住shift键的同时启动Anki,这样可以临时的忽略掉你已经安装的插件。
    如果仅仅是因为插件引起的问题,请选择工具>插件菜单项来将出错的的插件设置成失效,然后重启Anki,重复以上的步骤直到你发现了具体是哪个插件引起的问题。
    当你已经发现是因为插件引起的问题,请在我们的支持网站上 add-ons section 上报告问题。
    调试信息
    Anki 2.1.22 (0ecc189a) Python 3.8.0 Qt 5.14.1 PyQt 5.14.1
    / J; J7 Q+ Y/ l  A; c/ c) EPlatform: Windows 10
    : C6 ^! a" x5 F/ cFlags: frz=True ao=True sv=1# |+ f! y+ g% g- i
    Add-ons, last update check: 2020-05-01 11:26:58
    ; j# \* [! i# T5 b/ d& u9 l$ `0 e9 K
    unexpected indent (mdict_query.py, line 15)
    ' R; ]+ H2 Q6 [& R, E" WTraceback (most recent call last):
    ! \! t9 J! _, [5 H* b7 ]6 o  File "aqt\main.py", line 248, in onOpenProfile
    ) z8 ?9 @7 X! C+ F: L  d  File "aqt\main.py", line 370, in loadProfile9 j2 ?$ F. G6 R) @
      File "aqt\gui_hooks.py", line 1281, in __call__
    " W3 F$ D+ {* M) ~/ V( [  File "lib\site-packages\anki\hooks.py", line 611, in runHook) [: Q, y/ _( Y
      File "C:\Users\admin\AppData\Roaming\Anki2\addons21\1807206748\__init__.py", line 37, in start_here
    : K6 K9 H' T6 J- f9 L/ N; [! H    from . import common as fastwq
    , G/ D& H! r+ [5 C  y; g# W  File "C:\Users\admin\AppData\Roaming\Anki2\addons21\1807206748\common.py", line 29, in <module>
    ) A( R* g# W- _: k1 M$ `3 W, F    from .gui import show_about_dialog, show_options  # , check_updates5 L1 E# c: J' J/ W" |
      File "C:\Users\admin\AppData\Roaming\Anki2\addons21\1807206748\gui\__init__.py", line 3, in <module>: Y2 V9 c' g% F4 J  e
        from .common import *
    - ]3 l) E5 [( C4 s4 L, N' q- |  File "C:\Users\admin\AppData\Roaming\Anki2\addons21\1807206748\gui\common.py", line 28, in <module>* j  X$ _# p* B7 x
        from ..service import service_manager, service_pool% X/ m4 R/ q' f+ x
      File "C:\Users\admin\AppData\Roaming\Anki2\addons21\1807206748\service\__init__.py", line 20, in <module>0 K+ D; d! C+ H5 E0 |( f
        from .manager import ServiceManager/ G3 p- U6 U& Y- Z2 e
      File "C:\Users\admin\AppData\Roaming\Anki2\addons21\1807206748\service\manager.py", line 24, in <module>) V4 I2 f& `+ c$ }# f$ g6 h# r8 a; A
        from .base import LocalService, MdxService, StardictService, WebService, service_wrap: q' P6 {1 q. o* z5 I& _
      File "C:\Users\admin\AppData\Roaming\Anki2\addons21\1807206748\service\base.py", line 44, in <module>8 P7 ~& n8 p+ a
        from ..libs import MdxBuilder, StardictBuilder
    7 R* p9 m: \& l0 h, O' m4 l5 S  File "C:\Users\admin\AppData\Roaming\Anki2\addons21\1807206748\libs\__init__.py", line 1, in <module>
    6 c( B+ p) U9 ]3 d2 A) c: K. _    from .mdict import IndexBuilder as MdxBuilder& J; \% W, q8 R5 k) V
      File "C:\Users\admin\AppData\Roaming\Anki2\addons21\1807206748\libs\mdict\__init__.py", line 1, in <module>, g9 U- m3 u6 i. Y  h  C
        from .mdict_query import IndexBuilder3 v1 V) z; ?: f, C
      File "C:\Users\admin\AppData\Roaming\Anki2\addons21\1807206748\libs\mdict\mdict_query.py", line 15
    3 b6 z8 G* Z: v( i4 x' \2 L7 f5 h* x# y: g: E- Z% d

    2 A8 \+ V* _( k' E  K# p! G
    + o& c! i, S/ R3 p; L: a- B) ^( u1 p9 G8 B% r' W+ h6 Z+ d( W
  • TA的每日心情
    奋斗
    2019-10-13 07:34
  • 签到天数: 209 天

    [LV.7]常住居民III

    发表于 2020-4-5 23:09:45 | 显示全部楼层
    下面这个是否有误?好像一模一样。
    2 F' ?9 w% L6 a9 x7 r- B
    : h( p" s0 F1 u; O( N#这个命令用来搜索符合设置值的第一个标签:5 O9 h! w4 t; h9 g5 L, \4 I
    result=prase_obj.find("标签名",id="id值",class_="标签类名",attrs={"特殊属性名":"特殊属性值"})* k4 b0 F4 |/ W8 \: @+ J
    #这个命令用来搜索符合设置值的所有标签,设置与上一致,只有返回值不同:5 }  s. j( z5 \+ j
    result=prase_obj.find("标签名",id="id值",class_="标签类名",attrs={"特殊属性名":"特殊属性值"})

    该用户从未签到

    发表于 2022-9-24 08:10:56 | 显示全部楼层
    谢谢大佬                                                               
  • TA的每日心情
    开心
    2021-4-3 09:18
  • 签到天数: 91 天

    [LV.6]常住居民II

    发表于 2020-4-5 10:10:20 | 显示全部楼层
    学到了,感谢分享

    该用户从未签到

    发表于 2020-4-5 11:10:22 | 显示全部楼层
    谢谢教程超级好

    该用户从未签到

    发表于 2020-4-5 11:48:07 | 显示全部楼层
    也可以把这些图片打包一下。。一直加载不出来。。
  • TA的每日心情

    2023-3-4 11:05
  • 签到天数: 113 天

    [LV.6]常住居民II

    发表于 2020-4-5 12:00:45 | 显示全部楼层
    这个世界已经背懂计算机编程的人占领了,我们只有做牛做马的份……

    该用户从未签到

     楼主| 发表于 2020-4-5 13:12:48 | 显示全部楼层
    youyoulu 发表于 2020-4-5 11:48
    2 K5 S9 K3 k9 F& a也可以把这些图片打包一下。。一直加载不出来。。
    $ ^! }5 U% h' E
    图片我是真没办法,折腾图片就将近40分钟,一会这个不显示,一会那个不显示,我想想办法

    该用户从未签到

    发表于 2020-4-5 13:13:44 | 显示全部楼层
    那一种想念 发表于 2020-4-5 13:12
    * Y: G7 c. {6 I2 m图片我是真没办法,折腾图片就将近40分钟,一会这个不显示,一会那个不显示,我想想办法 ...

    % `) `; h( y  H+ l2 i/ ?; T嗯。。就是把图片打包放到百度网盘看看~
  • TA的每日心情
    慵懒
    2020-4-10 13:19
  • 签到天数: 269 天

    [LV.8]以坛为家I

    发表于 2020-4-5 13:39:12 | 显示全部楼层
    那一种想念 发表于 2020-4-5 13:12  s% k, Y4 X4 {5 l3 o3 C2 Y
    图片我是真没办法,折腾图片就将近40分钟,一会这个不显示,一会那个不显示,我想想办法 ...
    8 p1 A1 s8 s. ?( Q8 L1 \' n
    图片可以放到sm.ms然后引用外链
  • TA的每日心情
    奋斗
    2019-10-13 07:34
  • 签到天数: 209 天

    [LV.7]常住居民III

    发表于 2020-4-5 15:34:08 | 显示全部楼层
    感谢分享经验,之前我都是先将词典拆开,然后使用FWQ。

    该用户从未签到

    发表于 2020-4-5 15:42:55 | 显示全部楼层
    感谢作者分享
  • TA的每日心情

    2020-5-6 21:36
  • 签到天数: 37 天

    [LV.5]常住居民I

    发表于 2020-4-5 22:38:02 | 显示全部楼层
    好东西,学习学习

    该用户从未签到

     楼主| 发表于 2020-4-6 11:00:15 | 显示全部楼层
    VimVim 发表于 2020-4-5 23:094 r! t6 G3 t& s' d0 K
    下面这个是否有误?好像一模一样。
    7 ]6 q: P1 e, U6 L+ @. T" F: `" `9 j' Y+ ^3 r7 [$ ~4 p" b
    #这个命令用来搜索符合设置值的第一个标签:
    + F0 X7 N. s  k+ G2 Z
    对,一个是find_all,两者用法是一样的,只是返回值不一样。
  • TA的每日心情
    奋斗
    2023-12-14 15:58
  • 签到天数: 874 天

    [LV.10]以坛为家III

    发表于 2020-4-6 11:33:01 | 显示全部楼层
    感谢分享!解决了困扰我很久的问题
  • TA的每日心情
    开心
    2020-2-25 13:55
  • 签到天数: 6 天

    [LV.2]偶尔看看I

    发表于 2020-4-7 17:52:56 | 显示全部楼层
    学习一下,看看。谢谢。
  • TA的每日心情
    开心
    2023-2-22 11:08
  • 签到天数: 54 天

    [LV.5]常住居民I

    发表于 2020-4-8 08:38:56 | 显示全部楼层
    看看,不知道难不难。学习一下。
  • TA的每日心情
    擦汗
    2021-1-25 09:39
  • 签到天数: 255 天

    [LV.8]以坛为家I

    发表于 2020-4-12 08:31:56 | 显示全部楼层
    感谢楼主分享

    该用户从未签到

    发表于 2020-4-12 13:22:35 | 显示全部楼层
    非常感谢楼主,非常需要
  • TA的每日心情

    2020-4-15 16:56
  • 签到天数: 2 天

    [LV.1]初来乍到

    发表于 2020-4-13 00:24:07 | 显示全部楼层
    感谢楼主分享
  • TA的每日心情
    开心
    2018-12-12 23:00
  • 签到天数: 48 天

    [LV.5]常住居民I

    发表于 2020-4-14 23:46:43 | 显示全部楼层
    哇,这个真心厉害。正需要这个呢。
  • TA的每日心情
    擦汗
    2020-6-6 16:10
  • 签到天数: 164 天

    [LV.7]常住居民III

    发表于 2020-4-16 09:56:42 | 显示全部楼层
    7 X& ]! F7 w3 w+ B' x
    感谢楼主分享,,,期待成品
  • TA的每日心情
    开心
    2024-1-16 10:51
  • 签到天数: 125 天

    [LV.7]常住居民III

    发表于 2020-4-16 18:51:15 | 显示全部楼层
    回复支持楼主
    您需要登录后才可以回帖 登录 | 免费注册

    本版积分规则

    小黑屋|手机版|Archiver|PDAWIKI |网站地图

    GMT+8, 2024-4-20 05:29 , Processed in 0.075749 second(s), 12 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2023, Tencent Cloud.

    快速回复 返回顶部 返回列表