View Single Post
Old 11-07-2012, 01:21 AM   #1
davidfor
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: 24,907
Karma: 47303748
Join Date: Jul 2011
Location: Sydney, Australia
Device: Kobo:Touch,Glo, AuraH2O, GloHD,AuraONE, ClaraHD, Libra H2O; tolinoepos
Books not in device database

For the Kobo devices, all books put onto the device have their details loaded into a database. The calibre driver reads this plus the metadata.calibre to find the books on the device and show which are in the calibre library. The driver doesn't scan the devices drive to look for books.

This means that any books that have been copied to the device before calibre was started will not be shown anywhere until the device is disconnected and the book is processed. I'm happy with that and don't plan to change it.

But, there are two circumstances where a book can be in the metadata.calibre file, on the devices drive but not in the devices database.

The first of these is when you use calibre to send the the book to the device. Until the device is disconnected, it is in this state but it is shown in the device list as on the device. If calibre and stopped and started without disconnecting, the book disappears from the device list. This is because the database and metadata.calibre are reread and as the book isn't in the database, it is removed from the metadata.calibre.

The other circumstance is if the device couldn't process the book when it was disconnected. This happens if there is a problem with the book. When it happens, processing for all new books stops so others will not be added to the database as well.

The problem that has come up is that I had to make a change to the driver to solve problems with showing the books were on the device. One change meant that for the circumstances above, I am no longer removing the book from the metadata.calibre. This also means that the book shows in the device list and will be shown as on the device in the library. In the first case above, that is OK as the book should be added to the devices database at next disconnect. In the second case, it isn't as good.

So, with all that, what I am asking is:

What has been done for other devices in a similar circumstance? Are the books that are not in the devices database shown in the device list? If so, are they marked in different way?

I am considering using a fake collection for these books. That way they can be easily found. The suggestion has been to call this "Processing_Pending" but if someone has already done something like this, I would like to be consistent. Or if there is a better way to mark these books, I would be very happy to hear it.

David
davidfor is offline   Reply With Quote