Quote:
Originally Posted by bernard.ryefield
On Windows 10, last versions of Calibre and Annotations plugin, Kobo Forma:
Annotations plugin is stuck at 0% for hours on "Compiling annotations for a book". No disk access nor UC used from the processes.
|
A number of things may be related. I will help out tomorrow.
@Davidfor: my fix retained annotations with an empty (content) paragraph. While I do not experience problems (Linux/Win10 with PB), it seems reasonable the Kobo reader breaks somewhere on re-reading these paragraphs. It might even involve the seperate hash and timestamp routines, though hash seems standard. I Should have checked more extensively.
My sync option did just failed to appear for Pocketbooks, though very rarely the Pocketbook740 driver overrules the Lux2 driver. Ruled out seem to git branch mistakes, partially updated plugins (not using zip -ru anymore). The bs4 code was tested separately, though only in Python3. caching issue.
I did get one error messages, but since it posed no problem, I judging it to be specific to that readers and ignored it:
A) Involving _Marvin.py:
Code:
File "/usr/lib/calibre/calibre/gui2/ui.py", line 236, in initialize
ac.do_genesis()
File "/usr/lib/calibre/calibre/gui2/actions/__init__.py", line 147, in do_genesis
self.genesis()
File "calibre_plugins.annotations.action", line 457, in genesis
File "calibre_plugins.annotations.action", line 872, in load_dynamic_reader_classes
File "/usr/lib/python3.8/imp.py", line 171, in load_source
module = _load(spec)
File "<frozen importlib._bootstrap>", line 702, in _load
File "<frozen importlib._bootstrap>", line 671, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 783, in exec_module
File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
File "/tmp/calibre_annotations_plugin/_Marvin.py", line 15, in <module>
from calibre.ebooks.BeautifulSoup import UnicodeDammit
ImportError: cannot import name 'UnicodeDammit' from 'calibre.ebooks.BeautifulSoup' (/usr/lib/calibre/calibre/ebooks/BeautifulSoup.py)
Removing _Marvin.py made syncing work. But placing it back, with the same error, did not break fetching...
B) Removing _Marvin.py did reveal another 'masked' error in _iBooks.py:
Code:
Traceback (most recent call last):
File "/usr/lib/calibre/calibre/gui2/ui.py", line 236, in initialize
ac.do_genesis()
File "/usr/lib/calibre/calibre/gui2/actions/__init__.py", line 147, in do_genesis
self.genesis()
File "calibre_plugins.annotations.action", line 457, in genesis
File "calibre_plugins.annotations.action", line 872, in load_dynamic_reader_classes
File "/usr/lib/python3.8/imp.py", line 171, in load_source
module = _load(spec)
File "<frozen importlib._bootstrap>", line 702, in _load
File "<frozen importlib._bootstrap>", line 671, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 783, in exec_module
File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
File "/tmp/calibre_annotations_plugin/_iBooks.py", line 11, in <module>
import cStringIO, os, re, sqlite3
ModuleNotFoundError: No module named 'cStringIO'
This is a Python3 error:
https://stackoverflow.com/questions/...amed-cstringio
PS. notes with empty paragraphs (now retained by the fix) are not searchable using find annotations. Probably needs a loop.