View Single Post
Old 02-19-2026, 08:59 AM   #15
Comfy.n
want to learn what I want
Comfy.n ought to be getting tired of karma fortunes by now.Comfy.n ought to be getting tired of karma fortunes by now.Comfy.n ought to be getting tired of karma fortunes by now.Comfy.n ought to be getting tired of karma fortunes by now.Comfy.n ought to be getting tired of karma fortunes by now.Comfy.n ought to be getting tired of karma fortunes by now.Comfy.n ought to be getting tired of karma fortunes by now.Comfy.n ought to be getting tired of karma fortunes by now.Comfy.n ought to be getting tired of karma fortunes by now.Comfy.n ought to be getting tired of karma fortunes by now.Comfy.n ought to be getting tired of karma fortunes by now.
 
Posts: 1,967
Karma: 7955879
Join Date: Sep 2020
Device: none
Quote:
Originally Posted by varia View Post
Good to know the original code was at least stable. The last few weeks working in was in a word, hairy.

Which issues did you apply fixes to?
hmm, here's some:

Spoiler:
PREFS config name mismatch (CRITICAL): columns_tab.py uses JSONConfig('plugins/reading_tracker') (lowercase) while data.py, main.py, and tracker_tab.py use JSONConfig('plugins/ReadingTracker') (CamelCase). When you save column mappings in the Columns tab, they go to a different JSON file — data.py never sees them and always falls back to #name.

'list' object has no attribute 'lower': The status column is a "Tag browser" type, so mi.get(col('status')) returns a list/tuple, not a string. Calling .lower() on it crashes.

10k+ book iteration: Both data.py and tracker_tab.py call api.all_book_ids() + api.get_metadata() per book. With 10k+ books this takes minutes. The fix: use api.search('#tracked:true') (returns ~66 book IDs instantly from in-memory index) then api.all_field_for() for bulk field reads.

It was a pain to set up. Then I got this infinite spinning wheel and had to uninstall several times/delete jsons/kill calibre etc. until I made the plugin at least save the columns setup again. Felt like it was polling my entire library, instead of just the books with the Tracked boolean.

IMO it should easier to set up if what CAIArchive suggested can be implemented. I relied upon looking at a screenshot I made of the Help tab, while creating the columns.

Reading Goal implements column setup brilliantly.
Comfy.n is offline   Reply With Quote