掌上百科 - PDAWIKI

 找回密码
 免费注册

QQ登录

只需一步,快速开始

查看: 2184|回复: 5

[使用求助] 已解决|anki试图调整fastWordQuery获取the little dict部分内容失败

[复制链接]
  • TA的每日心情
    慵懒
    2023-12-11 22:15
  • 签到天数: 53 天

    [LV.5]常住居民I

    发表于 2023-8-15 00:49:19 | 显示全部楼层 |阅读模式
    本帖最后由 Eleeeanor 于 2023-8-19 21:12 编辑
    / @% U2 G) x, U+ N4 {6 ~) J( y; x- ~8 v2 h$ A; X
    参考github调整fastWQ,在插件的dict文件夹加入LDOCE5.py和TLD.py文件,改写了路径。然后一打开anki就报错,如下:
    . J! j& W  \, W“错误
    % a' p- Z* J0 E/ _5 B( ^* c有一个错误发生了.请在按住shift键的同时启动Anki,这样可以临时的禁用您已经安装的插件。 # D& I5 S7 q  Q/ N" L
    如果仅仅是因为插件引起的问题,请选择工具>插件菜单项来将出错的的插件设置成失效,然后重启Anki,重复以上的步骤直到你发现了具体是哪个插件引起的问题。 + J' E6 l  ^8 \2 I6 c
    当你已经发现是因为插件引起的问题,请在我们的支持网站上 [插件支持](https://help.ankiweb.net/discussions/add-ons/) 上报告问题。
    / i' N: `8 P. T3 H1 r/ \调试信息:, o; R' J$ S6 T  q) D
    Anki 2.1.35 (84dcaa86) Python 3.8.0 Qt 5.14.2 PyQt 5.14.2
    ) D! b% W% g, n6 |$ SPlatform: Windows 10' {& Z* ]" G: A4 Z
    Flags: frz=True ao=True sv=2
    * Z8 ?8 O# p- U1 G  d+ W3 z% ?Add-ons, last update check: 2023-08-14 02:35:39+ q! P& l1 [9 E& U# }, M

    9 `4 q2 y) u6 W2 B  V& _" S* ]Caught exception:/ i8 X7 x. m  L% j/ ], ~
    Traceback (most recent call last):( ]# l: s  |9 l+ J2 _
      File "aqt\progress.py", line 53, in handler
    + W5 U5 s+ F' k2 B  File "aqt\main.py", line 142, in on_window_init
    : r8 |+ `# H: b( C0 I( J  File "aqt\main.py", line 190, in setupProfileAfterWebviewsLoaded
    1 \' J. P+ h6 ?( l* D! U  @  File "aqt\main.py", line 231, in setupProfile
    ) D0 ^8 j8 V, w  File "aqt\main.py", line 427, in loadProfile6 D/ z4 V. L6 P( x/ ]
      File "aqt\gui_hooks.py", line 2033, in __call__
    # w$ V+ a' v6 E& b- [) @, {  File "anki\hooks.py", line 583, in runHook7 E* F7 U+ @7 Y6 f4 l# r; {
      File "C:\Users\surface\AppData\Roaming\Anki2\addons21\1807206748\__init__.py", line 37, in start_here$ `$ k8 ?# x, |
        from . import common as fastwq
    ) G( [/ i, B; W1 x6 v3 s. D/ g$ |1 L  File "C:\Users\surface\AppData\Roaming\Anki2\addons21\1807206748\common.py", line 29, in <module>, e# W* S9 {6 M2 j
        from .gui import show_about_dialog, show_options  # , check_updates# ^9 Z( B  Z) p  G) N7 _
      File "C:\Users\surface\AppData\Roaming\Anki2\addons21\1807206748\gui\__init__.py", line 3, in <module>
    : y0 ^0 O& s+ i* R  b' @8 ^    from .common import *
    ' y" Q( R% R; }  File "C:\Users\surface\AppData\Roaming\Anki2\addons21\1807206748\gui\common.py", line 28, in <module>
    1 e, w: X3 `9 c3 P    from ..service import service_manager, service_pool% n7 \% v" D5 i' O" X
      File "C:\Users\surface\AppData\Roaming\Anki2\addons21\1807206748\service\__init__.py", line 24, in <module>6 x8 S+ X. V: a1 [8 }" e4 [; l
        service_manager = ServiceManager()                             # Service Manager
    ; Y0 q, D1 [" G  V; U3 ~4 H  File "C:\Users\surface\AppData\Roaming\Anki2\addons21\1807206748\service\manager.py", line 35, in __init__( U* f( K4 C' b5 Y
        self.update_services(). Z( W2 l% Y/ X* U: h4 p
      File "C:\Users\surface\AppData\Roaming\Anki2\addons21\1807206748\service\manager.py", line 43, in update_services/ u1 G5 G1 S! K. w0 ~* _
        self.web_services, self.local_custom_services = self._get_services_from_files(): f1 w8 ^8 ]4 P7 A
      File "C:\Users\surface\AppData\Roaming\Anki2\addons21\1807206748\service\manager.py", line 78, in _get_services_from_files
    ! ?! p: v5 R2 \2 p/ |" J    module = importlib.import_module(( o# i! M3 `$ t
      File "C:\Users\surface\AppData\Roaming\Anki2\addons21\1807206748\utils\importlib.py", line 43, in import_module
    1 @8 r% Z4 q: ?3 d" y4 h9 M    __import__(name)
    ; I2 A' d5 m) o( V; m7 h1 L; n  File "C:\Users\surface\AppData\Roaming\Anki2\addons21\1807206748\service\dict\LDOCE5.py", line 7
    6 A- U7 S2 F  B3 w, t0 w9 e    <!DOCTYPE html>7 k+ E( p1 {1 h4 g7 O
        ^
    1 H7 B! y- ?* |$ VSyntaxError: invalid syntax”4 d/ O1 J  q- l: f

    * B) s' N! f$ m, v4 Y& i7 ?我现在把LDOCE5.py和TLD.py文件删除,使用fastWQ依然报错用不了了。求大佬看看,小小报酬500米不成敬意
    3 F. q) b. j4 `" L5 v; B) l/ F# D  x3 w$ y7 b
    ----------------------------; @+ a4 j: d& C6 |# ^3 ?( E& Y$ V

    7 K4 g) @  z3 l) V$ A8.19更新 其实一开始的问题是用fast WQ查询了TLD但是卡片里总是不显示,应该是config.ini造成的,我也不知道怎么改。而且我不想要TLD最下面的释义部分。目前的解决方式是下载了the little dict的前身早期版本没有释义和音频,wordfrequency词频词典,直接用fast WQ查询。
  • TA的每日心情
    慵懒
    2023-5-22 13:56
  • 签到天数: 542 天

    [LV.9]以坛为家II

    发表于 2023-8-16 14:54:59 | 显示全部楼层
    我也碰到过类似的问题,苦于自己不懂编程,只能用最笨的办法8 }8 H! E! C- q3 c
    我的经验是插件里面的哪些.py文件都保持原样不做任何改动,然后重新复制一份进行修改,再放到这个文件夹里面就可以识别,不会报错
    $ c+ h* l! B* o) H另外,我觉得你用的这个插件都是四年前了,有点久,我用的是论坛修改过的版本,放.py文件的位置都不一样

    评分

    1

    查看全部评分

  • TA的每日心情
    慵懒
    2023-12-11 22:15
  • 签到天数: 53 天

    [LV.5]常住居民I

     楼主| 发表于 2023-8-19 21:17:25 | 显示全部楼层
    zgzzx10 发表于 2023-8-16 14:548 @6 J" o7 W* R
    我也碰到过类似的问题,苦于自己不懂编程,只能用最笨的办法
    6 M" {9 D. T8 t1 [) j) b' O4 C我的经验是插件里面的哪些.py文件都保持原样不 ...
    3 S) y+ \+ H7 L8 g0 k1 ~
    感谢回复,我去下了论坛里的这个修改版fastWQ,最后还是放弃改py文件了,直接用the little dict前身早期版本了

    该用户从未签到

    发表于 2023-8-20 14:18:17 | 显示全部楼层
    这种问题可能比较复杂,看最下面是:, Q6 ]$ w1 n0 L' N7 R
    File "C:\Users\surface\AppData\Roaming\Anki2\addons21\1807206748\service\dict\LDOCE5.py", line 7* Z2 A6 W2 i7 p1 r1 s+ o
    * J: r  V5 G* a, e7 C  n    <!DOCTYPE html>
    7 G6 K4 [/ G5 `9 U% m$ M: Z    ^4 y3 c+ {+ g% z7 r4 F6 i
    9 J* _, p6 g: U2 ^* b" LSyntaxError: invalid syntax
    " g( o( v) w, ^' Q( S, t$ G9 F' m, K' ]
    所以是 LDOCE5.py", line 7,这个文件有问题,应该是你下载的不对。" F0 @$ i6 g" H5 v6 z2 b4 i

    ' m' Q6 N. n" b; r. R7 V3 b“而且我不想要TLD最下面的释义部分”,
    / C) e0 K$ J5 e+ F4 ^7 C0 X修改TLD.py的 代码:) V3 S- B$ N  @) Y1 j! b
        @export('Chinese_def'), V* ?# a" O' ]# }" b3 p6 }9 e
        def chinese_def(self):" O1 b4 Y* a4 S# N4 c
            m = re.findall(r'<div class="\s*.*<\/div>', self.get_html_all())( `* K! V" p7 y% Y3 a# y7 A7 C
            if m:6 s* X" r- D0 x& h8 v+ `
                soup = parse_html(m[0])
    0 ]$ C7 w6 Y7 v* x+ m  w# F1 X* r+ v
                el_list = soup.findAll('div', {'class':'coca2'})
    ' h! E- i) b! F4 C# m            def_distribution = ''
    0 U; ^- i0 [/ U6 [7 ?            if el_list:
    ( o. u& k' V% m) h7 R+ X                def_distribution = str(el_list[0])- [; _* M7 p! Y( ^
                el_list = soup.findAll('div', {'class':'gdc'}) 这里就是释义  Y% W  P6 g$ |0 k
                cn_def = ''
    - n5 |7 A0 f3 P' ~            if el_list:
    3 C7 Y0 R# L$ @4 S                #cn_def = str(el_list[0]) 所以就删掉这一行,应该就可以了;或者在前面加 #,表示注释掉  这一行
    1 j/ l( F4 P; P                return def_distribution + cn_def# Y7 @8 _/ F) [  V; V
            return ''
    ) f8 u' n6 e: j' \

    该用户从未签到

    发表于 2023-8-20 14:43:44 | 显示全部楼层
    “而且我不想要TLD最下面的释义部分”,) a5 t- m/ a2 k. K! J; s3 a/ t
    或者另一个思路吧,在anki中改 css,让释义的部分不显示,就是在 anki 模板 styling 中,找到 类似:
    , u1 R7 ^- h3 E.gdc {) y/ G3 ?; Z- I9 t) _! N( M! a
    display: none;   /* 加上这行即可  */+ u4 V7 D2 s4 H: `( x
    }

    评分

    1

    查看全部评分

  • TA的每日心情
    开心
    2020-10-31 07:41
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2023-8-20 18:42:24 | 显示全部楼层
    已经有新版FastQuery了
    0 i' i8 ]9 j$ v/ {7 L3 i- J6 p$ K9 C. X. w. Y5 x5 L
    https://ankiweb.net/shared/info/1036362579 _7 O3 }9 y! {; V" ~
    https://github.com/sirius-fan/FastWordQuery8 v4 Q' b7 K5 L' z( G) d
    3 Z$ A( [- Q1 U  a$ V. z9 x, Z
    目前使用正常,就是有些辞典还不能正常使用。
    您需要登录后才可以回帖 登录 | 免费注册

    本版积分规则

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

    GMT+8, 2025-5-15 09:03 , Processed in 0.026984 second(s), 26 queries .

    Powered by Discuz! X3.4

    © 2001-2023 Discuz! Team.

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