We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Describe the bug Whenever I try to import a book, I get a popup with the following error:
Traceback (most recent call last): File "/home/[user]/.local/pipx/venvs/vocabsieve/lib/python3.11/site-packages/vocabsieve/main.py", line 360, in onAnalyzeBook BookAnalyzer(self, path).open() ^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/[user]/.local/pipx/venvs/vocabsieve/lib/python3.11/site-packages/vocabsieve/analyzer/BookAnalyzer.py", line 38, in __init__ self.initWidgets() File "/home/[user]/.local/pipx/venvs/vocabsieve/lib/python3.11/site-packages/vocabsieve/analyzer/BookAnalyzer.py", line 94, in initWidgets self.known_words.update(topN) ^^^^^^^^^^^^^^^^^^^^^^^ AttributeError: 'list' object has no attribute 'update'
To Reproduce Steps to reproduce the behavior:
Expected behavior The app analyzes the book and I profit?
VocabSieve version: 0.12.0 Python version: 3.11.9 (main, Apr 15 2024, 18:08:53) [Clang 17.0.6 ] on Linux 6.8.7-lqx2-1-lqx x86_64 PyQt5 (Qt bindings) version: 5.15.10, Qt 5.15.2 2024-04-29 20:17:53.651 | DEBUG | vocabsieve.main:initSources:148 - Initializing sources 2024-04-29 20:17:53.653 | DEBUG | vocabsieve.main:initSources:154 - Source Group 1: [] has been created. 2024-04-29 20:17:53.654 | DEBUG | vocabsieve.main:initSources:166 - Source Group 2 is disabled, emptying source widget. 2024-04-29 20:17:53.656 | DEBUG | vocabsieve.main:initSources:175 - Audio source group is empty, emptying audio source widget. 2024-04-29 20:17:53.657 | DEBUG | vocabsieve.main:initTimers:1049 - Initializing timers 2024-04-29 20:18:05.577 | DEBUG | vocabsieve.main:getKnownDataOnThread:426 - Some data sources aren't available, not getting known data now 2024-04-29 20:18:05.578 | INFO | vocabsieve.main:setupClipboardMonitor:110 - Clipboard monitoring is not supported on Wayland and MacOS, will poll instead 2024-04-29 20:18:05.578 | DEBUG | vocabsieve.main:configure:557 - Opening settings dialog 2024-04-29 20:18:09.290 | DEBUG | vocabsieve.config.config_dialog:__init__:21 - Initializing settings dialog 2024-04-29 20:18:09.329 | INFO | vocabsieve.config.general_tab:load_freq_sources:86 - Loading frequency sources for language English: [] 2024-04-29 20:18:09.378 | WARNING | vocabsieve.config.anki_tab:setupAutosave:222 - AnkiConnect API is not available, disabling Anki settings for now 2024-04-29 20:18:09.379 | ERROR | vocabsieve.config.anki_tab:onDefaultNoteType:147 - <urlopen error [Errno 111] Connection refused> 2024-04-29 20:18:09.379 | DEBUG | vocabsieve.config.anki_tab:loadDecks:42 - Loading decks 2024-04-29 20:18:09.393 | ERROR | vocabsieve.config.tracking_tab:getMatchedCards:79 - Error while trying to find notes in Anki: URLError(ConnectionRefusedError(111, 'Connection refused')) Traceback (most recent call last): File "/home/<username>/.local/pipx/py/3.11/lib/python3.11/urllib/request.py", line 1348, in do_open h.request(req.get_method(), req.selector, req.data, headers, | | | | | | | | -> {'Content-Type': 'application/x-www-form-urlencoded', 'Content-Length': '74', 'Host': '127.0.0.1:8765', 'User-Agent': 'Python... | | | | | | | -> <property object at 0x7d022ac566b0> | | | | | | -> <urllib.request.Request object at 0x7d021cd8e1d0> | | | | | -> '' | | | | -> <urllib.request.Request object at 0x7d021cd8e1d0> | | | -> <function Request.get_method at 0x7d022ab4b6a0> | | -> <urllib.request.Request object at 0x7d021cd8e1d0> | -> <function HTTPConnection.request at 0x7d022ade2ca0> -> <http.client.HTTPConnection object at 0x7d021cd8fd50> File "/home/<username>/.local/pipx/py/3.11/lib/python3.11/http/client.py", line 1303, in request self._send_request(method, url, body, headers, encode_chunked) | | | | | | -> False | | | | | -> {'Content-Type': 'application/x-www-form-urlencoded', 'Content-Length': '74', 'Host': '127.0.0.1:8765', 'User-Agent': 'Python... | | | | -> b'{"action": "findNotes", "params": {"query": "prop:ivl>=14"}, "version": 6}' | | | -> '' | | -> 'POST' | -> <function HTTPConnection._send_request at 0x7d022ade2d40> -> <http.client.HTTPConnection object at 0x7d021cd8fd50> File "/home/<username>/.local/pipx/py/3.11/lib/python3.11/http/client.py", line 1349, in _send_request self.endheaders(body, encode_chunked=encode_chunked) | | | -> False | | -> b'{"action": "findNotes", "params": {"query": "prop:ivl>=14"}, "version": 6}' | -> <function HTTPConnection.endheaders at 0x7d022ade2c00> -> <http.client.HTTPConnection object at 0x7d021cd8fd50> File "/home/<username>/.local/pipx/py/3.11/lib/python3.11/http/client.py", line 1298, in endheaders self._send_output(message_body, encode_chunked=encode_chunked) | | | -> False | | -> b'{"action": "findNotes", "params": {"query": "prop:ivl>=14"}, "version": 6}' | -> <function HTTPConnection._send_output at 0x7d022ade27a0> -> <http.client.HTTPConnection object at 0x7d021cd8fd50> File "/home/<username>/.local/pipx/py/3.11/lib/python3.11/http/client.py", line 1058, in _send_output self.send(msg) | | -> b'POST / HTTP/1.1\r\nAccept-Encoding: identity\r\nContent-Type: application/x-www-form-urlencoded\r\nContent-Length: 74\r\nHo... | -> <function HTTPConnection.send at 0x7d022ade25c0> -> <http.client.HTTPConnection object at 0x7d021cd8fd50> File "/home/<username>/.local/pipx/py/3.11/lib/python3.11/http/client.py", line 996, in send self.connect() | -> <function HTTPConnection.connect at 0x7d022ade2480> -> <http.client.HTTPConnection object at 0x7d021cd8fd50> File "/home/<username>/.local/pipx/py/3.11/lib/python3.11/http/client.py", line 962, in connect self.sock = self._create_connection( | | | -> <function create_connection at 0x7d022af6efc0> | | -> <http.client.HTTPConnection object at 0x7d021cd8fd50> | -> None -> <http.client.HTTPConnection object at 0x7d021cd8fd50> File "/home/<username>/.local/pipx/py/3.11/lib/python3.11/socket.py", line 851, in create_connection raise exceptions[0] -> [] File "/home/<username>/.local/pipx/py/3.11/lib/python3.11/socket.py", line 836, in create_connection sock.connect(sa) | | -> ('127.0.0.1', 8765) | -> <method 'connect' of '_socket.socket' objects> -> <socket.socket [closed] fd=-1, family=2, type=1, proto=6> ConnectionRefusedError: [Errno 111] Connection refused During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/<username>/.local/bin/vocabsieve", line 8, in <module> sys.exit(main()) | | -> <function main at 0x7d022aed1760> | -> <built-in function exit> -> <module 'sys' (built-in)> File "/home/<username>/.local/pipx/venvs/vocabsieve/lib/python3.11/site-packages/vocabsieve/main.py", line 1104, in main w = MainWindow() -> <class 'vocabsieve.main.MainWindow'> File "/home/<username>/.local/pipx/venvs/vocabsieve/lib/python3.11/site-packages/vocabsieve/main.py", line 90, in __init__ self.configure() | -> <function MainWindow.configure at 0x7d021cd149a0> -> <vocabsieve.main.MainWindow object at 0x7d021d393f40> File "/home/<username>/.local/pipx/venvs/vocabsieve/lib/python3.11/site-packages/vocabsieve/main.py", line 559, in configure settings_dialog = ConfigDialog(self) | -> <vocabsieve.main.MainWindow object at 0x7d021d393f40> -> <class 'vocabsieve.config.config_dialog.ConfigDialog'> File "/home/<username>/.local/pipx/venvs/vocabsieve/lib/python3.11/site-packages/vocabsieve/config/config_dialog.py", line 29, in __init__ self.initTabs() | -> <function ConfigDialog.initTabs at 0x7d0220a5f740> -> <vocabsieve.config.config_dialog.ConfigDialog object at 0x7d0214cf9630> File "/home/<username>/.local/pipx/venvs/vocabsieve/lib/python3.11/site-packages/vocabsieve/config/config_dialog.py", line 39, in initTabs self.tab_t = TrackingTab() | -> <class 'vocabsieve.config.tracking_tab.TrackingTab'> -> <vocabsieve.config.config_dialog.ConfigDialog object at 0x7d0214cf9630> File "/home/<username>/.local/pipx/venvs/vocabsieve/lib/python3.11/site-packages/vocabsieve/config/tracking_tab.py", line 12, in __init__ self.getMatchedCards() | -> <function TrackingTab.getMatchedCards at 0x7d0220a5ee80> -> <vocabsieve.config.tracking_tab.TrackingTab object at 0x7d0214d59000> > File "/home/<username>/.local/pipx/venvs/vocabsieve/lib/python3.11/site-packages/vocabsieve/config/tracking_tab.py", line 72, in getMatchedCards mature_notes = findNotes(api, query_mature) | | -> 'prop:ivl>=14' | -> 'http://127.0.0.1:8765' -> <function findNotes at 0x7d022355b1a0> File "/home/<username>/.local/pipx/venvs/vocabsieve/lib/python3.11/site-packages/vocabsieve/tools.py", line 190, in findNotes return invoke('findNotes', server, query=query) | | -> 'prop:ivl>=14' | -> 'http://127.0.0.1:8765' -> <function invoke at 0x7d022351f240> File "/home/<username>/.local/pipx/venvs/vocabsieve/lib/python3.11/site-packages/vocabsieve/tools.py", line 54, in invoke with urllib.request.urlopen(urllib.request.Request(server, requestJson)) as response: | | | | | | | -> b'{"action": "findNotes", "params": {"query": "prop:ivl>=14"}, "version": 6}' | | | | | | -> 'http://127.0.0.1:8765' | | | | | -> <class 'urllib.request.Request'> | | | | -> <module 'urllib.request' from '/home/<username>/.local/pipx/py/3.11/lib/python3.11/urllib/request.py'> | | | -> <module 'urllib' from '/home/<username>/.local/pipx/py/3.11/lib/python3.11/urllib/__init__.py'> | | -> <function urlopen at 0x7d022ab48fe0> | -> <module 'urllib.request' from '/home/<username>/.local/pipx/py/3.11/lib/python3.11/urllib/request.py'> -> <module 'urllib' from '/home/<username>/.local/pipx/py/3.11/lib/python3.11/urllib/__init__.py'> File "/home/<username>/.local/pipx/py/3.11/lib/python3.11/urllib/request.py", line 216, in urlopen return opener.open(url, data, timeout) | | | | -> <object object at 0x7d022b5a4540> | | | -> None | | -> <urllib.request.Request object at 0x7d021cd8e1d0> | -> <function OpenerDirector.open at 0x7d022ab4bf60> -> <urllib.request.OpenerDirector object at 0x7d021cd809d0> File "/home/<username>/.local/pipx/py/3.11/lib/python3.11/urllib/request.py", line 519, in open response = self._open(req, data) | | | -> None | | -> <urllib.request.Request object at 0x7d021cd8e1d0> | -> <function OpenerDirector._open at 0x7d022ab94040> -> <urllib.request.OpenerDirector object at 0x7d021cd809d0> File "/home/<username>/.local/pipx/py/3.11/lib/python3.11/urllib/request.py", line 536, in _open result = self._call_chain(self.handle_open, protocol, protocol + | | | | | -> 'http' | | | | -> 'http' | | | -> {'unknown': [<urllib.request.UnknownHandler object at 0x7d021d3338d0>], 'http': [<urllib.request.HTTPHandler object at 0x7d02... | | -> <urllib.request.OpenerDirector object at 0x7d021cd809d0> | -> <function OpenerDirector._call_chain at 0x7d022ab4bec0> -> <urllib.request.OpenerDirector object at 0x7d021cd809d0> File "/home/<username>/.local/pipx/py/3.11/lib/python3.11/urllib/request.py", line 496, in _call_chain result = func(*args) | -> (<urllib.request.Request object at 0x7d021cd8e1d0>,) -> <bound method HTTPHandler.http_open of <urllib.request.HTTPHandler object at 0x7d021cd80b10>> File "/home/<username>/.local/pipx/py/3.11/lib/python3.11/urllib/request.py", line 1377, in http_open return self.do_open(http.client.HTTPConnection, req) | | | | | -> <urllib.request.Request object at 0x7d021cd8e1d0> | | | | -> <class 'http.client.HTTPConnection'> | | | -> <module 'http.client' from '/home/<username>/.local/pipx/py/3.11/lib/python3.11/http/client.py'> | | -> <module 'http' from '/home/<username>/.local/pipx/py/3.11/lib/python3.11/http/__init__.py'> | -> <function AbstractHTTPHandler.do_open at 0x7d022ab95ee0> -> <urllib.request.HTTPHandler object at 0x7d021cd80b10> File "/home/<username>/.local/pipx/py/3.11/lib/python3.11/urllib/request.py", line 1351, in do_open raise URLError(err) -> <class 'urllib.error.URLError'> urllib.error.URLError: <urlopen error [Errno 111] Connection refused> 2024-04-29 20:18:56.559 | ERROR | vocabsieve.config.tracking_tab:getMatchedCards:79 - Error while trying to find notes in Anki: URLError(ConnectionRefusedError(111, 'Connection refused')) Traceback (most recent call last): File "/home/<username>/.local/pipx/py/3.11/lib/python3.11/urllib/request.py", line 1348, in do_open h.request(req.get_method(), req.selector, req.data, headers, | | | | | | | | -> {'Content-Type': 'application/x-www-form-urlencoded', 'Content-Length': '74', 'Host': '127.0.0.1:8765', 'User-Agent': 'Python... | | | | | | | -> <property object at 0x7d022ac566b0> | | | | | | -> <urllib.request.Request object at 0x7d021cd9ef90> | | | | | -> '' | | | | -> <urllib.request.Request object at 0x7d021cd9ef90> | | | -> <function Request.get_method at 0x7d022ab4b6a0> | | -> <urllib.request.Request object at 0x7d021cd9ef90> | -> <function HTTPConnection.request at 0x7d022ade2ca0> -> <http.client.HTTPConnection object at 0x7d021cd9cd10> File "/home/<username>/.local/pipx/py/3.11/lib/python3.11/http/client.py", line 1303, in request self._send_request(method, url, body, headers, encode_chunked) | | | | | | -> False | | | | | -> {'Content-Type': 'application/x-www-form-urlencoded', 'Content-Length': '74', 'Host': '127.0.0.1:8765', 'User-Agent': 'Python... | | | | -> b'{"action": "findNotes", "params": {"query": "prop:ivl>=14"}, "version": 6}' | | | -> '' | | -> 'POST' | -> <function HTTPConnection._send_request at 0x7d022ade2d40> -> <http.client.HTTPConnection object at 0x7d021cd9cd10> File "/home/<username>/.local/pipx/py/3.11/lib/python3.11/http/client.py", line 1349, in _send_request self.endheaders(body, encode_chunked=encode_chunked) | | | -> False | | -> b'{"action": "findNotes", "params": {"query": "prop:ivl>=14"}, "version": 6}' | -> <function HTTPConnection.endheaders at 0x7d022ade2c00> -> <http.client.HTTPConnection object at 0x7d021cd9cd10> File "/home/<username>/.local/pipx/py/3.11/lib/python3.11/http/client.py", line 1298, in endheaders self._send_output(message_body, encode_chunked=encode_chunked) | | | -> False | | -> b'{"action": "findNotes", "params": {"query": "prop:ivl>=14"}, "version": 6}' | -> <function HTTPConnection._send_output at 0x7d022ade27a0> -> <http.client.HTTPConnection object at 0x7d021cd9cd10> File "/home/<username>/.local/pipx/py/3.11/lib/python3.11/http/client.py", line 1058, in _send_output self.send(msg) | | -> b'POST / HTTP/1.1\r\nAccept-Encoding: identity\r\nContent-Type: application/x-www-form-urlencoded\r\nContent-Length: 74\r\nHo... | -> <function HTTPConnection.send at 0x7d022ade25c0> -> <http.client.HTTPConnection object at 0x7d021cd9cd10> File "/home/<username>/.local/pipx/py/3.11/lib/python3.11/http/client.py", line 996, in send self.connect() | -> <function HTTPConnection.connect at 0x7d022ade2480> -> <http.client.HTTPConnection object at 0x7d021cd9cd10> File "/home/<username>/.local/pipx/py/3.11/lib/python3.11/http/client.py", line 962, in connect self.sock = self._create_connection( | | | -> <function create_connection at 0x7d022af6efc0> | | -> <http.client.HTTPConnection object at 0x7d021cd9cd10> | -> None -> <http.client.HTTPConnection object at 0x7d021cd9cd10> File "/home/<username>/.local/pipx/py/3.11/lib/python3.11/socket.py", line 851, in create_connection raise exceptions[0] -> [] File "/home/<username>/.local/pipx/py/3.11/lib/python3.11/socket.py", line 836, in create_connection sock.connect(sa) | | -> ('127.0.0.1', 8765) | -> <method 'connect' of '_socket.socket' objects> -> <socket.socket [closed] fd=-1, family=2, type=1, proto=6> ConnectionRefusedError: [Errno 111] Connection refused During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/<username>/.local/bin/vocabsieve", line 8, in <module> sys.exit(main()) | | -> <function main at 0x7d022aed1760> | -> <built-in function exit> -> <module 'sys' (built-in)> File "/home/<username>/.local/pipx/venvs/vocabsieve/lib/python3.11/site-packages/vocabsieve/main.py", line 1104, in main w = MainWindow() -> <class 'vocabsieve.main.MainWindow'> File "/home/<username>/.local/pipx/venvs/vocabsieve/lib/python3.11/site-packages/vocabsieve/main.py", line 90, in __init__ self.configure() | -> <function MainWindow.configure at 0x7d021cd149a0> -> <vocabsieve.main.MainWindow object at 0x7d021d393f40> File "/home/<username>/.local/pipx/venvs/vocabsieve/lib/python3.11/site-packages/vocabsieve/main.py", line 560, in configure settings_dialog.exec() | -> <built-in method exec> -> <vocabsieve.config.config_dialog.ConfigDialog object at 0x7d0214cf9630> > File "/home/<username>/.local/pipx/venvs/vocabsieve/lib/python3.11/site-packages/vocabsieve/config/tracking_tab.py", line 72, in getMatchedCards mature_notes = findNotes(api, query_mature) | | -> 'prop:ivl>=14' | -> 'http://127.0.0.1:8765' -> <function findNotes at 0x7d022355b1a0> File "/home/<username>/.local/pipx/venvs/vocabsieve/lib/python3.11/site-packages/vocabsieve/tools.py", line 190, in findNotes return invoke('findNotes', server, query=query) | | -> 'prop:ivl>=14' | -> 'http://127.0.0.1:8765' -> <function invoke at 0x7d022351f240> File "/home/<username>/.local/pipx/venvs/vocabsieve/lib/python3.11/site-packages/vocabsieve/tools.py", line 54, in invoke with urllib.request.urlopen(urllib.request.Request(server, requestJson)) as response: | | | | | | | -> b'{"action": "findNotes", "params": {"query": "prop:ivl>=14"}, "version": 6}' | | | | | | -> 'http://127.0.0.1:8765' | | | | | -> <class 'urllib.request.Request'> | | | | -> <module 'urllib.request' from '/home/<username>/.local/pipx/py/3.11/lib/python3.11/urllib/request.py'> | | | -> <module 'urllib' from '/home/<username>/.local/pipx/py/3.11/lib/python3.11/urllib/__init__.py'> | | -> <function urlopen at 0x7d022ab48fe0> | -> <module 'urllib.request' from '/home/<username>/.local/pipx/py/3.11/lib/python3.11/urllib/request.py'> -> <module 'urllib' from '/home/<username>/.local/pipx/py/3.11/lib/python3.11/urllib/__init__.py'> File "/home/<username>/.local/pipx/py/3.11/lib/python3.11/urllib/request.py", line 216, in urlopen return opener.open(url, data, timeout) | | | | -> <object object at 0x7d022b5a4540> | | | -> None | | -> <urllib.request.Request object at 0x7d021cd9ef90> | -> <function OpenerDirector.open at 0x7d022ab4bf60> -> <urllib.request.OpenerDirector object at 0x7d021cd809d0> File "/home/<username>/.local/pipx/py/3.11/lib/python3.11/urllib/request.py", line 519, in open response = self._open(req, data) | | | -> None | | -> <urllib.request.Request object at 0x7d021cd9ef90> | -> <function OpenerDirector._open at 0x7d022ab94040> -> <urllib.request.OpenerDirector object at 0x7d021cd809d0> File "/home/<username>/.local/pipx/py/3.11/lib/python3.11/urllib/request.py", line 536, in _open result = self._call_chain(self.handle_open, protocol, protocol + | | | | | -> 'http' | | | | -> 'http' | | | -> {'unknown': [<urllib.request.UnknownHandler object at 0x7d021d3338d0>], 'http': [<urllib.request.HTTPHandler object at 0x7d02... | | -> <urllib.request.OpenerDirector object at 0x7d021cd809d0> | -> <function OpenerDirector._call_chain at 0x7d022ab4bec0> -> <urllib.request.OpenerDirector object at 0x7d021cd809d0> File "/home/<username>/.local/pipx/py/3.11/lib/python3.11/urllib/request.py", line 496, in _call_chain result = func(*args) | -> (<urllib.request.Request object at 0x7d021cd9ef90>,) -> <bound method HTTPHandler.http_open of <urllib.request.HTTPHandler object at 0x7d021cd80b10>> File "/home/<username>/.local/pipx/py/3.11/lib/python3.11/urllib/request.py", line 1377, in http_open return self.do_open(http.client.HTTPConnection, req) | | | | | -> <urllib.request.Request object at 0x7d021cd9ef90> | | | | -> <class 'http.client.HTTPConnection'> | | | -> <module 'http.client' from '/home/<username>/.local/pipx/py/3.11/lib/python3.11/http/client.py'> | | -> <module 'http' from '/home/<username>/.local/pipx/py/3.11/lib/python3.11/http/__init__.py'> | -> <function AbstractHTTPHandler.do_open at 0x7d022ab95ee0> -> <urllib.request.HTTPHandler object at 0x7d021cd80b10> File "/home/<username>/.local/pipx/py/3.11/lib/python3.11/urllib/request.py", line 1351, in do_open raise URLError(err) -> <class 'urllib.error.URLError'> urllib.error.URLError: <urlopen error [Errno 111] Connection refused> 2024-04-29 20:19:17.114 | DEBUG | vocabsieve.main:initSources:148 - Initializing sources 2024-04-29 20:19:17.115 | DEBUG | vocabsieve.main:initSources:154 - Source Group 1: [] has been created. 2024-04-29 20:19:17.116 | DEBUG | vocabsieve.main:initSources:166 - Source Group 2 is disabled, emptying source widget. 2024-04-29 20:19:17.117 | DEBUG | vocabsieve.main:initSources:175 - Audio source group is empty, emptying audio source widget. 2024-04-29 20:19:17.232 | DEBUG | vocabsieve.main:pollClipboard:137 - Polling: Clipboard text changed to '''AttributeError: module 'qdarktheme' has no attribute 'enable_hi_dpi'''' 2024-04-29 20:20:34.635 | DEBUG | vocabsieve.main:configure:557 - Opening settings dialog 2024-04-29 20:20:41.479 | DEBUG | vocabsieve.config.config_dialog:__init__:21 - Initializing settings dialog 2024-04-29 20:20:41.494 | INFO | vocabsieve.config.general_tab:load_freq_sources:86 - Loading frequency sources for language English: [] 2024-04-29 20:20:41.536 | WARNING | vocabsieve.config.anki_tab:setupAutosave:222 - AnkiConnect API is not available, disabling Anki settings for now 2024-04-29 20:20:41.537 | ERROR | vocabsieve.config.anki_tab:onDefaultNoteType:147 - <urlopen error [Errno 111] Connection refused> 2024-04-29 20:20:41.538 | DEBUG | vocabsieve.config.anki_tab:loadDecks:42 - Loading decks 2024-04-29 20:20:41.548 | ERROR | vocabsieve.config.tracking_tab:getMatchedCards:79 - Error while trying to find notes in Anki: URLError(ConnectionRefusedError(111, 'Connection refused')) Traceback (most recent call last): File "/home/<username>/.local/pipx/py/3.11/lib/python3.11/urllib/request.py", line 1348, in do_open h.request(req.get_method(), req.selector, req.data, headers, | | | | | | | | -> {'Content-Type': 'application/x-www-form-urlencoded', 'Content-Length': '74', 'Host': '127.0.0.1:8765', 'User-Agent': 'Python... | | | | | | | -> <property object at 0x7d022ac566b0> | | | | | | -> <urllib.request.Request object at 0x7d021cdeab50> | | | | | -> '' | | | | -> <urllib.request.Request object at 0x7d021cdeab50> | | | -> <function Request.get_method at 0x7d022ab4b6a0> | | -> <urllib.request.Request object at 0x7d021cdeab50> | -> <function HTTPConnection.request at 0x7d022ade2ca0> -> <http.client.HTTPConnection object at 0x7d021cdeb490> File "/home/<username>/.local/pipx/py/3.11/lib/python3.11/http/client.py", line 1303, in request self._send_request(method, url, body, headers, encode_chunked) | | | | | | -> False | | | | | -> {'Content-Type': 'application/x-www-form-urlencoded', 'Content-Length': '74', 'Host': '127.0.0.1:8765', 'User-Agent': 'Python... | | | | -> b'{"action": "findNotes", "params": {"query": "prop:ivl>=14"}, "version": 6}' | | | -> '' | | -> 'POST' | -> <function HTTPConnection._send_request at 0x7d022ade2d40> -> <http.client.HTTPConnection object at 0x7d021cdeb490> File "/home/<username>/.local/pipx/py/3.11/lib/python3.11/http/client.py", line 1349, in _send_request self.endheaders(body, encode_chunked=encode_chunked) | | | -> False | | -> b'{"action": "findNotes", "params": {"query": "prop:ivl>=14"}, "version": 6}' | -> <function HTTPConnection.endheaders at 0x7d022ade2c00> -> <http.client.HTTPConnection object at 0x7d021cdeb490> File "/home/<username>/.local/pipx/py/3.11/lib/python3.11/http/client.py", line 1298, in endheaders self._send_output(message_body, encode_chunked=encode_chunked) | | | -> False | | -> b'{"action": "findNotes", "params": {"query": "prop:ivl>=14"}, "version": 6}' | -> <function HTTPConnection._send_output at 0x7d022ade27a0> -> <http.client.HTTPConnection object at 0x7d021cdeb490> File "/home/<username>/.local/pipx/py/3.11/lib/python3.11/http/client.py", line 1058, in _send_output self.send(msg) | | -> b'POST / HTTP/1.1\r\nAccept-Encoding: identity\r\nContent-Type: application/x-www-form-urlencoded\r\nContent-Length: 74\r\nHo... | -> <function HTTPConnection.send at 0x7d022ade25c0> -> <http.client.HTTPConnection object at 0x7d021cdeb490> File "/home/<username>/.local/pipx/py/3.11/lib/python3.11/http/client.py", line 996, in send self.connect() | -> <function HTTPConnection.connect at 0x7d022ade2480> -> <http.client.HTTPConnection object at 0x7d021cdeb490> File "/home/<username>/.local/pipx/py/3.11/lib/python3.11/http/client.py", line 962, in connect self.sock = self._create_connection( | | | -> <function create_connection at 0x7d022af6efc0> | | -> <http.client.HTTPConnection object at 0x7d021cdeb490> | -> None -> <http.client.HTTPConnection object at 0x7d021cdeb490> File "/home/<username>/.local/pipx/py/3.11/lib/python3.11/socket.py", line 851, in create_connection raise exceptions[0] -> [] File "/home/<username>/.local/pipx/py/3.11/lib/python3.11/socket.py", line 836, in create_connection sock.connect(sa) | | -> ('127.0.0.1', 8765) | -> <method 'connect' of '_socket.socket' objects> -> <socket.socket [closed] fd=-1, family=2, type=1, proto=6> ConnectionRefusedError: [Errno 111] Connection refused During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/<username>/.local/bin/vocabsieve", line 8, in <module> sys.exit(main()) | | -> <function main at 0x7d022aed1760> | -> <built-in function exit> -> <module 'sys' (built-in)> File "/home/<username>/.local/pipx/venvs/vocabsieve/lib/python3.11/site-packages/vocabsieve/main.py", line 1108, in main app.exec() | -> <built-in method exec> -> <PyQt5.QtWidgets.QApplication object at 0x7d022a7469e0> File "/home/<username>/.local/pipx/venvs/vocabsieve/lib/python3.11/site-packages/vocabsieve/main.py", line 559, in configure settings_dialog = ConfigDialog(self) | -> <vocabsieve.main.MainWindow object at 0x7d021d393f40> -> <class 'vocabsieve.config.config_dialog.ConfigDialog'> File "/home/<username>/.local/pipx/venvs/vocabsieve/lib/python3.11/site-packages/vocabsieve/config/config_dialog.py", line 29, in __init__ self.initTabs() | -> <function ConfigDialog.initTabs at 0x7d0220a5f740> -> <vocabsieve.config.config_dialog.ConfigDialog object at 0x7d0212b4fd90> File "/home/<username>/.local/pipx/venvs/vocabsieve/lib/python3.11/site-packages/vocabsieve/config/config_dialog.py", line 39, in initTabs self.tab_t = TrackingTab() | -> <class 'vocabsieve.config.tracking_tab.TrackingTab'> -> <vocabsieve.config.config_dialog.ConfigDialog object at 0x7d0212b4fd90> File "/home/<username>/.local/pipx/venvs/vocabsieve/lib/python3.11/site-packages/vocabsieve/config/tracking_tab.py", line 12, in __init__ self.getMatchedCards() | -> <function TrackingTab.getMatchedCards at 0x7d0220a5ee80> -> <vocabsieve.config.tracking_tab.TrackingTab object at 0x7d02119241f0> > File "/home/<username>/.local/pipx/venvs/vocabsieve/lib/python3.11/site-packages/vocabsieve/config/tracking_tab.py", line 72, in getMatchedCards mature_notes = findNotes(api, query_mature) | | -> 'prop:ivl>=14' | -> 'http://127.0.0.1:8765' -> <function findNotes at 0x7d022355b1a0> File "/home/<username>/.local/pipx/venvs/vocabsieve/lib/python3.11/site-packages/vocabsieve/tools.py", line 190, in findNotes return invoke('findNotes', server, query=query) | | -> 'prop:ivl>=14' | -> 'http://127.0.0.1:8765' -> <function invoke at 0x7d022351f240> File "/home/<username>/.local/pipx/venvs/vocabsieve/lib/python3.11/site-packages/vocabsieve/tools.py", line 54, in invoke with urllib.request.urlopen(urllib.request.Request(server, requestJson)) as response: | | | | | | | -> b'{"action": "findNotes", "params": {"query": "prop:ivl>=14"}, "version": 6}' | | | | | | -> 'http://127.0.0.1:8765' | | | | | -> <class 'urllib.request.Request'> | | | | -> <module 'urllib.request' from '/home/<username>/.local/pipx/py/3.11/lib/python3.11/urllib/request.py'> | | | -> <module 'urllib' from '/home/<username>/.local/pipx/py/3.11/lib/python3.11/urllib/__init__.py'> | | -> <function urlopen at 0x7d022ab48fe0> | -> <module 'urllib.request' from '/home/<username>/.local/pipx/py/3.11/lib/python3.11/urllib/request.py'> -> <module 'urllib' from '/home/<username>/.local/pipx/py/3.11/lib/python3.11/urllib/__init__.py'> File "/home/<username>/.local/pipx/py/3.11/lib/python3.11/urllib/request.py", line 216, in urlopen return opener.open(url, data, timeout) | | | | -> <object object at 0x7d022b5a4540> | | | -> None | | -> <urllib.request.Request object at 0x7d021cdeab50> | -> <function OpenerDirector.open at 0x7d022ab4bf60> -> <urllib.request.OpenerDirector object at 0x7d021cd809d0> File "/home/<username>/.local/pipx/py/3.11/lib/python3.11/urllib/request.py", line 519, in open response = self._open(req, data) | | | -> None | | -> <urllib.request.Request object at 0x7d021cdeab50> | -> <function OpenerDirector._open at 0x7d022ab94040> -> <urllib.request.OpenerDirector object at 0x7d021cd809d0> File "/home/<username>/.local/pipx/py/3.11/lib/python3.11/urllib/request.py", line 536, in _open result = self._call_chain(self.handle_open, protocol, protocol + | | | | | -> 'http' | | | | -> 'http' | | | -> {'unknown': [<urllib.request.UnknownHandler object at 0x7d021d3338d0>], 'http': [<urllib.request.HTTPHandler object at 0x7d02... | | -> <urllib.request.OpenerDirector object at 0x7d021cd809d0> | -> <function OpenerDirector._call_chain at 0x7d022ab4bec0> -> <urllib.request.OpenerDirector object at 0x7d021cd809d0> File "/home/<username>/.local/pipx/py/3.11/lib/python3.11/urllib/request.py", line 496, in _call_chain result = func(*args) | -> (<urllib.request.Request object at 0x7d021cdeab50>,) -> <bound method HTTPHandler.http_open of <urllib.request.HTTPHandler object at 0x7d021cd80b10>> File "/home/<username>/.local/pipx/py/3.11/lib/python3.11/urllib/request.py", line 1377, in http_open return self.do_open(http.client.HTTPConnection, req) | | | | | -> <urllib.request.Request object at 0x7d021cdeab50> | | | | -> <class 'http.client.HTTPConnection'> | | | -> <module 'http.client' from '/home/<username>/.local/pipx/py/3.11/lib/python3.11/http/client.py'> | | -> <module 'http' from '/home/<username>/.local/pipx/py/3.11/lib/python3.11/http/__init__.py'> | -> <function AbstractHTTPHandler.do_open at 0x7d022ab95ee0> -> <urllib.request.HTTPHandler object at 0x7d021cd80b10> File "/home/<username>/.local/pipx/py/3.11/lib/python3.11/urllib/request.py", line 1351, in do_open raise URLError(err) -> <class 'urllib.error.URLError'> urllib.error.URLError: <urlopen error [Errno 111] Connection refused> 2024-04-29 20:21:24.902 | DEBUG | vocabsieve.main:getKnownDataOnThread:426 - Some data sources aren't available, not getting known data now 2024-04-29 20:21:50.752 | DEBUG | vocabsieve.main:initSources:148 - Initializing sources 2024-04-29 20:21:50.752 | DEBUG | vocabsieve.main:initSources:154 - Source Group 1: ['Wiktionary (English)'] has been created. 2024-04-29 20:21:50.754 | DEBUG | vocabsieve.main:initSources:161 - Source Group 2: ['Google Translate'] has been created. 2024-04-29 20:21:50.755 | DEBUG | vocabsieve.main:initSources:173 - Audio source group: ['Forvo'] has been created 2024-04-29 20:23:27.357 | DEBUG | vocabsieve.main:pollClipboard:137 - Polling: Clipboard text changed to '''changes''' 2024-04-29 20:23:27.688 | DEBUG | vocabsieve.ui.searchable_boldable_text_edit:bold:11 - bolding changes 2024-04-29 20:23:27.698 | DEBUG | vocabsieve.ui.multi_definition_widget:lookup:135 - Looking up changes in [<vocabsieve.sources.wiktionary_source.WiktionarySource object at 0x7d021d3449d0>] 2024-04-29 20:23:27.699 | DEBUG | vocabsieve.ui.multi_definition_widget:lookup:135 - Looking up changes in [<vocabsieve.sources.google_translate_source.GoogleTranslateSource object at 0x7d021cdbfc10>] 2024-04-29 20:23:27.699 | INFO | vocabsieve.sources.wiktionary_source:_lookup:20 - Looking up change in Wiktionary 2024-04-29 20:23:27.704 | INFO | vocabsieve.sources.forvo_audio_source:_lookup:173 - Forvo lookup change 2024-04-29 20:23:27.705 | ERROR | vocabsieve.sources.wiktionary_source:_lookup:26 - Failed to get data from Wiktionary: ConnectionError(MaxRetryError('HTTPSConnectionPool(host=\'kaikki.org\', port=443): Max retries exceeded with url: /dictionary/English/meaning/c/ch/change.json (Caused by NameResolutionError("<urllib3.connection.HTTPSConnection object at 0x7d01f5f87bd0>: Failed to resolve \'kaikki.org\' ([Errno -3] Temporary failure in name resolution)"))')) 2024-04-29 20:23:27.708 | INFO | vocabsieve.sources.wiktionary_source:_lookup:20 - Looking up changes in Wiktionary 2024-04-29 20:23:27.713 | INFO | vocabsieve.sources.forvo_audio_source:_lookup:173 - Forvo lookup changes 2024-04-29 20:23:27.713 | ERROR | vocabsieve.sources.wiktionary_source:_lookup:26 - Failed to get data from Wiktionary: ConnectionError(MaxRetryError('HTTPSConnectionPool(host=\'kaikki.org\', port=443): Max retries exceeded with url: /dictionary/English/meaning/c/ch/changes.json (Caused by NameResolutionError("<urllib3.connection.HTTPSConnection object at 0x7d01f5f86f90>: Failed to resolve \'kaikki.org\' ([Errno -3] Temporary failure in name resolution)"))')) 2024-04-29 20:23:27.714 | DEBUG | vocabsieve.ui.multi_definition_widget:run:70 - LookupWorker: looked up changes in Google Translate in 0.01 seconds 2024-04-29 20:23:27.716 | DEBUG | vocabsieve.ui.multi_definition_widget:run:70 - LookupWorker: looked up changes in Wiktionary (English) in 0.02 seconds 2024-04-29 20:23:27.717 | DEBUG | vocabsieve.ui.multi_definition_widget:appendDefinition:164 - All sources have been looked up 2024-04-29 20:23:27.719 | DEBUG | vocabsieve.ui.multi_definition_widget:appendDefinition:164 - All sources have been looked up 2024-04-29 20:23:27.726 | DEBUG | vocabsieve.main:lookup:780 - Same word and trigger as previous, skipping look up 2024-04-29 20:23:34.560 | DEBUG | vocabsieve.main:pollClipboard:137 - Polling: Clipboard text changed to '''direction''' 2024-04-29 20:23:34.563 | DEBUG | vocabsieve.ui.searchable_boldable_text_edit:bold:11 - bolding direction 2024-04-29 20:23:34.577 | DEBUG | vocabsieve.ui.multi_definition_widget:lookup:135 - Looking up direction in [<vocabsieve.sources.wiktionary_source.WiktionarySource object at 0x7d021d3449d0>] 2024-04-29 20:23:34.579 | DEBUG | vocabsieve.ui.multi_definition_widget:lookup:135 - Looking up direction in [<vocabsieve.sources.google_translate_source.GoogleTranslateSource object at 0x7d021cdbfc10>] 2024-04-29 20:23:34.581 | INFO | vocabsieve.sources.forvo_audio_source:_lookup:173 - Forvo lookup direction 2024-04-29 20:23:34.581 | INFO | vocabsieve.sources.wiktionary_source:_lookup:20 - Looking up direction in Wiktionary 2024-04-29 20:23:34.608 | DEBUG | vocabsieve.ui.multi_definition_widget:run:70 - LookupWorker: looked up direction in Google Translate in 0.03 seconds 2024-04-29 20:23:34.609 | ERROR | vocabsieve.sources.wiktionary_source:_lookup:26 - Failed to get data from Wiktionary: ConnectionError(MaxRetryError('HTTPSConnectionPool(host=\'kaikki.org\', port=443): Max retries exceeded with url: /dictionary/English/meaning/d/di/direction.json (Caused by NameResolutionError("<urllib3.connection.HTTPSConnection object at 0x7d01f5f8cb90>: Failed to resolve \'kaikki.org\' ([Errno -3] Temporary failure in name resolution)"))')) 2024-04-29 20:23:34.611 | DEBUG | vocabsieve.ui.multi_definition_widget:appendDefinition:164 - All sources have been looked up 2024-04-29 20:23:34.612 | INFO | vocabsieve.sources.wiktionary_source:_lookup:20 - Looking up direction in Wiktionary 2024-04-29 20:23:34.620 | ERROR | vocabsieve.sources.wiktionary_source:_lookup:26 - Failed to get data from Wiktionary: ConnectionError(MaxRetryError('HTTPSConnectionPool(host=\'kaikki.org\', port=443): Max retries exceeded with url: /dictionary/English/meaning/d/di/direction.json (Caused by NameResolutionError("<urllib3.connection.HTTPSConnection object at 0x7d01f5f8b190>: Failed to resolve \'kaikki.org\' ([Errno -3] Temporary failure in name resolution)"))')) 2024-04-29 20:23:34.622 | DEBUG | vocabsieve.ui.multi_definition_widget:run:70 - LookupWorker: looked up direction in Wiktionary (English) in 0.04 seconds 2024-04-29 20:23:34.630 | DEBUG | vocabsieve.ui.multi_definition_widget:appendDefinition:164 - All sources have been looked up 2024-04-29 20:23:34.647 | DEBUG | vocabsieve.main:lookup:780 - Same word and trigger as previous, skipping look up 2024-04-29 20:23:53.806 | DEBUG | vocabsieve.record:getKnownData:338 - No known data in this session. Creating known data from database.. 2024-04-29 20:23:53.807 | DEBUG | vocabsieve.record:_refreshKnownData:407 - Processed lookup data in 0.00 seconds 2024-04-29 20:23:53.807 | DEBUG | vocabsieve.record:_refreshKnownData:417 - Processed seen data in 0.00 seconds 2024-04-29 20:23:53.808 | DEBUG | vocabsieve.record:_refreshKnownData:422 - Anki disabled, skipping 2024-04-29 20:24:02.567 | DEBUG | vocabsieve.analyzer.BookAnalyzer:__init__:25 - Initializing BookAnalyzer 2024-04-29 20:24:04.314 | DEBUG | vocabsieve.analyzer.BookAnalyzer:initWidgets:49 - Known words: 0 2024-04-29 20:24:09.082 | DEBUG | vocabsieve.analyzer.BookAnalyzer:initWidgets:63 - Split book in 4.660861968994141 seconds. 2024-04-29 20:24:10.207 | DEBUG | vocabsieve.analyzer.BookAnalyzer:initWidgets:67 - Lemmatized book in 1.1234493255615234 seconds. 2024-04-29 20:24:10.994 | ERROR | vocabsieve.uncaught_hook:make_error_box:17 - Traceback (most recent call last): File "/home/<username>/.local/pipx/venvs/vocabsieve/lib/python3.11/site-packages/vocabsieve/main.py", line 360, in onAnalyzeBook BookAnalyzer(self, path).open() ^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/<username>/.local/pipx/venvs/vocabsieve/lib/python3.11/site-packages/vocabsieve/analyzer/BookAnalyzer.py", line 38, in __init__ self.initWidgets() File "/home/<username>/.local/pipx/venvs/vocabsieve/lib/python3.11/site-packages/vocabsieve/analyzer/BookAnalyzer.py", line 94, in initWidgets self.known_words.update(topN) ^^^^^^^^^^^^^^^^^^^^^^^ AttributeError: 'list' object has no attribute 'update' 2024-04-29 20:24:35.056 | DEBUG | vocabsieve.main:pollClipboard:137 - Polling: Clipboard text changed to '''Traceback (most recent call last): File "/home/<username>/.local/pipx/venvs/vocabsieve/lib/python3.11/site-packages/vocabsieve/main.py", line 360, in onAnalyzeBook BookAnalyzer(self, path).open() ^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/<username>/.local/pipx/venvs/vocabsieve/lib/python3.11/site-packages/vocabsieve/analyzer/BookAnalyzer.py", line 38, in __init__ self.initWidgets() File "/home/<username>/.local/pipx/venvs/vocabsieve/lib/python3.11/site-packages/vocabsieve/analyzer/BookAnalyzer.py", line 94, in initWidgets self.known_words.update(topN) ^^^^^^^^^^^^^^^^^^^^^^^ AttributeError: 'list' object has no attribute 'update'''' 2024-04-29 20:24:55.756 | DEBUG | vocabsieve.main:pollClipboard:137 - Polling: Clipboard text changed to '''/home/<username>/.local/pipx/venvs/vocabsieve/lib/python3.11/site-packages/vocabsieve/analyzer/BookAnalyzer.py''' 2024-04-29 20:24:55.759 | DEBUG | vocabsieve.ui.searchable_boldable_text_edit:bold:11 - bolding /home/<username>/local/pipx/venvs/vocabsieve/lib/python311/site-packages/vocabsieve/analyzer/BookAnalyzerpy 2024-04-29 20:24:55.769 | DEBUG | vocabsieve.ui.multi_definition_widget:lookup:135 - Looking up /home/<username>/local/pipx/venvs/vocabsieve/lib/python311/site-packages/vocabsieve/analyzer/BookAnalyzerpy in [<vocabsieve.sources.wiktionary_source.WiktionarySource object at 0x7d021d3449d0>] 2024-04-29 20:24:55.771 | DEBUG | vocabsieve.ui.multi_definition_widget:lookup:135 - Looking up /home/<username>/local/pipx/venvs/vocabsieve/lib/python311/site-packages/vocabsieve/analyzer/BookAnalyzerpy in [<vocabsieve.sources.google_translate_source.GoogleTranslateSource object at 0x7d021cdbfc10>] 2024-04-29 20:24:55.772 | INFO | vocabsieve.sources.wiktionary_source:_lookup:20 - Looking up /home/<username>/local/pipx/venvs/vocabsieve/lib/python311/site-packages/vocabsieve/analyzer/BookAnalyzerpy in Wiktionary 2024-04-29 20:24:55.778 | INFO | vocabsieve.sources.forvo_audio_source:_lookup:173 - Forvo lookup /home/<username>/local/pipx/venvs/vocabsieve/lib/python311/site-packages/vocabsieve/analyzer/BookAnalyzerpy 2024-04-29 20:24:56.327 | ERROR | vocabsieve.sources.wiktionary_source:_lookup:26 - Failed to get data from Wiktionary: HTTPError('404 Client Error: Not Found for url: https://kaikki.org/dictionary/English/meaning////h//home/<username>/local/pipx/venvs/vocabsieve/lib/python311/site-packages/vocabsieve/analyzer/BookAnalyzerpy.json') 2024-04-29 20:24:56.329 | INFO | vocabsieve.sources.wiktionary_source:_lookup:20 - Looking up /home/<username>/local/pipx/venvs/vocabsieve/lib/python311/site-packages/vocabsieve/analyzer/BookAnalyzerpy in Wiktionary 2024-04-29 20:24:56.577 | ERROR | vocabsieve.sources.wiktionary_source:_lookup:26 - Failed to get data from Wiktionary: HTTPError('404 Client Error: Not Found for url: https://kaikki.org/dictionary/English/meaning////h//home/<username>/local/pipx/venvs/vocabsieve/lib/python311/site-packages/vocabsieve/analyzer/BookAnalyzerpy.json') 2024-04-29 20:24:56.579 | DEBUG | vocabsieve.ui.multi_definition_widget:run:70 - LookupWorker: looked up /home/<username>/local/pipx/venvs/vocabsieve/lib/python311/site-packages/vocabsieve/analyzer/BookAnalyzerpy in Wiktionary (English) in 0.81 seconds 2024-04-29 20:24:56.582 | DEBUG | vocabsieve.ui.multi_definition_widget:appendDefinition:164 - All sources have been looked up 2024-04-29 20:24:56.753 | DEBUG | vocabsieve.ui.multi_definition_widget:run:70 - LookupWorker: looked up /home/<username>/local/pipx/venvs/vocabsieve/lib/python311/site-packages/vocabsieve/analyzer/BookAnalyzerpy in Google Translate in 0.97 seconds 2024-04-29 20:24:56.754 | DEBUG | vocabsieve.ui.multi_definition_widget:appendDefinition:164 - All sources have been looked up 2024-04-29 20:26:53.806 | DEBUG | vocabsieve.record:getKnownData:351 - Known data is 180.00 s old, which is newer than the specified lifetime of 1800 s. Not refreshing now. 2024-04-29 20:28:13.306 | DEBUG | vocabsieve.main:pollClipboard:137 - Polling: Clipboard text changed to '''AttributeError: 'list' object has no attribute 'update'''' 2024-04-29 20:29:16.556 | DEBUG | vocabsieve.main:pollClipboard:137 - Polling: Clipboard text changed to '''self.known_words.update''' 2024-04-29 20:29:16.557 | DEBUG | vocabsieve.ui.searchable_boldable_text_edit:bold:11 - bolding selfknown_wordsupdate 2024-04-29 20:29:16.566 | DEBUG | vocabsieve.ui.multi_definition_widget:lookup:135 - Looking up selfknown_wordsupdate in [<vocabsieve.sources.wiktionary_source.WiktionarySource object at 0x7d021d3449d0>] 2024-04-29 20:29:16.567 | DEBUG | vocabsieve.ui.multi_definition_widget:lookup:135 - Looking up selfknown_wordsupdate in [<vocabsieve.sources.google_translate_source.GoogleTranslateSource object at 0x7d021cdbfc10>] 2024-04-29 20:29:16.568 | INFO | vocabsieve.sources.wiktionary_source:_lookup:20 - Looking up selfknown_wordsupdate in Wiktionary 2024-04-29 20:29:16.570 | INFO | vocabsieve.sources.forvo_audio_source:_lookup:173 - Forvo lookup selfknown_wordsupdate 2024-04-29 20:29:16.995 | ERROR | vocabsieve.sources.wiktionary_source:_lookup:26 - Failed to get data from Wiktionary: HTTPError('404 Client Error: Not Found for url: https://kaikki.org/dictionary/English/meaning/s/se/selfknown_wordsupdate.json') 2024-04-29 20:29:16.998 | INFO | vocabsieve.sources.wiktionary_source:_lookup:20 - Looking up selfknown_wordsupdate in Wiktionary 2024-04-29 20:29:17.338 | ERROR | vocabsieve.sources.wiktionary_source:_lookup:26 - Failed to get data from Wiktionary: HTTPError('404 Client Error: Not Found for url: https://kaikki.org/dictionary/English/meaning/s/se/selfknown_wordsupdate.json') 2024-04-29 20:29:17.341 | DEBUG | vocabsieve.ui.multi_definition_widget:run:70 - LookupWorker: looked up selfknown_wordsupdate in Wiktionary (English) in 0.77 seconds 2024-04-29 20:29:17.345 | DEBUG | vocabsieve.ui.multi_definition_widget:appendDefinition:164 - All sources have been looked up 2024-04-29 20:29:19.058 | DEBUG | vocabsieve.ui.multi_definition_widget:run:70 - LookupWorker: looked up selfknown_wordsupdate in Google Translate in 2.49 seconds 2024-04-29 20:29:19.060 | DEBUG | vocabsieve.ui.multi_definition_widget:appendDefinition:164 - All sources have been looked up 2024-04-29 20:29:53.806 | DEBUG | vocabsieve.record:getKnownData:351 - Known data is 360.00 s old, which is newer than the specified lifetime of 1800 s. Not refreshing now. 2024-04-29 20:31:56.665 | DEBUG | vocabsieve.main:pollClipboard:137 - Polling: Clipboard text changed to '''getKnownWords''' 2024-04-29 20:32:53.805 | DEBUG | vocabsieve.record:getKnownData:351 - Known data is 540.00 s old, which is newer than the specified lifetime of 1800 s. Not refreshing now. 2024-04-29 20:33:52.459 | DEBUG | vocabsieve.ui.searchable_boldable_text_edit:bold:11 - bolding getKnownWords 2024-04-29 20:33:52.492 | DEBUG | vocabsieve.ui.multi_definition_widget:lookup:135 - Looking up getKnownWords in [<vocabsieve.sources.wiktionary_source.WiktionarySource object at 0x7d021d3449d0>] 2024-04-29 20:33:52.493 | DEBUG | vocabsieve.ui.multi_definition_widget:lookup:135 - Looking up getKnownWords in [<vocabsieve.sources.google_translate_source.GoogleTranslateSource object at 0x7d021cdbfc10>] 2024-04-29 20:33:52.493 | INFO | vocabsieve.sources.wiktionary_source:_lookup:20 - Looking up getKnownWords in Wiktionary 2024-04-29 20:33:52.495 | INFO | vocabsieve.sources.forvo_audio_source:_lookup:173 - Forvo lookup getKnownWords 2024-04-29 20:33:52.936 | ERROR | vocabsieve.sources.wiktionary_source:_lookup:26 - Failed to get data from Wiktionary: HTTPError('404 Client Error: Not Found for url: https://kaikki.org/dictionary/English/meaning/g/ge/getKnownWords.json') 2024-04-29 20:33:52.937 | INFO | vocabsieve.sources.wiktionary_source:_lookup:20 - Looking up getKnownWords in Wiktionary 2024-04-29 20:33:53.186 | ERROR | vocabsieve.sources.wiktionary_source:_lookup:26 - Failed to get data from Wiktionary: HTTPError('404 Client Error: Not Found for url: https://kaikki.org/dictionary/English/meaning/g/ge/getKnownWords.json') 2024-04-29 20:33:53.187 | DEBUG | vocabsieve.ui.multi_definition_widget:run:70 - LookupWorker: looked up getKnownWords in Wiktionary (English) in 0.69 seconds 2024-04-29 20:33:53.188 | DEBUG | vocabsieve.ui.multi_definition_widget:appendDefinition:164 - All sources have been looked up 2024-04-29 20:33:56.559 | DEBUG | vocabsieve.ui.multi_definition_widget:run:70 - LookupWorker: looked up getKnownWords in Google Translate in 4.06 seconds 2024-04-29 20:33:56.559 | DEBUG | vocabsieve.ui.multi_definition_widget:appendDefinition:164 - All sources have been looked up 2024-04-29 20:34:13.089 | DEBUG | vocabsieve.analyzer.BookAnalyzer:__init__:25 - Initializing BookAnalyzer 2024-04-29 20:34:14.224 | DEBUG | vocabsieve.analyzer.BookAnalyzer:initWidgets:49 - Known words: 0 2024-04-29 20:34:17.751 | DEBUG | vocabsieve.analyzer.BookAnalyzer:initWidgets:63 - Split book in 3.4568443298339844 seconds. 2024-04-29 20:34:18.636 | DEBUG | vocabsieve.analyzer.BookAnalyzer:initWidgets:67 - Lemmatized book in 0.8844552040100098 seconds. 2024-04-29 20:34:18.974 | ERROR | vocabsieve.uncaught_hook:make_error_box:17 - Traceback (most recent call last): File "/home/<username>/.local/pipx/venvs/vocabsieve/lib/python3.11/site-packages/vocabsieve/main.py", line 360, in onAnalyzeBook BookAnalyzer(self, path).open() ^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/<username>/.local/pipx/venvs/vocabsieve/lib/python3.11/site-packages/vocabsieve/analyzer/BookAnalyzer.py", line 38, in __init__ self.initWidgets() File "/home/<username>/.local/pipx/venvs/vocabsieve/lib/python3.11/site-packages/vocabsieve/analyzer/BookAnalyzer.py", line 94, in initWidgets self.known_words.update(topN) ^^^^^^^^^^^^^^^^^^^^^^^ AttributeError: 'list' object has no attribute 'update' 2024-04-29 20:35:35.306 | DEBUG | vocabsieve.main:pollClipboard:137 - Polling: Clipboard text changed to '''AttributeError: 'list' object has no attribute 'update'''' 2024-04-29 20:35:53.806 | DEBUG | vocabsieve.record:getKnownData:351 - Known data is 720.00 s old, which is newer than the specified lifetime of 1800 s. Not refreshing now. 2024-04-29 20:35:55.363 | DEBUG | vocabsieve.analyzer.BookAnalyzer:__init__:25 - Initializing BookAnalyzer 2024-04-29 20:35:56.432 | DEBUG | vocabsieve.analyzer.BookAnalyzer:initWidgets:49 - Known words: 0 2024-04-29 20:35:58.208 | DEBUG | vocabsieve.analyzer.BookAnalyzer:initWidgets:63 - Split book in 1.7199058532714844 seconds. 2024-04-29 20:35:58.575 | DEBUG | vocabsieve.analyzer.BookAnalyzer:initWidgets:67 - Lemmatized book in 0.36592793464660645 seconds. 2024-04-29 20:35:58.764 | ERROR | vocabsieve.uncaught_hook:make_error_box:17 - Traceback (most recent call last): File "/home/<username>/.local/pipx/venvs/vocabsieve/lib/python3.11/site-packages/vocabsieve/main.py", line 360, in onAnalyzeBook BookAnalyzer(self, path).open() ^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/<username>/.local/pipx/venvs/vocabsieve/lib/python3.11/site-packages/vocabsieve/analyzer/BookAnalyzer.py", line 38, in __init__ self.initWidgets() File "/home/<username>/.local/pipx/venvs/vocabsieve/lib/python3.11/site-packages/vocabsieve/analyzer/BookAnalyzer.py", line 94, in initWidgets self.known_words.update(topN) ^^^^^^^^^^^^^^^^^^^^^^^ AttributeError: 'list' object has no attribute 'update' 2024-04-29 20:36:36.131 | DEBUG | vocabsieve.analyzer.BookAnalyzer:__init__:25 - Initializing BookAnalyzer 2024-04-29 20:36:37.996 | DEBUG | vocabsieve.analyzer.BookAnalyzer:initWidgets:49 - Known words: 0 2024-04-29 20:36:53.974 | DEBUG | vocabsieve.analyzer.BookAnalyzer:initWidgets:63 - Split book in 15.861778736114502 seconds. 2024-04-29 20:36:54.950 | DEBUG | vocabsieve.analyzer.BookAnalyzer:initWidgets:67 - Lemmatized book in 0.9748063087463379 seconds. 2024-04-29 20:36:55.368 | ERROR | vocabsieve.uncaught_hook:make_error_box:17 - Traceback (most recent call last): File "/home/<username>/.local/pipx/venvs/vocabsieve/lib/python3.11/site-packages/vocabsieve/main.py", line 360, in onAnalyzeBook BookAnalyzer(self, path).open() ^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/<username>/.local/pipx/venvs/vocabsieve/lib/python3.11/site-packages/vocabsieve/analyzer/BookAnalyzer.py", line 38, in __init__ self.initWidgets() File "/home/<username>/.local/pipx/venvs/vocabsieve/lib/python3.11/site-packages/vocabsieve/analyzer/BookAnalyzer.py", line 94, in initWidgets self.known_words.update(topN) ^^^^^^^^^^^^^^^^^^^^^^^ AttributeError: 'list' object has no attribute 'update' 2024-04-29 20:37:00.006 | DEBUG | vocabsieve.main:pollClipboard:137 - Polling: Clipboard text changed to '''Traceback (most recent call last): File "/home/<username>/.local/pipx/venvs/vocabsieve/lib/python3.11/site-packages/vocabsieve/main.py", line 360, in onAnalyzeBook BookAnalyzer(self, path).open() ^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/<username>/.local/pipx/venvs/vocabsieve/lib/python3.11/site-packages/vocabsieve/analyzer/BookAnalyzer.py", line 38, in __init__ self.initWidgets() File "/home/<username>/.local/pipx/venvs/vocabsieve/lib/python3.11/site-packages/vocabsieve/analyzer/BookAnalyzer.py", line 94, in initWidgets self.known_words.update(topN) ^^^^^^^^^^^^^^^^^^^^^^^ AttributeError: 'list' object has no attribute 'update'''' 2024-04-29 20:38:31.093 | DEBUG | vocabsieve.analyzer.BookAnalyzer:__init__:25 - Initializing BookAnalyzer 2024-04-29 20:38:31.745 | DEBUG | vocabsieve.analyzer.BookAnalyzer:initWidgets:49 - Known words: 0 2024-04-29 20:38:33.512 | DEBUG | vocabsieve.analyzer.BookAnalyzer:initWidgets:63 - Split book in 1.704442024230957 seconds. 2024-04-29 20:38:33.884 | DEBUG | vocabsieve.analyzer.BookAnalyzer:initWidgets:67 - Lemmatized book in 0.37126922607421875 seconds. 2024-04-29 20:38:34.088 | ERROR | vocabsieve.uncaught_hook:make_error_box:17 - Traceback (most recent call last): File "/home/<username>/.local/pipx/venvs/vocabsieve/lib/python3.11/site-packages/vocabsieve/main.py", line 360, in onAnalyzeBook BookAnalyzer(self, path).open() ^^^^^^^^^^^^^^^^^^^^^^^^ File "/home/<username>/.local/pipx/venvs/vocabsieve/lib/python3.11/site-packages/vocabsieve/analyzer/BookAnalyzer.py", line 38, in __init__ self.initWidgets() File "/home/<username>/.local/pipx/venvs/vocabsieve/lib/python3.11/site-packages/vocabsieve/analyzer/BookAnalyzer.py", line 94, in initWidgets self.known_words.update(topN) ^^^^^^^^^^^^^^^^^^^^^^^ AttributeError: 'list' object has no attribute 'update' 2024-04-29 20:38:41.614 | DEBUG | vocabsieve.main:pollClipboard:132 - Polling: Clipboard image changed 2024-04-29 20:38:41.684 | DEBUG | vocabsieve.main:setImage:832 - Received image, saving to disk as 1714412321684.png 2024-04-29 20:38:53.806 | DEBUG | vocabsieve.record:getKnownData:351 - Known data is 900.00 s old, which is newer than the specified lifetime of 1800 s. Not refreshing now.
Desktop
Additional context:
The books I tried are all English-language direct-to-digital EPUBs from Springer, either about science or programming, if that matters.
The text was updated successfully, but these errors were encountered:
No branches or pull requests
Describe the bug
Whenever I try to import a book, I get a popup with the following error:
To Reproduce
Steps to reproduce the behavior:
Expected behavior
The app analyzes the book and I profit?
Logs
Desktop
Additional context:
The books I tried are all English-language direct-to-digital EPUBs from Springer, either about science or programming, if that matters.
The text was updated successfully, but these errors were encountered: