FreeLanguageTools / vocabsieve

Simple sentence mining tool for language learning
GNU General Public License v3.0
344 stars 25 forks source link

Analyzing a book fails with AttributeError: 'list' object has no attribute 'update' #152

Open JinEnMok opened 2 months ago

JinEnMok commented 2 months ago

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:

  1. Go to main screen
  2. Click on "Analyze"
  3. Click on "Analyze book"
  4. Choose an e-book
  5. 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) | | | | -> | | | -> None | | -> | -> -> File "/home//.local/pipx/py/3.11/lib/python3.11/urllib/request.py", line 519, in open response = self._open(req, data) | | | -> None | | -> | -> -> File "/home//.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': [], 'http': [ | -> -> File "/home//.local/pipx/py/3.11/lib/python3.11/urllib/request.py", line 496, in _call_chain result = func(*args) | -> (,) -> > File "/home//.local/pipx/py/3.11/lib/python3.11/urllib/request.py", line 1377, in http_open return self.do_open(http.client.HTTPConnection, req) | | | | | -> | | | | -> | | | -> /.local/pipx/py/3.11/lib/python3.11/http/client.py'> | | -> /.local/pipx/py/3.11/lib/python3.11/http/__init__.py'> | -> -> File "/home//.local/pipx/py/3.11/lib/python3.11/urllib/request.py", line 1351, in do_open raise URLError(err) -> urllib.error.URLError: 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//.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 560, in configure settings_dialog.exec() | -> -> > 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) | | | | -> | | | -> None | | -> | -> -> File "/home//.local/pipx/py/3.11/lib/python3.11/urllib/request.py", line 519, in open response = self._open(req, data) | | | -> None | | -> | -> -> File "/home//.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': [], 'http': [ | -> -> File "/home//.local/pipx/py/3.11/lib/python3.11/urllib/request.py", line 496, in _call_chain result = func(*args) | -> (,) -> > File "/home//.local/pipx/py/3.11/lib/python3.11/urllib/request.py", line 1377, in http_open return self.do_open(http.client.HTTPConnection, req) | | | | | -> | | | | -> | | | -> /.local/pipx/py/3.11/lib/python3.11/http/client.py'> | | -> /.local/pipx/py/3.11/lib/python3.11/http/__init__.py'> | -> -> File "/home//.local/pipx/py/3.11/lib/python3.11/urllib/request.py", line 1351, in do_open raise URLError(err) -> urllib.error.URLError: 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 - 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//.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 1108, in main app.exec() | -> -> 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) | | | | -> | | | -> None | | -> | -> -> File "/home//.local/pipx/py/3.11/lib/python3.11/urllib/request.py", line 519, in open response = self._open(req, data) | | | -> None | | -> | -> -> File "/home//.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': [], 'http': [ | -> -> File "/home//.local/pipx/py/3.11/lib/python3.11/urllib/request.py", line 496, in _call_chain result = func(*args) | -> (,) -> > File "/home//.local/pipx/py/3.11/lib/python3.11/urllib/request.py", line 1377, in http_open return self.do_open(http.client.HTTPConnection, req) | | | | | -> | | | | -> | | | -> /.local/pipx/py/3.11/lib/python3.11/http/client.py'> | | -> /.local/pipx/py/3.11/lib/python3.11/http/__init__.py'> | -> -> File "/home//.local/pipx/py/3.11/lib/python3.11/urllib/request.py", line 1351, in do_open raise URLError(err) -> urllib.error.URLError: 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 [] 2024-04-29 20:23:27.699 | DEBUG | vocabsieve.ui.multi_definition_widget:lookup:135 - Looking up changes in [] 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(": 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(": 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 [] 2024-04-29 20:23:34.579 | DEBUG | vocabsieve.ui.multi_definition_widget:lookup:135 - Looking up direction in [] 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(": 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(": 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//.local/pipx/venvs/vocabsieve/lib/python3.11/site-packages/vocabsieve/main.py", line 360, in onAnalyzeBook BookAnalyzer(self, path).open() ^^^^^^^^^^^^^^^^^^^^^^^^ File "/home//.local/pipx/venvs/vocabsieve/lib/python3.11/site-packages/vocabsieve/analyzer/BookAnalyzer.py", line 38, in __init__ self.initWidgets() File "/home//.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//.local/pipx/venvs/vocabsieve/lib/python3.11/site-packages/vocabsieve/main.py", line 360, in onAnalyzeBook BookAnalyzer(self, path).open() ^^^^^^^^^^^^^^^^^^^^^^^^ File "/home//.local/pipx/venvs/vocabsieve/lib/python3.11/site-packages/vocabsieve/analyzer/BookAnalyzer.py", line 38, in __init__ self.initWidgets() File "/home//.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//.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//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//local/pipx/venvs/vocabsieve/lib/python311/site-packages/vocabsieve/analyzer/BookAnalyzerpy in [] 2024-04-29 20:24:55.771 | DEBUG | vocabsieve.ui.multi_definition_widget:lookup:135 - Looking up /home//local/pipx/venvs/vocabsieve/lib/python311/site-packages/vocabsieve/analyzer/BookAnalyzerpy in [] 2024-04-29 20:24:55.772 | INFO | vocabsieve.sources.wiktionary_source:_lookup:20 - Looking up /home//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//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//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//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//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//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//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 [] 2024-04-29 20:29:16.567 | DEBUG | vocabsieve.ui.multi_definition_widget:lookup:135 - Looking up selfknown_wordsupdate in [] 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 [] 2024-04-29 20:33:52.493 | DEBUG | vocabsieve.ui.multi_definition_widget:lookup:135 - Looking up getKnownWords in [] 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//.local/pipx/venvs/vocabsieve/lib/python3.11/site-packages/vocabsieve/main.py", line 360, in onAnalyzeBook BookAnalyzer(self, path).open() ^^^^^^^^^^^^^^^^^^^^^^^^ File "/home//.local/pipx/venvs/vocabsieve/lib/python3.11/site-packages/vocabsieve/analyzer/BookAnalyzer.py", line 38, in __init__ self.initWidgets() File "/home//.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//.local/pipx/venvs/vocabsieve/lib/python3.11/site-packages/vocabsieve/main.py", line 360, in onAnalyzeBook BookAnalyzer(self, path).open() ^^^^^^^^^^^^^^^^^^^^^^^^ File "/home//.local/pipx/venvs/vocabsieve/lib/python3.11/site-packages/vocabsieve/analyzer/BookAnalyzer.py", line 38, in __init__ self.initWidgets() File "/home//.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//.local/pipx/venvs/vocabsieve/lib/python3.11/site-packages/vocabsieve/main.py", line 360, in onAnalyzeBook BookAnalyzer(self, path).open() ^^^^^^^^^^^^^^^^^^^^^^^^ File "/home//.local/pipx/venvs/vocabsieve/lib/python3.11/site-packages/vocabsieve/analyzer/BookAnalyzer.py", line 38, in __init__ self.initWidgets() File "/home//.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//.local/pipx/venvs/vocabsieve/lib/python3.11/site-packages/vocabsieve/main.py", line 360, in onAnalyzeBook BookAnalyzer(self, path).open() ^^^^^^^^^^^^^^^^^^^^^^^^ File "/home//.local/pipx/venvs/vocabsieve/lib/python3.11/site-packages/vocabsieve/analyzer/BookAnalyzer.py", line 38, in __init__ self.initWidgets() File "/home//.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//.local/pipx/venvs/vocabsieve/lib/python3.11/site-packages/vocabsieve/main.py", line 360, in onAnalyzeBook BookAnalyzer(self, path).open() ^^^^^^^^^^^^^^^^^^^^^^^^ File "/home//.local/pipx/venvs/vocabsieve/lib/python3.11/site-packages/vocabsieve/analyzer/BookAnalyzer.py", line 38, in __init__ self.initWidgets() File "/home//.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

  • OS: Arch Linux
  • Vocabsieve version: 0.12.0
  • Python: 3.11.9

Additional context:

The books I tried are all English-language direct-to-digital EPUBs from Springer, either about science or programming, if that matters.