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:
Go to main screen
Click on "Analyze"
Click on "Analyze book"
Choose an e-book
See error
Expected behavior
The app analyzes the book and I profit?
Logs
```
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 -
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//.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...
| | | | | | | ->
| | | | | | ->
| | | | | -> ''
| | | | ->
| | | ->
| | ->
| ->
->
File "/home//.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'
| ->
->
File "/home//.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}'
| ->
->
File "/home//.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}'
| ->
->
File "/home//.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...
| ->
->
File "/home//.local/pipx/py/3.11/lib/python3.11/http/client.py", line 996, in send
self.connect()
| ->
->
File "/home//.local/pipx/py/3.11/lib/python3.11/http/client.py", line 962, in connect
self.sock = self._create_connection(
| | | ->
| | ->
| -> None
->
File "/home//.local/pipx/py/3.11/lib/python3.11/socket.py", line 851, in create_connection
raise exceptions[0]
-> []
File "/home//.local/pipx/py/3.11/lib/python3.11/socket.py", line 836, in create_connection
sock.connect(sa)
| | -> ('127.0.0.1', 8765)
| ->
->
ConnectionRefusedError: [Errno 111] Connection refused
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home//.local/bin/vocabsieve", line 8, in
sys.exit(main())
| | ->
| ->
->
File "/home//.local/pipx/venvs/vocabsieve/lib/python3.11/site-packages/vocabsieve/main.py", line 1104, in main
w = MainWindow()
->
File "/home//.local/pipx/venvs/vocabsieve/lib/python3.11/site-packages/vocabsieve/main.py", line 90, in __init__
self.configure()
| ->
->
File "/home//.local/pipx/venvs/vocabsieve/lib/python3.11/site-packages/vocabsieve/main.py", line 559, in configure
settings_dialog = ConfigDialog(self)
| ->
->
File "/home//.local/pipx/venvs/vocabsieve/lib/python3.11/site-packages/vocabsieve/config/config_dialog.py", line 29, in __init__
self.initTabs()
| ->
->
File "/home//.local/pipx/venvs/vocabsieve/lib/python3.11/site-packages/vocabsieve/config/config_dialog.py", line 39, in initTabs
self.tab_t = TrackingTab()
| ->
->
File "/home//.local/pipx/venvs/vocabsieve/lib/python3.11/site-packages/vocabsieve/config/tracking_tab.py", line 12, in __init__
self.getMatchedCards()
| ->
->
> File "/home//.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'
->
File "/home//.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'
->
File "/home//.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'
| | | | | ->
| | | | -> /.local/pipx/py/3.11/lib/python3.11/urllib/request.py'>
| | | -> /.local/pipx/py/3.11/lib/python3.11/urllib/__init__.py'>
| | ->
| -> /.local/pipx/py/3.11/lib/python3.11/urllib/request.py'>
-> /.local/pipx/py/3.11/lib/python3.11/urllib/__init__.py'>
File "/home//.local/pipx/py/3.11/lib/python3.11/urllib/request.py", line 216, in urlopen
return opener.open(url, data, timeout)
| | | | ->
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
``` 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 -