Thread: Touch Mark books as Finished
View Single Post
Old 09-20-2013, 10:13 AM   #6
Gallips
Member
Gallips began at the beginning.
 
Posts: 17
Karma: 10
Join Date: Aug 2013
Device: Kobo Touch (N905)
Quote:
Originally Posted by davidfor View Post
Your detective work is pretty much correct. The __PercentageRead is ignored when the ReadStatus is either 0 or 2. An annoying thing is that when finishing the book, the device does not set __PercentageRead to 100. It tends to be 99 if you finish by paging past the end end of the book.

The above columns plus two others are what the store/restore look at. But, the reading stats uses other information.

The percentage of books read is from the content table. It is the count of books marked as read (ContentType=6 and ReadStatus=2) divided by the count of books in the library (ContentType=6 and other conditions to exclude previews and recommendations).

The count of books finished comes from the Event table. It is the count of books with EventType=5. But, it also looks at the ExtraData and CheckSum columns. Simply adding a row for a book with EventType=5 is not enough for it to be counted. The data in these other columns has to be valid. ExtraData is a BLOB and is a pain to decode. It's probably a serialized class, but I don't have access to the class. And what the CheckSum is calculated on, I don't know. It could just be ExtraData, or it could be the rest of the row. I have a couple of thoughts for experiments that I will try, but I don't hold out much hope of success.
Bummer!!

My Touch went nuts again.... here I go to mark my 200 read books as finished!
Gallips is offline   Reply With Quote