掌上百科 - PDAWIKI

 找回密码
 免费注册

QQ登录

只需一步,快速开始

查看: 21463|回复: 336

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

  [复制链接]

该用户从未签到

发表于 2020-4-5 01:29:47 | 显示全部楼层 |阅读模式
本帖最后由 那一种想念 于 2020-4-6 11:07 编辑 ' V, t  ~3 ?6 u7 U

$ F2 l9 p* ?5 s4 [% ~$ @; yFastWordQuery(以下简称fwq)是Anki2.1以后的版本中非常不错的工具,可以极大简化批量建卡的过程,但现在网上能找到的被fwq支持的mdx词典只有朗文,而且是全英的朗文,用起来不方便,所以就自己写了一个扩展插件。在此把教程写出来,以便一起学习,以下均在win10、anki2.1.21上正常使用。! `& w8 _8 U- j5 }; i. _6 E: O
论坛的编辑器写起来好麻烦,我做成了pdf,截了图在这里可以看,也可以下载pdf看。
3 J; Q* x( c9 b- ^& N0 ypdf下载地址:https://pan.baidu.com/s/1Eft29mx76MOYDsJG-cJ2Fg
游客,如果您要查看本帖隐藏内容请回复
& V( s; N3 R' h! ]: c" T

: ?& l; x/ K7 E" @文章中工具下载地址也放在这里:
% N1 C% F- c' @( y9 `
0 k7 f# R& M( O; F1 [mdx_server:https://pan.baidu.com/s/1h0QmBL8e3cxWUXOpDx6x0A
游客,如果您要查看本帖隐藏内容请回复

3 Z# U; z7 G) A) J可以用cmd在该目录下运行命令mdx_server.py -fn [mdx文件地址] -mp 8000来运行mdx服务器,然后浏览器输入localhost:8000/test,如果显示词典内容说明运行成功。
  N" E' Y( C% o% ^. O7 X
0 G" _1 O! G2 h* }. \/ _我修改过的fwq的工具,里面有两个示例可以参考:https://pan.baidu.com/s/1PDO2BQBsmgWj7Q7Jbj4LCQ
游客,如果您要查看本帖隐藏内容请回复
4 [+ C$ d; j; T% A: N8 F
0 m9 |& o) e5 g& y" k/ v
顺便问一下最开始上传的图片不能显示,但我找不到地方删除怎么办。。。$ R  r) S5 q9 W" F8 z9 g0 e2 l; ?0 V

; y2 ]2 K' C# h" M4 T+ ?% {; g7 c4 Z0 m1 e  w' Z8 M+ d

; U" V2 z; y3 S2 D! j1 l
9 {6 W- I9 V$ s, P
& i) z& q8 V: C. X. e* y# p上图的两个find,一个是find,一个是find_all,写法是一样的,返回值不同,具体看例子里面就可以看到区别。
! K! Z4 _) }  C
( A6 l9 E" Q5 y8 {( ^$ ?; x  `0 T( X' x6 Y7 u- f0 G% R) _
8 D2 P! X! w- Z7 w2 i0 C

! }8 l  v) Y4 e  o6 X' x6 a0 n. c5 _/ ~, s( S' q" H1 `) L

1 i3 _+ H* }: C, X( C4 H& O- T( D' G; h' e, G- }
9 U. [6 P- p; |7 b

本帖子中包含更多资源

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

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 编辑
    8 P1 a2 Z3 J0 q* S$ x% C! G: d& ?! o* ~+ M" G4 P
    请求fast wq 可以支持的 英文 朗文6 地址,我用windows10, anki ,安装了7 O5 o) W" C8 d& h
    https://ankiweb.net/shared/info/1807206748
    1 Z6 g( m: O& ]: `" l$ Q" ]" Z5 m1 Z/ D# f8 P

    ! Q# v# ~; u! o0 H; i
    9 w# B/ v) w& X0 l! O
    ' n( a6 t9 H4 \* V" ]$ R& m. I1 z/ L% B) c8 s

    7 m" P  w3 C) {4 E3 C7 H2 m  q我的anki版本是2.1.222 N9 w: F- ~4 m' {$ k# I4 U

    % c6 S) Q# d6 U$ ^" 3 p5 v* h' O9 g6 n) P, o* j

    % l8 a0 g0 p5 @) W, e7 \
    ) S% n0 W9 K, q# l
    - u- F$ o; w# q2 k我在网上下载了一个朗文6,其中有这样5个文件' I: F& P9 X0 H$ R
    9 {9 T7 L$ j, O; t* S5 u+ j# O
    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
       
    - A. k; U. J8 W: m我可以用mdx-server 本地浏览,说明词典文件未损坏( ^9 [" Y0 {( Y# a) U) j0 J
    我也修改了LDOCE6.py 中词典文件地址
    0 e" N* ]/ H5 r  \; ]1 O.... a4 K- @+ s) r' l: @/ K+ M
    DICT_PATH = u'' # u'E:\\BaiduYunDownload\\mdx\\L6mp3.mdx'" d1 M$ s2 e" S" A8 i1 k$ f* d' T/ `
    ...但在Faswq- options 界面中下拉列表框中,没有 mdx-ldoce6 条目
    * ], b' p. @! a  V
    - n, g4 ~% H* [8 z1 {0 p我也试着把那个压缩包打开,放置文件与目录在anki中手动添加addon 但启动出错* s+ d  X! P: @+ a7 H; ~
    现在我fastwq中朗文6无分项,只 有default 一项。请问我该如何做?是不是我的词典文件不对?
    1 L) n# @  ~6 T! w, D' l7 v( N$ A% B6 E% k! h/ ^( L
    C:\Users\admin\AppData\Roaming\Anki2\addons21\1807206748\libs\mdict\mdict_query.py我也试过删除上面文件12行的 #号.结果是出错
    + y8 ^4 R' `" s: d3 k" D# N: [) n% f  h, y( c1 q/ E8 }' Z
    错误
    有一个错误发生了.请在按住shift键的同时启动Anki,这样可以临时的忽略掉你已经安装的插件。
    如果仅仅是因为插件引起的问题,请选择工具>插件菜单项来将出错的的插件设置成失效,然后重启Anki,重复以上的步骤直到你发现了具体是哪个插件引起的问题。
    当你已经发现是因为插件引起的问题,请在我们的支持网站上 add-ons section 上报告问题。
    调试信息
    Anki 2.1.22 (0ecc189a) Python 3.8.0 Qt 5.14.1 PyQt 5.14.1
    ) r. P9 q8 @) |2 _/ ?+ c2 q- EPlatform: Windows 10
    & ?$ T" V8 D! u3 L, N) i% }5 qFlags: frz=True ao=True sv=1
    ! [% n" K. l. M3 @) g( s3 _! OAdd-ons, last update check: 2020-05-01 11:26:580 ^& D5 Z3 I- I

    0 x: a' v& k! ~; |+ S# l8 t  iunexpected indent (mdict_query.py, line 15)
    * C3 |* J' f8 [* m# O+ LTraceback (most recent call last):  h9 U2 W" u" B7 P$ _/ B( g
      File "aqt\main.py", line 248, in onOpenProfile& _# H" y+ T$ Q0 Z, m- `
      File "aqt\main.py", line 370, in loadProfile) a  X0 q7 Q9 k: e" M/ B
      File "aqt\gui_hooks.py", line 1281, in __call__5 T" F* h( v! P' S8 D$ I2 [8 ]
      File "lib\site-packages\anki\hooks.py", line 611, in runHook
    5 u) k0 e; S- B3 A8 @  File "C:\Users\admin\AppData\Roaming\Anki2\addons21\1807206748\__init__.py", line 37, in start_here
    9 v% Z% k! M( w' \+ \2 i9 N    from . import common as fastwq
    * |- C7 J2 d+ x7 \' g  File "C:\Users\admin\AppData\Roaming\Anki2\addons21\1807206748\common.py", line 29, in <module>4 \# W4 {2 q# C' {- U
        from .gui import show_about_dialog, show_options  # , check_updates) F2 H" ^( M* c) C! W$ L
      File "C:\Users\admin\AppData\Roaming\Anki2\addons21\1807206748\gui\__init__.py", line 3, in <module>8 v* L& u) {4 l8 o
        from .common import *
    ; ]" B) M0 Z1 i! m  r/ o; q) I  File "C:\Users\admin\AppData\Roaming\Anki2\addons21\1807206748\gui\common.py", line 28, in <module>
      _5 t. V& B& U1 [    from ..service import service_manager, service_pool
    ' a! s0 U/ }* R2 _4 Q  File "C:\Users\admin\AppData\Roaming\Anki2\addons21\1807206748\service\__init__.py", line 20, in <module>! W" p$ w! A* R" g" a, f% y: |
        from .manager import ServiceManager6 a7 a! q: D  X3 W5 Y
      File "C:\Users\admin\AppData\Roaming\Anki2\addons21\1807206748\service\manager.py", line 24, in <module>8 C1 G# D, s4 @  z' J* [8 G2 h
        from .base import LocalService, MdxService, StardictService, WebService, service_wrap
    2 |, M( I% u# p! S  File "C:\Users\admin\AppData\Roaming\Anki2\addons21\1807206748\service\base.py", line 44, in <module>. \2 _; Y; ?# `/ m8 k
        from ..libs import MdxBuilder, StardictBuilder
    , e! t/ X/ t; K- T' \: t! Q/ E  File "C:\Users\admin\AppData\Roaming\Anki2\addons21\1807206748\libs\__init__.py", line 1, in <module>
    0 Q% ~: b7 p; y; O; ^7 B% j    from .mdict import IndexBuilder as MdxBuilder1 y! M# [& n6 K6 s
      File "C:\Users\admin\AppData\Roaming\Anki2\addons21\1807206748\libs\mdict\__init__.py", line 1, in <module>
    2 o/ }% n# G' ~/ J    from .mdict_query import IndexBuilder
    , @  j) @! j% j( @: E9 U9 a  File "C:\Users\admin\AppData\Roaming\Anki2\addons21\1807206748\libs\mdict\mdict_query.py", line 159 |5 S6 q1 d! U) S  k8 z. e  M1 r
    ! K: y* X! D, k

    ' T* A7 E$ a5 ?% i7 ?) H
    2 o  d; X) T% ~/ |, c2 O
    4 i1 j! g/ h: a  ~7 w) u
  • TA的每日心情
    奋斗
    2019-10-13 07:34
  • 签到天数: 209 天

    [LV.7]常住居民III

    发表于 2020-4-5 23:09:45 | 显示全部楼层
    下面这个是否有误?好像一模一样。
    2 K, G7 H; G6 ^; L( m6 R
    & m$ S7 `2 [% P: M#这个命令用来搜索符合设置值的第一个标签:9 ]7 y) _" z8 J
    result=prase_obj.find("标签名",id="id值",class_="标签类名",attrs={"特殊属性名":"特殊属性值"})
    , `. _4 V3 X/ T. i#这个命令用来搜索符合设置值的所有标签,设置与上一致,只有返回值不同:
    5 [6 R! n! n8 s0 G! y% Cresult=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:484 ?) T, g1 u4 H: P" W
    也可以把这些图片打包一下。。一直加载不出来。。

    ! @- F7 h1 X5 W图片我是真没办法,折腾图片就将近40分钟,一会这个不显示,一会那个不显示,我想想办法

    该用户从未签到

    发表于 2020-4-5 13:13:44 | 显示全部楼层
    那一种想念 发表于 2020-4-5 13:12) Z) Y3 W9 a% ~
    图片我是真没办法,折腾图片就将近40分钟,一会这个不显示,一会那个不显示,我想想办法 ...
    ' R- T* ]0 i1 v( H/ w  t: `- C5 q
    嗯。。就是把图片打包放到百度网盘看看~
  • TA的每日心情
    慵懒
    2020-4-10 13:19
  • 签到天数: 269 天

    [LV.8]以坛为家I

    发表于 2020-4-5 13:39:12 | 显示全部楼层
    那一种想念 发表于 2020-4-5 13:12- T2 g1 w" H3 f, n
    图片我是真没办法,折腾图片就将近40分钟,一会这个不显示,一会那个不显示,我想想办法 ...

    - ]) e7 ^/ `  V图片可以放到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:09
      J7 P" n' T4 B9 T# o# ~下面这个是否有误?好像一模一样。! W) G& y6 q; D: O  M. g! E

    2 g9 _) m7 B) e! J3 [9 a/ U6 g#这个命令用来搜索符合设置值的第一个标签:

    4 u7 S. q9 I" W+ V$ }2 W  X) J对,一个是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 | 显示全部楼层

    ( z( L1 l5 A* Y% \1 B$ J0 e, B8 e感谢楼主分享,,,期待成品
  • TA的每日心情
    开心
    2024-1-16 10:51
  • 签到天数: 125 天

    [LV.7]常住居民III

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

    本版积分规则

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

    GMT+8, 2024-4-28 01:11 , Processed in 0.107245 second(s), 12 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2023, Tencent Cloud.

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