掌上百科 - PDAWIKI

 找回密码
 免费注册

QQ登录

只需一步,快速开始

查看: 15699|回复: 308

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

  [复制链接]

该用户从未签到

发表于 2020-4-5 01:29:47 | 显示全部楼层 |阅读模式
本帖最后由 那一种想念 于 2020-4-6 11:07 编辑
1 I% `9 F9 e& ~: H
2 k5 ^( R1 r4 JFastWordQuery(以下简称fwq)是Anki2.1以后的版本中非常不错的工具,可以极大简化批量建卡的过程,但现在网上能找到的被fwq支持的mdx词典只有朗文,而且是全英的朗文,用起来不方便,所以就自己写了一个扩展插件。在此把教程写出来,以便一起学习,以下均在win10、anki2.1.21上正常使用。
- k9 l+ C/ B4 d- z2 S. P论坛的编辑器写起来好麻烦,我做成了pdf,截了图在这里可以看,也可以下载pdf看。
5 K9 Q- ?2 M4 {) r8 ]7 n- dpdf下载地址:https://pan.baidu.com/s/1Eft29mx76MOYDsJG-cJ2Fg
游客,如果您要查看本帖隐藏内容请回复

% u$ H# Q6 R, C5 W- l6 S* d7 \: w+ J) X$ F8 ?* x  o
文章中工具下载地址也放在这里:
4 E) z9 o  `, |" E) Q5 a/ ~: g9 A& R) G# Z$ Y! v
mdx_server:https://pan.baidu.com/s/1h0QmBL8e3cxWUXOpDx6x0A
游客,如果您要查看本帖隐藏内容请回复

( M6 I( ~+ X  s; f可以用cmd在该目录下运行命令mdx_server.py -fn [mdx文件地址] -mp 8000来运行mdx服务器,然后浏览器输入localhost:8000/test,如果显示词典内容说明运行成功。' X; g  Q" t5 O8 {/ U+ J, _- h6 j2 M
7 R% s/ ~$ a$ d+ F1 S% ]
我修改过的fwq的工具,里面有两个示例可以参考:https://pan.baidu.com/s/1PDO2BQBsmgWj7Q7Jbj4LCQ
游客,如果您要查看本帖隐藏内容请回复
& a1 G1 ~2 Z) A6 L$ T% \

* \5 S$ o' k# W1 [) j3 |顺便问一下最开始上传的图片不能显示,但我找不到地方删除怎么办。。。
4 p) C5 c6 [1 }" k8 ?4 j* o* `+ K

/ G. a" L7 Q. ?' U; d; C; t6 A$ J& m9 b/ n

$ f/ \$ l, r  M, e, U1 W) m0 i$ Z1 w+ B' Z8 y
上图的两个find,一个是find,一个是find_all,写法是一样的,返回值不同,具体看例子里面就可以看到区别。
3 ]* O* H: l0 w* y8 p5 O7 d/ Y" b* s' r" u5 R" m! m1 X6 d, ^  c

1 d) e( C- C: b: ]' T6 `! q
- ]% x8 N2 N, ^% p2 `% K1 w& w' v' r# \  r, n7 u

2 P/ S# Z5 q: N* q* k
. j8 i( L! V, ?  c0 C6 V4 i0 [) J( {* |3 q8 v5 T. ?! H
2 S$ M  f4 k* }5 H

本帖子中包含更多资源

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

x

评分

6

查看全部评分

本帖被以下淘专辑推荐:

  • · anki相关|主题: 19, 订阅: 5
  • · 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 编辑 & N6 I: H: V+ }
    # n' W+ @' W8 Q* b
    请求fast wq 可以支持的 英文 朗文6 地址,我用windows10, anki ,安装了
    - J8 b, P- P; M. E! ~https://ankiweb.net/shared/info/1807206748
      {/ b& J% ?: X& `7 l2 A' j6 @- ~* {8 w/ G
    ( M& e( X" G$ [2 \% E
    1 Z9 O) J# u7 D# o% a
    1 E6 i7 n7 q7 [. J( u/ G
    5 G! K1 d  v1 o( o- I) s3 r. A' r& K+ z
    0 o( N) y& Z6 S0 g  I- S2 R( C
    我的anki版本是2.1.22( o6 M+ R3 a' X/ o, h% _

    ( p7 p- x& t% \4 P* e2 @: v" & m: ]9 l% w, i$ L  U" G
    $ ], C% |, N6 J+ Y
    2 H4 _8 Z9 B! `
    8 n& h3 E2 k- j) }# B2 B
    我在网上下载了一个朗文6,其中有这样5个文件
    / i6 {% d( `3 Y" S3 O; ~* z+ B& B7 F8 d4 x" `3 i2 t! y- D. [
    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
       
    $ A8 a+ ]% r9 J我可以用mdx-server 本地浏览,说明词典文件未损坏
      g! b# f" a6 U! C. s我也修改了LDOCE6.py 中词典文件地址; {. V2 Z( a5 [3 }# p. v* u
    ...
    ( s5 s* s( N, Y+ H/ R& {9 m  ]DICT_PATH = u'' # u'E:\\BaiduYunDownload\\mdx\\L6mp3.mdx'
    ! M  `( W7 o- S9 ^$ v...但在Faswq- options 界面中下拉列表框中,没有 mdx-ldoce6 条目
    " G1 y# @. ^% h. x7 H
    ! R9 t4 O. T# n$ i- {我也试着把那个压缩包打开,放置文件与目录在anki中手动添加addon 但启动出错7 l* s; _9 p5 |' D9 K5 \( X7 _7 M
    现在我fastwq中朗文6无分项,只 有default 一项。请问我该如何做?是不是我的词典文件不对?6 e$ a) z% W# ]( J% e2 L* v" H
    * @  \7 ]7 C! C% I: C
    C:\Users\admin\AppData\Roaming\Anki2\addons21\1807206748\libs\mdict\mdict_query.py我也试过删除上面文件12行的 #号.结果是出错
    ! D1 E# m5 _' c0 W6 L! c/ y! R( p1 Z# T: s5 j
    错误
    有一个错误发生了.请在按住shift键的同时启动Anki,这样可以临时的忽略掉你已经安装的插件。
    如果仅仅是因为插件引起的问题,请选择工具>插件菜单项来将出错的的插件设置成失效,然后重启Anki,重复以上的步骤直到你发现了具体是哪个插件引起的问题。
    当你已经发现是因为插件引起的问题,请在我们的支持网站上 add-ons section 上报告问题。
    调试信息
    Anki 2.1.22 (0ecc189a) Python 3.8.0 Qt 5.14.1 PyQt 5.14.1; [6 M2 d' D4 b# E; P7 r+ t& X( Z- [
    Platform: Windows 10- f; i; _; v* n: z1 i
    Flags: frz=True ao=True sv=1
    ! l% T9 `9 [0 g2 R2 a4 ^3 DAdd-ons, last update check: 2020-05-01 11:26:58# c( R; K4 e& ?# T$ m6 k- p
    ) h' |* m5 P; k( O/ Q
    unexpected indent (mdict_query.py, line 15)
    5 t) m7 j3 r) O7 E7 nTraceback (most recent call last):) F: q! j, ~+ m6 Q" M( S$ g
      File "aqt\main.py", line 248, in onOpenProfile0 c9 j* b- x! t
      File "aqt\main.py", line 370, in loadProfile9 Z. u, m# A( D8 `! |; Q
      File "aqt\gui_hooks.py", line 1281, in __call__8 t! @( V$ t# ], o, {" T4 y/ \
      File "lib\site-packages\anki\hooks.py", line 611, in runHook
    - l5 \% J5 W8 U( a) \3 e  File "C:\Users\admin\AppData\Roaming\Anki2\addons21\1807206748\__init__.py", line 37, in start_here
    ( \; N$ W" j2 m: x9 t) _    from . import common as fastwq0 B6 @: Q. m& g( X: W
      File "C:\Users\admin\AppData\Roaming\Anki2\addons21\1807206748\common.py", line 29, in <module>! ]6 B; N% x4 T4 K- q7 i4 ^
        from .gui import show_about_dialog, show_options  # , check_updates
    , U: V: w& Y8 }4 U  File "C:\Users\admin\AppData\Roaming\Anki2\addons21\1807206748\gui\__init__.py", line 3, in <module>  f1 d7 d( G$ |; r% t4 W6 l( l, I; b
        from .common import *
    ' @3 p$ u$ n8 [, o, a: M( ]  File "C:\Users\admin\AppData\Roaming\Anki2\addons21\1807206748\gui\common.py", line 28, in <module>1 B1 `) h% Y* h: }( h
        from ..service import service_manager, service_pool
    ' p! c( d" }( @& h. W0 {" B  File "C:\Users\admin\AppData\Roaming\Anki2\addons21\1807206748\service\__init__.py", line 20, in <module>9 w8 Z2 R  s9 n- X* _3 |& j* a
        from .manager import ServiceManager  X! W& }. L8 k* b+ Y# X% F
      File "C:\Users\admin\AppData\Roaming\Anki2\addons21\1807206748\service\manager.py", line 24, in <module>1 L4 q, C/ g! V7 B; T
        from .base import LocalService, MdxService, StardictService, WebService, service_wrap
    4 L9 Y3 _! L: L7 {- l0 Q0 \  File "C:\Users\admin\AppData\Roaming\Anki2\addons21\1807206748\service\base.py", line 44, in <module>
    7 a9 [* h! [) H: N% h* x. r' ?    from ..libs import MdxBuilder, StardictBuilder1 Z! V, O9 w8 r/ n0 N5 n2 W
      File "C:\Users\admin\AppData\Roaming\Anki2\addons21\1807206748\libs\__init__.py", line 1, in <module>
    9 |/ l# w7 ]% L# a+ e, ~' h9 R    from .mdict import IndexBuilder as MdxBuilder) s0 j: J) i* B) ?2 u
      File "C:\Users\admin\AppData\Roaming\Anki2\addons21\1807206748\libs\mdict\__init__.py", line 1, in <module>
    & x3 j  J" ~$ G9 E" t    from .mdict_query import IndexBuilder9 p  O* W- m" g2 Z+ J( s
      File "C:\Users\admin\AppData\Roaming\Anki2\addons21\1807206748\libs\mdict\mdict_query.py", line 15* o! T4 b, V  w4 Y, x0 I* B

    . p0 ?. f( H: B4 m8 v6 O( x1 @9 A/ p; r+ X$ H0 j0 B7 X
    1 ~$ i" V& L' T; {/ r! p

    & q9 w6 V* X' j' Q* G  P
  • TA的每日心情
    奋斗
    2019-10-13 07:34
  • 签到天数: 209 天

    [LV.7]常住居民III

    发表于 2020-4-5 23:09:45 | 显示全部楼层
    下面这个是否有误?好像一模一样。
    7 U9 a. A/ A+ \% c. u; t; v
    . M5 s5 ]8 y9 _1 n) ~2 O#这个命令用来搜索符合设置值的第一个标签:
    ( j* X3 T% t( y/ U! j' g8 Fresult=prase_obj.find("标签名",id="id值",class_="标签类名",attrs={"特殊属性名":"特殊属性值"})
    2 ?+ H; {; T$ p& x3 M1 N#这个命令用来搜索符合设置值的所有标签,设置与上一致,只有返回值不同:
    # t- R8 s  J$ c3 {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
    " j0 B; f* t3 o" [1 H* U2 C+ U也可以把这些图片打包一下。。一直加载不出来。。
    . f4 f4 I- O9 q4 W) v
    图片我是真没办法,折腾图片就将近40分钟,一会这个不显示,一会那个不显示,我想想办法

    该用户从未签到

    发表于 2020-4-5 13:13:44 | 显示全部楼层
    那一种想念 发表于 2020-4-5 13:12
    % |" O' ?* G1 U( O, ^9 _: Y( O( \图片我是真没办法,折腾图片就将近40分钟,一会这个不显示,一会那个不显示,我想想办法 ...

    ; z" ~! {* R# i7 X3 A: U, k8 l嗯。。就是把图片打包放到百度网盘看看~
  • TA的每日心情
    慵懒
    2020-4-10 13:19
  • 签到天数: 269 天

    [LV.8]以坛为家I

    发表于 2020-4-5 13:39:12 | 显示全部楼层
    那一种想念 发表于 2020-4-5 13:12
    3 \6 Q( `. \- j1 [; w2 m- t图片我是真没办法,折腾图片就将近40分钟,一会这个不显示,一会那个不显示,我想想办法 ...

    4 ]; N9 h( |4 l, H$ X4 h( |) j图片可以放到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:095 z: x# b+ I! }2 c4 ?3 F" [( G
    下面这个是否有误?好像一模一样。4 L. E) Q3 l, B" R8 O0 p$ d$ {

    7 `3 ^: E  m( ^0 j- w' {+ |! D#这个命令用来搜索符合设置值的第一个标签:

    0 y" s" F! Y9 f3 w对,一个是find_all,两者用法是一样的,只是返回值不一样。
  • TA的每日心情
    奋斗
    2023-2-22 09:26
  • 签到天数: 873 天

    [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 | 显示全部楼层

    ! ?3 R1 w& m/ C) N9 y% V$ W感谢楼主分享,,,期待成品
  • TA的每日心情
    开心
    2023-4-6 16:27
  • 签到天数: 123 天

    [LV.7]常住居民III

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

    本版积分规则

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

    GMT+8, 2023-9-27 18:39 , Processed in 0.069064 second(s), 12 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2023, Tencent Cloud.

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