Is there any way to make the plugin store series data in the default Calibre series column? This doesn't seem to be an option in the plugin configuration "Store in series column" dropdown.
To transfer a Reading List to the builtin Series column, I'd also install the Series Manager plugin.
Then view the list, select the books, Manage Series, then apply the series name.
I'm having a problem with the Reading List plugin. The problem is that it's not properly populating the custom column based on the books on my Libra 2.
These are screenshots of my 2 lists. Inside the spoiler is the debug log.
One odd thing Ive noticed. I have 477 eBooks on my Libra 2. But the Libra 2 list shows only 414. I can add/remove books and the Libra 2 list shows 414 regardless.
Driver: KoboTouchExtended'
Key 'Ctrl+Right' for shortcut Next Virtual library is already used by Next result, ignoring
Key 'Ctrl+Left' for shortcut Previous Virtual library is already used by Previous result, ignoring
Key 'Ctrl+Right' for shortcut Next Virtual library is already used by Next result, ignoring
Key 'Ctrl+Left' for shortcut Previous Virtual library is already used by Previous result, ignoring
Key 'Ctrl+Right' for shortcut Next Virtual library is already used by Next result, ignoring
Key 'Ctrl+Left' for shortcut Previous Virtual library is already used by Previous result, ignoring
[2.45] main UI initialized...
[2.45] Hiding splash screen
[20.41] splash screen hidden
[20.41] Started up in 20.41 seconds with 1386 books
Storage number map:
{(7, 0): [(3, 'C')], (7, 1): [(1, 'F')]}
Storage number for USBSTOR\DISK&VEN_LINUX&PROD_FILE-STOR_GADGET&REV_0401\N4181A0100162&0: StorageDeviceNumber(type=7, number=1, partition_number=0)
Drive letters for USBDevice(vendor_id=0x2237 product_id=0x4234 bcd=0x401 devid=usb\vid_2237&pid_4234&rev_0401 devinst=16)
{'drive_letters': ['F'],
'pnp_id_map': {'F': '\\\\?\\usbstor#disk&ven_linux&prod_file-stor_gadget&rev_0401#n4181a0100162&0#{53f56307-b6bf-11d0-94f2-00a0c91efb8b}'},
'readonly_drives': set(),
'sort_map': {'F': (1, 1)}}
Shortcut for 'Interface Action: Annotations (Annotations) - Find annotations' already registered by Find annotations
Key 'Ctrl+Right' for shortcut Next Virtual library is already used by Next result, ignoring
Key 'Ctrl+Left' for shortcut Previous Virtual library is already used by Previous result, ignoring
DEBUG: 41.9 KoboUtilities:_on_device_connection_changed - self.plugin_device_connection_changed.__class__: <class 'PyQt6.QtCore.pyqtBoundSignal'>
DEBUG: 41.9 Methods for self.plugin_device_connection_changed: ['__call__', '__class__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getstate__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', 'connect', 'disconnect', 'emit', 'signal']
DEBUG: 41.9 Have a Kobo device connected connected
DEBUG: 41.9 BEGIN Get Device Path
DEBUG: 41.9 Root path of device: F:\
DEBUG: 41.9 END Get Device Path
DEBUG: 41.9 KoboUtilities:get_device - self.device_path="F:\"
DEBUG: 41.9 KoboUtilities:set_toolbar_button_tooltip - start: text='None'
DEBUG: 41.9 KoboUtilities:set_toolbar_button_tooltip - setting to text='Utilities to use with Kobo ereaders
Driver: KoboTouchExtended'
Job: 0 Get device information started
DeviceJob: 0 Get device information done, calling callback
DeviceJob: 0 Get device information callback returned
Job: 1 Set library information started
DeviceJob: 1 Set library information done, calling callback
DeviceJob: 1 Set library information callback returned
Job: 2 Get list of books on device started
DEBUG: 42.2 KoboTouch:books - oncard='None'
2024-02-20 11:51:53 [DEBUG] KoboTouchExtended:settings: settings= 2024-02-20 11:51:53 [DEBUG] <calibre.utils.config_base.OptionValues object at 0x000001C687FB9410>
DEBUG: 42.2 KoboTouch:books - oncard='None', prefix='F:\'
DEBUG: 42.2 device_version_info - start
DEBUG: 42.2 device_version_info - version_file=F:\.kobo\version
DEBUG: 42.2 device_version_info - have opened version_file
DEBUG: 42.2 device_version_info - self._device_version_info= ['N4181A0100162', '4.1.15', '4.38.21908', '4.1.15', '4.1.15', '00000000-0000-0000-0000-000000000388']
DEBUG: 42.2 Kobo device: Kobo Libra 2
DEBUG: 42.2 Version of driver: (3, 6, 7) Has kepubs: True
DEBUG: 42.2 Version of firmware: (4, 38, 21908) Has kepubs: True
DEBUG: 42.2 Firmware supports cover image tree: True
2024-02-20 11:51:53 [DEBUG] KoboTouchExtended:settings: settings= 2024-02-20 11:51:53 [DEBUG] <calibre.utils.config_base.OptionValues object at 0x000001C687FB9A10>
DEBUG: 42.2 KoboTouch:books - opts.extra_customization= []
DEBUG: 42.2 KoboTouch:books - driver options= Driver:KoboTouchExtended, Options - format_map: ['epub', 'kepub', 'pdf', 'txt', 'cbz', 'cbr'], use_subdirs: True, read_metadata: True, use_author_sort: False, save_template: books/{author} - {series} {series_index:0>2s|| - } {title}, extra_customization: [], manage_collections: True, use_collections_columns: True, collections_columns: tags, use_collections_template: False, collections_template: , create_collections: True, delete_empty_collections: True, ignore_collections_names: , upload_covers: True, dithered_covers: True, keep_cover_aspect: True, upload_grayscale: True, letterbox_fs_covers: False, letterbox_fs_covers_color: #000000, png_covers: False, show_archived_books: False, show_previews: False, show_recommendations: False, update_series: True, update_core_metadata: True, update_purchased_kepubs: False, update_device_metadata: True, update_subtitle: False, subtitle_template: {series:lookup(.,,tags)}, update_bookstats: True, bookstats_wordcount_template: program:floor($$#words), bookstats_pagecount_template: program:floor($$#pages), bookstats_timetoread_upper_template: program:ceiling($$#words / 11150), bookstats_timetoread_lower_template: program:floor($$#words / 12000), modify_css: False, override_kobo_replace_existing: True, support_newer_firmware: True, debugging_title: , driver_version: 3.6.7, extra_features: True, use_template: True, kepubify_template: program:
$#kepub == 'yes', upload_encumbered: False, skip_failed: False, hyphenate: True, smarten_punctuation: False, clean_markup: False, full_page_numbers: False, disable_hyphenation: False, file_copy_dir: , hyphenate_chars: 4, hyphenate_chars_before: 2, hyphenate_chars_after: 2, hyphenate_limit_lines: 5
DEBUG: 42.2 KoboTouch:books - prefs['manage_device_metadata']= on_connect
DEBUG: 42.2 KoboTouch:books - set_debugging_title to ''
DEBUG: 42.2 KoboTouch:books - length bl=0
DEBUG: 42.6 KoboTouch:books - length bl after sync=480
DEBUG: 42.6 KoboTouch:books - reading device database
DEBUG: 42.6 Database Version: 174
DEBUG: 42.6 KoboTouch:books - shelf list: ['Vorkosigan', 'Fiction', 'Science Fiction', 'Mystery', 'Star Trek', 'Philip K. Dick', 'Stephen King', 'Superhero', 'Historical Fiction', 'Non-Fiction', 'Bookclub', 'Horror', 'Thriller', 'Robert Harris', 'Fantasy', 'Wilbur Smith', 'WWII Drama', 'Politics', 'Biography', 'Lane Moriarty', 'Autobiography', 'Ken Follett', 'James Patterson', 'Doctor Who', 'Time travel--Fiction', 'Standalone', 'Space Opera', 'King Arthur', 'FIC028000/FIC028030']
DEBUG: 42.6 KoboTouch:books - query= SELECT Title, Attribution, DateCreated, ContentID, MimeType, ContentType, ImageId, ReadStatus, Description, Publisher , ___ExpirationStatus, FavouritesIndex, Accessibility, Language, IsDownloaded, ISBN, Series, SeriesNumber, ___UserID, ExternalId, Subtitle, SeriesID, SeriesNumberFloat, StorePages, StoreWordCount, StoreTimeToReadLowerEstimate, StoreTimeToReadUpperEstimate FROM content WHERE BookID IS NULL AND ((Accessibility = -1 AND IsDownloaded in ('true', 1 )) OR (Accessibility IN (1,2,8,9) and IsDownloaded in ('true', 1)) ) AND (externalId IS NULL OR externalId = '') AND contentId NOT LIKE 'file:///mnt/sd/%'
Job: 0 Get device information finished
No details available.
Job: 1 Set library information finished
No details available.
DEBUG: 44.8 KoboTouch:books - automatically managing metadata
DEBUG: 44.8 KoboTouch:books - self.kobo_series_dict= {}
DEBUG: 44.8 KoboTouch:books - about to sync_booklists
DEBUG: 44.8 USBMS: starting sync_booklists
DEBUG: 46.1 USBMS: finished sync_booklists
DEBUG: 46.1 KoboTouch:books - have done sync_booklists
DEBUG: 46.1 KoboTouch:books - end - oncard='None'
DEBUG: 46.1 KoboTouch:books - oncard='carda'
DEBUG: 46.1 KoboTouch:books - Asked to process 'carda', but do not have one!
DEBUG: 46.1 KoboTouch:books - oncard='cardb'
DEBUG: 46.1 KoboTouch:books - Asked to process 'cardb', but do not have one!
DeviceJob: 2 Get list of books on device done, calling callback
DeviceJob: metadata_downloaded: Starting set_books_in_library
DeviceJob: set_books_in_library: books to process= 480
DeviceJob: set_books_in_library finished: time= 0.009077310562133789
DeviceJob: metadata_downloaded: updating views
DeviceJob: metadata_downloaded: syncing
2024-02-20 11:51:57 [DEBUG] KoboTouchExtended:settings: settings= 2024-02-20 11:51:57 [DEBUG] <calibre.utils.config_base.OptionValues object at 0x000001C68FB54C50>
2024-02-20 11:51:57 [DEBUG] KoboTouchExtended:settings: settings= 2024-02-20 11:51:57 [DEBUG] <calibre.utils.config_base.OptionValues object at 0x000001C68FCE2A90>
DeviceJob: metadata_downloaded: refreshing ondevice
DeviceJob: metadata_downloaded: sending metadata_available signal
DEBUG: 45.9 KoboUtilites:_on_device_metadata_available - Start
DEBUG: 45.9 Have a Kobo device connected connected
DEBUG: 45.9 BEGIN Get Device Path
DEBUG: 45.9 Root path of device: F:\
DEBUG: 45.9 END Get Device Path
DEBUG: 45.9 KoboUtilities:get_device - self.device_path="F:\"
DEBUG: 45.9 KoboUtilities:get_device - drive_info: {'main': {'device_store_uuid': '6f8e340f-16ff-4c96-a2bd-32c0718c8048', 'device_name': 'Kobo Libra 2', 'location_code': 'main', 'last_library_uuid': '13d85d65-1491-412c-8fde-3a886fa79389', 'calibre_version': '7.5.1', 'date_last_connected': '2024-02-20T11:51:53.441419+00:00', 'prefix': 'F:/'}}
DEBUG: 45.9 migrate_library_config_if_required - start
DEBUG: 45.9 get_library_config - library_config: {'SchemaVersion': 0.1, 'currentReadingLocationColumn': '', 'lastReadColumn': '', 'precentReadColumn': '', 'profiles': {'Jon H2O': {'customColumnOptions': {'currentReadingLocationColumn': '#current', 'lastReadColumn': '#last', 'percentReadColumn': '#percent', 'ratingColumn': ''}, 'forDevice': None, 'profileName': 'Jon H2O', 'storeOptionsStore': {'doNotStoreIfReopened': True, 'promptToStore': False, 'storeIfMoreRecent': False, 'storeOnConnect': False}, 'updateOptionsStore': {'doEarlyFirmwareUpdate': False, 'doFirmwareUpdateCheck': False, 'firmwareUpdateCheckLastTime': 0}}, 'Jon Libra 2': {'customColumnOptions': {'currentReadingLocationColumn': '#current', 'lastReadColumn': '#last', 'percentReadColumn': '#percent', 'ratingColumn': ''}, 'forDevice': None, 'storeOptionsStore': {'doNotStoreIfReopened': True, 'promptToStore': False, 'storeIfMoreRecent': False, 'storeOnConnect': False}, 'updateOptionsStore': {'doEarlyFirmwareUpdate': False, 'doFirmwareUpdateCheck': False, 'firmwareUpdateCheckLastTime': 0}}}, 'ratingColumn': ''}
DEBUG: 45.9 KoboUtilities:get_device - device_name: Kobo Libra 2
DEBUG: 45.9 get_plugin_pref - start - store_name='commonOptionsStore', option='individualDeviceOptions'
DEBUG: 45.9 get_prefs - start - store_name='backupOptionsStore'
DEBUG: 45.9 get_prefs - start - store_name='updateOptionsStore'
DEBUG: 45.9 KoboUtilities:set_toolbar_button_tooltip - start: text='None'
DEBUG: 45.9 KoboUtilities:set_toolbar_button_tooltip - device connected. self.device.fwversion= (4, 38, 21908)
DEBUG: 45.9 KoboUtilities:set_toolbar_button_tooltip - setting to text='Utilities to use with Kobo ereaders
Is #onlibra a boolean column and have you 'yes/no columns have three values' enabled? I don't use autopopulated lists so can't comment on that factor, but I have had strange behaviour when tristate booleans are enabled.
As a workaround, I have Reading List fill an enumerated 'Kobo status' column and then have a composite psuedobool column that checks that.
Last edited by ownedbycats; 02-20-2024 at 07:36 AM.
Is #onlibra a boolean column and have you 'yes/no columns have three values' enabled? I don't use autopopulated lists so can't comment on that factor, but I have had strange behaviour when tristate booleans are enabled.
As a workaround, I have Reading List fill an enumerated 'Kobo status' column and then have a composite psuedobool column that checks that.
The #onlibra column is a Yes/No column.
The problem as I see it is that the list is staying static. The #onlibra column is correctly set to Y for the 414 eBooks Reading List thinks is on my Libra 2.
The problem (as I see it) is that the Libra 2 list is not ever changing. It's stuck.
I set the Libra 2 list to manually populate and then I remove the contents of the list. The Y/N column was correctly emptied. But the problem now is how to automatically populate the list so the column can be updated.
Is this a bug in Reading List or am I not doing something so the list populates?
I also went had to 1.14.0 and it still does not work. I cannot go back any further as that's the earliest version available.
Is there any way to get older versions to find out where this broke (unless it broke in calibre)?
I'd suspect it having to do with it being an auto-pop list, considering that some other settings also disabled on that. Does it work for non-boolean columns, at least?
I'd suspect it having to do with it being an auto-pop list, considering that some other settings also disabled on that. Does it work for non-boolean columns, at least?
It used to work as is because it was populated. I've managed to remove everything from the list but I cannot get it to populate again.
I'm going y calibre 6 portable and see if it works.
I've downloaded the last calibre 6 portable. I'll try it later when I have the time.
In your case I suspect the device UUID changed, which can happen if the device is reset or if you deleted the file .driveinfo.calibre (somehow).
To fix:
Connect to your kobo.
In Reading List in the device tab, remove the existing device (Kobo ...)
Add the currently connected device.
Fix the device in any list where it is used because the device box would have been emptied when you deleted the device.
Try "Sync now" in Reading list. The columns should sync.
If you run in debug mode you should see lines like this:
Code:
READING LIST: Sync Now - force_sync= True
READING LIST: Device found to sync to: Folder Device d0a38af5-7f67-4880-bf0d-a2503bcd785f
READING LIST: Updating automatic device list(s) ['Test auto populate']
READING LIST: Auto-populating device list: Test auto populate
READING LIST: Removing 0 ids from automatic list: Test auto populate
READING LIST: Adding 0 ids to automatic list: Test auto populate
I set the Libra 2 list to manually populate and then I remove the contents of the list. The Y/N column was correctly emptied. But the problem now is how to automatically populate the list so the column can be updated.
Is this a bug in Reading List or am I not doing something so the list populates?
I also went had to 1.14.0 and it still does not work. I cannot go back any further as that's the earliest version available.
Is there any way to get older versions to find out where this broke (unless it broke in calibre)?
Thank you for bringing this to me atention. I have the same configuration and I've seen list was not updated for the last books. In my case, I've remembered I had to format the device and, checking the list, I've seen it was not associated to my Clara 2E. After associating it, the next time I've connected the ereader, the list has been updated.
In your case I suspect the device UUID changed, which can happen if the device is reset or if you deleted the file .driveinfo.calibre (somehow).
To fix:
Connect to your kobo.
In Reading List in the device tab, remove the existing device (Kobo ...)
Add the currently connected device.
Fix the device in any list where it is used because the device box would have been emptied when you deleted the device.
Try "Sync now" in Reading list. The columns should sync.
If you run in debug mode you should see lines like this:
Code:
READING LIST: Sync Now - force_sync= True
READING LIST: Device found to sync to: Folder Device d0a38af5-7f67-4880-bf0d-a2503bcd785f
READING LIST: Updating automatic device list(s) ['Test auto populate']
READING LIST: Auto-populating device list: Test auto populate
READING LIST: Removing 0 ids from automatic list: Test auto populate
READING LIST: Adding 0 ids to automatic list: Test auto populate
Thank you. The screen shot helped.
The problem was the device was not selected. But it's odd that it deselected when I did not do so.
Do we have any idea when this may have happened as Terisa also had the problem?
... In my case, I've remembered I had to format the device and, checking the list, I've seen it was not associated to my Clara 2E. After associating it, the next time I've connected the ereader, the list has been updated.
Quote:
Originally Posted by JSWolf
Thank you. The screen shot helped.
The problem was the device was not selected. But it's odd that it deselected when I did not do so.
Do we have any idea when this may have happened as Terisa also had the problem?
@Terisa de morgan reformatted the device, which would erase metadata.calibre and therefore change the device UUID, exactly the scenario I suggested.
I strongly suspect your problem arose because of something you did, not caused by a calibre or Reading list problem. Perhaps you deleted (somehow) the metadata.calibre file, perhaps you altered somehow the plugin's json configuration file, or perhaps the plugin altered it itself for some reason. No way for me to know how, or when ...
@Terisa de morgan reformatted the device, which would erase metadata.calibre and therefore change the device UUID, exactly the scenario I suggested.
I strongly suspect your problem arose because of something you did, not caused by a calibre or Reading list problem. Perhaps you deleted (somehow) the metadata.calibre file, perhaps you altered somehow the plugin's json configuration file, or perhaps the plugin altered it itself for some reason. No way for me to know how, or when ...
There has been no problem with the device ID as adding books to it has not stopped working. Doesn't really matter then it was changed. I'm just glad it's working. Thank you.