calibre: e-book management

[Enhancement] Kepub tweak for Kobo

Reported by Ivan Calmels on 2013-01-05
This bug affects 3 people
Affects Status Importance Assigned to Milestone
David Forrester

Bug Description


This is my first "bug" request, I'm not sure if the question is asked later in the process, but this is just an enhancement request, not a bug. Calibre works like a charm for me !

But since last versions of Kobo firmwares, there is a new functionality that I vey like : a view of reading statistics. Unfortunately, this is only available on Kepub (KOBO tweaked epub files) books.

Renaming epub files in ".kepub.epub" (could already be automatised with Calibre) force the reader to display them like Kepub files (statistics, but also page numbering by chapters or little stuff like that). This could be perfect, but doing this remove the book's cover and cause troubles with annotations...

I've found this blog : where is explained how make those fake Kepubs perfectly works on Kobo, but it's too heavy to process a complete library. Even with scripts.

So, and because steps (create covers in different resolutions, copy them into the kobo, update its sqlite database, update tags in the epub's html files) seems closed to what Calibre perform when it send books to my reader, I was asking myself if this process couldn't be added to the Kobo driver ? I'm not very aware of Calibre internal functionning so I'm not sure for the "Kobo driver", I'm speaking of the "Configure Kobo Touch" (with my Kobo Glo) popup ? Where there is the list of supported formats, checkboxes to create shelfs, send covers (but this option don't seems to send compatible Kepub files), etc...

Do you think it's possible ?

Thank you,
Best regards,

tags: added: kepub kobo
summary: - Kepub tweak for Kobo
+ [Enhancement] Kepub tweak for Kobo

Changing the component for this bug.

 assignee davidfor
 tag kobo-driver
 status triaged

Changed in calibre:
assignee: nobody → David Forrester (davidfor)
status: New → Triaged
David Forrester (davidfor) wrote :

There are actually two elements here.

One part is to add support for kepubs as a format to calibre. This includes converting to and from kepub. The from is easy as kepub is basically an epub and the extra bits, mainly ids on most tags, can be left in. The to is a bit harder, but the referenced link gives a lot of what to do.

The other part is to modify the driver to put kepubs the books on the device. Unfortunately, it isn't quite that simple. The driver doesn't do much when putting a book onto the device. It simply copies the book to the devices drive. When the device is disconnected, the device process the sideloaded books and adds details about the books into its internal database. This means that some work has to be done the next time the device is connected when the database entries for the book exist. Specifically, putting the cover image on the device and updating the database to point to it. There may be other things that are needed, but I haven't looked at this for a while.

The above wouldn't be hard to do, or at least the driver parts. I haven't looked at the format handling side, so I don't know. But, I'm not convinced it is a good idea. I am not sure how having books like this on the device affects other things. The obvious question is what happens when a sync with the Kobo server is done.

Making the driver changes is only useful if the format support is added. At the moment, it is not something I am interested in doing. If someone adds the kepub format support, then I will update the driver.

Joel Goguen (jgoguen) wrote :

I noted on bug #1058912 that I've been working on adding the kepub stuff to a driver plugin. The code is on Github at and known issues are on the Github bug tracker there. If desired, I can move the changes into the KoboTouch driver and submit a patch on either bug (once I've fixed the remaining problems I know about) instead of leaving it as a plugin.

David Forrester (davidfor) wrote :

Joel has release his extended Kobo driver on MobileRead. It will satisfy this enhancement request.

Kovid Goyal (kovid) on 2013-04-20
Changed in calibre:
status: Triaged → Fix Released
thecius oliver (cinetici) wrote :

Hi there, im a newbie so sorry if Im being too ignorant on my concerns.
First, one of the reasons I bought my Kobo Glo this week was that I was aware of its 2.1 update in which the device became able to deiver readings statistics such as book or chapter remaining time.
I realize now that this function works perfectly with kepubs but not at all with sideloaded epubs
(I didnt understand in the statements above regarding drivers, im really a beginner but I hope I can find an easy solution)

I already tried changing the extension from .epub to kepub.epub and it didnt work as well as I hoped because:
1)the book loses its cover
2)on the low bar where the number of pages I read and the total number of pages, well, this feature is exchanged for the name of the chapter - but its a random name the kobo segregated as a chapter.
3) As briefly mentioned, the kobo doesnt recognize real chapters but it segregates long paragraphs as if they were new chapters. So a long book becomes annoyingly with hundreds of chapters along the way and no possible way to tell how many total pages it has.

So in the end, I would stick to the regular epub

Or am I missing something? Someway to calibrate it on calibre or something like it? It would really mean a lot to me to have this feature of tracking reading habits available

David Forrester (davidfor) wrote :

For points 2 and 3, I believe you are incorrect. I have never seen the behaviour you are describing when viewing epubs as kepubs. The reader application used does respect the table of contents in the book. And this is used and displayed in appropriate places.

But, you might be having issues because the kepub view expects some things to be in the book to work correctly. As mentioned earlier in this enhancement request, there is an extra driver available that will do this work. See for information and discussion.

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers