View Single Post
Old 06-09-2013, 07:30 AM   #1
Grand Sorcerer
davidfor ought to be getting tired of karma fortunes by now.davidfor ought to be getting tired of karma fortunes by now.davidfor ought to be getting tired of karma fortunes by now.davidfor ought to be getting tired of karma fortunes by now.davidfor ought to be getting tired of karma fortunes by now.davidfor ought to be getting tired of karma fortunes by now.davidfor ought to be getting tired of karma fortunes by now.davidfor ought to be getting tired of karma fortunes by now.davidfor ought to be getting tired of karma fortunes by now.davidfor ought to be getting tired of karma fortunes by now.davidfor ought to be getting tired of karma fortunes by now.
Posts: 12,626
Karma: 19973288
Join Date: Jul 2011
Location: Sydney, Australia
Device: Kobo: Touch, Glo, Aura H2O, Glo HD, Aura ONE
[GUI Plugin] Kobo Utilities

The Kobo Utilities Plugin adds extra function to calibre for working with Kobo WiFi, Touch, Glo, Mini, Aura, Aura HD, Aura H2O and Glo HD eReaders. This will allow changes on the eReaders that either cannot otherwise be made or will make them easier to do.

The current functions of the plugin are:
  • Set/Remove font settings for specific books.
  • Dismiss tiles from tiled home screen.
  • Update metadata directly to the database on the device.
  • Change the reading status.
  • Manage series info for books on the device. This is mainly for books not in the calibre library including kepubs.
  • Store/record current reading position for ePubs. This can be done manually or automatically when the Kobo ereader is connected. Profiles can be used to manage the reading positions of multiple devices.
  • Upload/Remove covers for all books in the library. This includes kepubs.
  • A couple of annotations options that I'm not happy with.
  • List the books missing from the device database. This only lists the books that calibre thinks should be in the database.
  • Backup the device database.
  • Run integrity check on the database. It doesn't fix anything, but it tells you if the database is OK or not.
  • Clean up duplicate shelves.
  • Remove annotations files.
  • Set "Related books" for sideloaded books.

  • Almost all the functions of this plugin directly update the database on the Kobo device. If anything goes wrong, the database could get corrupted. It shouldn't happen, but it could. Before using any function of the plugin, it is recommended that you backup the database.
  • The plugin has been created by reverse engineering the function of the Kobo eReaders. This has been done by examining the database on the Touch and Glo and experimenting with it and the interface. There is a good chance that my conclusions from this are wrong. This is unlikely to damage the device, but it could result in the need to reset it.


Open Preferences -> Plugins -> Get new plugins and install the 'Kobo Utilities' plugin.

You may also download the attached zip file and install the plugin manually, then restart calibre as described in the Introduction to Plugins thread.


Before use, some configuration of the plugin is needed. Pressing the toolbar button will display the configuration options, or it can be reached from the menu. Several custom columns are needed for the full function of the plugin. Pressing the help link will display the help for the plugin. This includes a full description of the columns needed.

  • Once installed, the usage for most functions is to select one or more books in the library or device list and select an option from the plugins menu. A dialog will be displayed to set options for the action. Pressing OK will run the actions and when finished display a message showing the results.
  • The functions available depend on whether you are looking at the library or the device list.
  • A full description of each function is available in the help. This can be seen by pressing the help link in the top right of corner of each dialog.

  • A large chunk of the code is borrowed from the plugins written by kiwidude. Without his work, this would have been a lot harder to do.
  • A few people have tried the beta versions of the plugin. Their reports, suggestions and encouragement have been important in getting it working.
Version History
Version 2.5.2 - 10 January 2017
  • Fix: Button wasn't opening driver configuration if device wasn't connected.

Version 2.5.1 - 9 January 2017
  • Fix: Reenable "About Plugin"
  • New: French translation from Eric (Infernoweb) and Alain (FrenchDummy)
Version 2.5.0 - 5 January 2017
  • Fix: Error if cleaning cover for book on device but not in database.
  • Change: Button can be set to opening driver configuration or swapping drivers when no device connected.
  • Fix: Exception during backup as WinError is not on non-Windows machines.
  • Update: Latest Spanish translations from Terisa
Version 2.4.1 - 25 Aug 2016
  • Fix: Error creating trigger to block analytics.
Version 2.4.0 - 20 Aug 2016
  • Fix: Error deleting trigger.
  • Fix: No progress bar for series management.
  • Change: Change database reading to use the apsw library instead of sqlite3 library.
  • Change: Better handling of the progress bar.
  • Fix: Timestamp issues when updating metadata.
Version 2.3.2 - 24 May 2016
  • Fix: Error updating metadata if the comments was empty.
Version 2.3.1 - 18 May 2016
  • Fix: Error when setting description but not using a template.
Version 2.3.0 - 16 May 2016
  • Change: Use template for subtitle.
  • Change: Use template editor for comments and subtitle templates
Version 2.2.0 - 9 April 2016
  • New: Option to show Goodreads Sync "Update reading progress" dialog
  • Update: After storing book status, select them in the library view
  • New: Metadata uppdate - Update comments using a "jacket" or plugboard style template.
  • New: Metadata uppdate - Option to update downloaded kepubs as well sideloaded books.
  • New: Metadata uppdate - Option to set or clear the subtitle on the device.
  • Update: Display progress dialog when getting book list for updating metadata.
  • New: Submenu for driver configuration
  • New: Menu option to swap between main and extended driver.
  • New: Menu option to open driver configuration. If a device is connected, will open its configuration. Otherwise, it opens whichever is enable of the main and extended drivers.
  • New: Display device name, firmware version and the driver name in tooltip of button.
Version 2.1.0 - 6 December 2015
  • New: Add "Display Extras Tiles".
  • Fix: Error in getting reading settings from device configuration.
  • Change: Disable tiles related menu items if firmware doesn't support them.
  • Change: Update font names used for firmware 3.19.x
Version 2.0.7 - 29 April 2015
  • Fix: Profile name wasn't being passed to the reading status update dialog
  • Fix: Messed up logging in jobs
Version 2.0.6 - 26 April 2015
  • Fix: Handle missing files in the backup properly.
  • Change: Add select/clear all buttons to reading status update dialog.
Version 2.0.5 - 30 January 2015
  • Fix: Fix another error in migrating the settings.
Version 2.0.4 - 21 January 2015
  • Fix: Wasn't correctly doing the daily backup if the database in the zip file option was selected.
Version 2.0.3 - 20 January 2015
  • Fix: Error if iOS device plugged in and iOS reader applications and Marvin plugins are active
  • Change: Updated way backup files were deleted to handle when setting for putting database in the zip file is changed.
  • Change: Turn on debug logging for backup job.
Version 2.0.2 - 4 January 2015
  • Fix: More errors reading configuration after the migration
  • Fix: Opening the configuration shortly after ejecting the device gave an error
Version 2.0.1 - 4 January 2015
  • Fix: Errors reading configuration after a migration
Version 2.0.0 - 3 January 2015
  • New: Handling of multiple Kobo devices through profiles and recognition of the devices.
  • New: Remove Annotation files
  • New: Set Related Books.
  • Fix: Data written to db_prefs_backup.json file.
Version 1.8.5 - 13 December 2014
  • Fix: Latest duplicate shelves has all timestamps set to "1970-01-01T00:00:00Z". Need to use ids if all the dates are the same.
  • New: Display progress bar when removing the duplicate shelves.
Version 1.8.4 - 2 December 2014
  • Update: Spanish translation updated for recent changes.
Version 1.8.3 - 22 November 2014
  • Fix: Correct the name of the option for the backup on connection
Version 1.8.2 - 21 November 2014
  • New: Add option to do backup each time the device is connected.
  • Fix: Error building list of shelves when fetching from device.
  • Fix: Update menu handling for calibre 2.10 and later.
Version 1.8.1 - 9 November 2014
  • Fix: Added trigger for UPDATE to the Activity table
  • Fix: Change way debug logging is handled in jobs
Version 1.8.0 - 5 October 2014
  • New: Copy shelves from device to one column
  • Change: Backup config, affiliate.conf and version files and ADE registration
Version 1.7.3 - 19 August 2014
  • Fix: Wasn't correctly removing old backup files.
Version 1.7.2 - 28 July 2014
  • Change: Support for upcoming calibre 2.0
Version 1.7.1 - 5 July 2014
  • Fix: Error in metadata update when setting series and using plugboard
Version 1.7.0 - 16 June 2014
  • Change: Changed the series shelf ordering to allow ordering of other shelves and different sorting.
Version 1.6.9 - 21 May 2014
  • Fix: Commented out job logging as it was causing problems.
Version 1.6.8 - 13 May 2014
  • Fix: Fix the problem with Series management and metadata updating properly.
Version 1.6.7 - 12 May 2014
  • Fix: Series management from device list was not updated for new options in metadata updating.
  • Change: Background job logging as seem to be blowing the size of a buffer.
Version 1.6.6 - 10 May 2014
  • Change: When storing book status, use the status from the furtherest along copy if there are multiple copies. This is latest status, date or percent read.
  • Change: Make jobs DeviceJobs so they won't get run at same time as initial device jobs.
Version 1.6.5 - 22 April 2014
  • Fix: Debug statement had reference to "newmi" when it should have been "book"
Version 1.6.4 - 20 April 2014
  • Fix: Hard coded number of values in line spacing spin button.
  • Update: Line spacings changed with 3.2.0
  • Update: If store has "Not finished in library" selected, only fetch status for books that haven't been finished.
Version 1.6.3 - 12 April 2014
  • Fix: Setting reading status from device list was not updated for new options in metadata updating.
Version 1.6.2 - 29 March 2014
  • Fix: Older devices had the MAC address in the serial number field of the version file. Strip the colons from this so it can be used in the backup file name.
Version 1.6.1 - 22 March 2014
  • Fix: Removed a debug line that meant the database backup was named incorrectly.
Version 1.6.0 - 22 March 2014
  • New: Added tiles: "Release Note", "Categories"
  • New: Firmware check and download
  • New: Automatic backup of the device database
  • New: After batch reading position store, display list of changes.
  • Changed: Added options for using sort versions of title and author or the plugboard when updating metadata.
  • New: Spanish translation.
  • Fix: Clean images directory handles new images storage in FW2.9.0 and later
Version 1.5.0 - 18 December 2013
  • Update: Change reading location store to not update library if no changes.
  • New: Add auto store when device detected.
  • New: Added progress bars when creating store jobs and updating library
  • New: Added dismissing "In the cloud" tiles
  • New: If click button and no device connected, open configuration
Version 1.4.4 - 30 November 2013
  • Fix: Error displaying sizes after a database compression
Version 1.4.3 - 22 November 2013
  • Fix: Bad string handling in a debug statement.
Version 1.4.2 - 20 November 2013
  • New: Added code needed for internationalization
  • Fix: Issue with format of timestamps in device database. Needed to add timezone info.
Version 1.4.1 - 28 October 2013
  • Update: Option added when ordering series shelf to update shelf sorting in config file
Version 1.4.0 - 15 October 2013
  • New: For shelves that match a series name, change the date added to order by series order.
  • New: Add "Lock margins" checkbox to reader settings to set the right margin the same as the left
  • New: Add "Update config file" checkbox to reader settings to write the options to the "Kobo eReader.conf"
Version 1.3.0 - 3 October 2013
  • Update: Handling of line heights
  • New: Fix Duplicate shelves
Version 1.2.7 - 22 September 2013
  • Fix handling of older database versions with no ratings table.
Version 1.2.5 - 07 September 2013
  • New: Support for Kobo WiFi
  • Fix: Check for support of TIMESTAMP_STRING in device driver
  • Fix: Extra space after "false" in tile dismiss SQL
Version 1.2.3 - 08 August 2013
  • New: Add function to create trigger to remove AnalyticEvents
  • Fix: Spelling error in tooltip on Dismiss Tiles dialog
  • New: Add dismissing of new and finished books
  • Fix: Error when restoring reading location for kepubs
  • New: Changes to handle new db engine
Version 1.2.2 - 22 July 2013
  • Fix: Error in image directory checking of no SD card
Version 1.2.1 - 18 July 2013
  • Fix: Wasn't getting reading state from device for books that had been marked as read but never opened.
Version 1.2.0 - 16 July 2013
  • New: Change store to have option of background job
  • New: Check covers directory for extra image files
  • New: Added compress device database
  • Fix: Had "Gil Sans" instead of "Gill Sans"
Version 1.1.0 - 18 June 2013
  • New: Create/delete database trigger for dismissing tiles.
  • Update: Support sideloaded kepubs for reading location.
  • Fix: If rating wasn't set, attempted to divide None by 2.
  • Fix: Keep reference for all menu items to solve problem with OSX.
Version 1.0.0 - 9 June 2013
Initial release
Attached Files
File Type: epub KoboUtilities_Help.epub (17.4 KB, 3458 views)
File Type: zip (247.4 KB, 11491 views)

Last edited by davidfor; 01-10-2017 at 06:11 AM. Reason: Update to version 2.5.2
davidfor is offline   Reply With Quote