Register Guidelines E-Books Today's Posts Search

Go Back   MobileRead Forums > E-Book Readers > Kobo Reader

Notices

Reply
 
Thread Tools Search this Thread
Old 08-21-2010, 08:36 PM   #1
farrioth
Enthusiast
farrioth began at the beginning.
 
Posts: 36
Karma: 12
Join Date: Aug 2010
Device: Kobo eReader
How to Remove Books from the I'm Reading List without Scrolling to the End

While playing around with my new Kobo, I came across the common problem of having no option to remove a book from the 'I'm Reading' list without scrolling to the last page of the last chapter.

So I worked out my own solution. It isn't that time-consuming, but might be a bit complex as it involves editing the SQLite database.

The steps are as follows:

1. Install sqlitebrowser or another sqlite editor.

I'm using Crunchbang, but any system that can run sqlitebrowser should work. On Ubuntu (and probably Debian) based systems, you can install sqlitebrowser with 'apt-get install sqlitebrowser'.

2. Back up your Kobo's database.

If your Kobo is mounted on /media/KOBOeReader, then the database will be at /media/KOBOeReader/.kobo/KoboReader.sqlite.

3. Open the Kobo's database with sqlitebrowser.

4. Go to the 'Browse Data' tab and select the table 'content'.

This may take a while to load.

You will find a record for each chapter of each book, followed by one for the book as a whole. This last entry is the one that needs editing. The fields 'BookID' and 'BookTitle' should be empty (unlike the chapters), and the book's title should be in the 'Title' field. You may use the find window to search for this record.

5. Once you have found the book's entry, set it to be unread.

Set 'FirstTimeReading' to 'true' and 'ReadStatus' to '0'.

If you want to find all books (and documents) that are in the reading list, search for 'ReadStatus' = '1'.

6. Save the database.

7. Unmount and disconnect your Kobo.

After the Kobo has processed new content, the books should no longer appear in the reading list. If something goes wrong, restore the backup of your database.

I take no responsibility for corrupting your Kobo's database, but please let me know if anything doesn't work with these instructions. I have tested them with version 1.4 of the firmware only.
farrioth is offline   Reply With Quote
Old 08-21-2010, 10:00 PM   #2
wrenn1
Addict
wrenn1 can load mercury with a pitchforkwrenn1 can load mercury with a pitchforkwrenn1 can load mercury with a pitchforkwrenn1 can load mercury with a pitchforkwrenn1 can load mercury with a pitchforkwrenn1 can load mercury with a pitchforkwrenn1 can load mercury with a pitchforkwrenn1 can load mercury with a pitchforkwrenn1 can load mercury with a pitchforkwrenn1 can load mercury with a pitchforkwrenn1 can load mercury with a pitchfork
 
Posts: 259
Karma: 48576
Join Date: Jun 2010
Device: Kobo
Or delete it from your library and re-sync
wrenn1 is offline   Reply With Quote
Advert
Old 08-21-2010, 10:21 PM   #3
farrioth
Enthusiast
farrioth began at the beginning.
 
Posts: 36
Karma: 12
Join Date: Aug 2010
Device: Kobo eReader
Quote:
Originally Posted by wrenn1 View Post
Or delete it from your library and re-sync
Not so useful if you want to keep it in your library (just not on your reading list), or if it's one of the internal books that has no file.
farrioth is offline   Reply With Quote
Old 08-22-2010, 01:12 AM   #4
zoran
himself
zoran can tame squirrels without the assistance of a chair or a whip.zoran can tame squirrels without the assistance of a chair or a whip.zoran can tame squirrels without the assistance of a chair or a whip.zoran can tame squirrels without the assistance of a chair or a whip.zoran can tame squirrels without the assistance of a chair or a whip.zoran can tame squirrels without the assistance of a chair or a whip.zoran can tame squirrels without the assistance of a chair or a whip.zoran can tame squirrels without the assistance of a chair or a whip.zoran can tame squirrels without the assistance of a chair or a whip.zoran can tame squirrels without the assistance of a chair or a whip.zoran can tame squirrels without the assistance of a chair or a whip.
 
Posts: 576
Karma: 11226
Join Date: May 2010
Device: Kobo
Or simply using regexp 'ReadStatus'='1' and set it to <insert-whatever>?
zoran is offline   Reply With Quote
Old 08-22-2010, 01:59 AM   #5
farrioth
Enthusiast
farrioth began at the beginning.
 
Posts: 36
Karma: 12
Join Date: Aug 2010
Device: Kobo eReader
Quote:
Originally Posted by zoran View Post
Or simply using regexp 'ReadStatus'='1' and set it to <insert-whatever>?
If you're talking about using regular expressions on the database file, this would be a challenge, as the file isn't entirely human-readable. You can, however, use an SQL query, which will be something like the following:

Code:
UPDATE content
	SET ReadStatus = '0'
	SET FirstTimeReading = 'true'
	WHERE Title = 'Title of Book';
Or for all books by replacing the last line by:

Code:
WHERE ReadStatus = '1';
farrioth is offline   Reply With Quote
Advert
Old 08-22-2010, 04:42 AM   #6
tpw
Zealot
tpw has a complete set of Star Wars action figures.tpw has a complete set of Star Wars action figures.tpw has a complete set of Star Wars action figures.
 
Posts: 107
Karma: 250
Join Date: Jul 2010
Location: Brisbane, Australia
Device: Kobo, Sony PRS650
Thanks very much for this information farrioth. It'd really be great to see this little sqlite tip integrated into calibre one day.
tpw is offline   Reply With Quote
Old 08-22-2010, 04:51 AM   #7
farrioth
Enthusiast
farrioth began at the beginning.
 
Posts: 36
Karma: 12
Join Date: Aug 2010
Device: Kobo eReader
Quote:
Originally Posted by tpw View Post
Thanks very much for this information farrioth. It'd really be great to see this little sqlite tip integrated into calibre one day.
You're welcome. Indeed it would. I don't imagine it would be too challenging to write a plugin, although I have no idea what the Calibre plugin interface is like.
farrioth is offline   Reply With Quote
Old 08-22-2010, 09:32 AM   #8
Mememememe
Connoisseur
Mememememe knows the square root of minus one.Mememememe knows the square root of minus one.Mememememe knows the square root of minus one.Mememememe knows the square root of minus one.Mememememe knows the square root of minus one.Mememememe knows the square root of minus one.Mememememe knows the square root of minus one.Mememememe knows the square root of minus one.Mememememe knows the square root of minus one.Mememememe knows the square root of minus one.Mememememe knows the square root of minus one.
 
Posts: 98
Karma: 7542
Join Date: May 2010
Device: Kobo
This actually sounds like a lot more work than just going to the last chapter and flipping pages.
Mememememe is offline   Reply With Quote
Old 08-22-2010, 09:52 AM   #9
Jafo
Enthusiast
Jafo , Klaatu Barada Niktu!Jafo , Klaatu Barada Niktu!Jafo , Klaatu Barada Niktu!Jafo , Klaatu Barada Niktu!Jafo , Klaatu Barada Niktu!Jafo , Klaatu Barada Niktu!Jafo , Klaatu Barada Niktu!Jafo , Klaatu Barada Niktu!Jafo , Klaatu Barada Niktu!Jafo , Klaatu Barada Niktu!Jafo , Klaatu Barada Niktu!
 
Posts: 28
Karma: 5012
Join Date: Jul 2010
Device: Kobo (original)
Thanks for sharing farrioth. The more we share, the more we learn! I'll give it a try if for no other reason than to play with the database!
Jafo is offline   Reply With Quote
Old 08-22-2010, 10:53 AM   #10
zoran
himself
zoran can tame squirrels without the assistance of a chair or a whip.zoran can tame squirrels without the assistance of a chair or a whip.zoran can tame squirrels without the assistance of a chair or a whip.zoran can tame squirrels without the assistance of a chair or a whip.zoran can tame squirrels without the assistance of a chair or a whip.zoran can tame squirrels without the assistance of a chair or a whip.zoran can tame squirrels without the assistance of a chair or a whip.zoran can tame squirrels without the assistance of a chair or a whip.zoran can tame squirrels without the assistance of a chair or a whip.zoran can tame squirrels without the assistance of a chair or a whip.zoran can tame squirrels without the assistance of a chair or a whip.
 
Posts: 576
Karma: 11226
Join Date: May 2010
Device: Kobo
Quote:
Originally Posted by farrioth View Post
If you're talking about using regular expressions on the database file, this would be a challenge, as the file isn't entirely human-readable. You can, however, use an SQL query, which will be something like the following:

Code:
UPDATE content
	SET ReadStatus = '0'
	SET FirstTimeReading = 'true'
	WHERE Title = 'Title of Book';
Or for all books by replacing the last line by:

Code:
WHERE ReadStatus = '1';
Used sqlite eons ago. My idea would be to either handle it with
sqlite directly:

http://linux.die.net/man/1/sqlite3

or something in between:

http://www.sqlitemanager.org/

Sounds better to mount the reader and approach the file from
the home box. Frankly, have to read manual for it to speak any
further.
Another topic might be "jump to page XX".
zoran is offline   Reply With Quote
Old 08-22-2010, 08:23 PM   #11
farrioth
Enthusiast
farrioth began at the beginning.
 
Posts: 36
Karma: 12
Join Date: Aug 2010
Device: Kobo eReader
Quote:
Originally Posted by Mememememe View Post
This actually sounds like a lot more work than just going to the last chapter and flipping pages.
Well, it depends how long your chapters are...


Quote:
Originally Posted by Jafo View Post
Thanks for sharing farrioth. The more we share, the more we learn! I'll give it a try if for no other reason than to play with the database!
You're welcome. Let me know if you come across anything else interesting in the database.


Quote:
Originally Posted by zoran View Post
Used sqlite eons ago. My idea would be to either handle it with
sqlite directly
This would indeed work, but would involve writing some interface code to make it nice. Doing something in Python with pysqlite would probably be quite good, and it appears Calibre uses Python for its plugin interface too.

Quote:
Originally Posted by zoran View Post
Another topic might be "jump to page XX".
The database seems to store the current position by the paragraph and word (fields are 'ParagraphBookmarked' and 'BookmarkWordOffset'), presumably to account for the font resizing, which presents a bit of a challenge.
farrioth is offline   Reply With Quote
Old 08-23-2010, 12:56 AM   #12
zoran
himself
zoran can tame squirrels without the assistance of a chair or a whip.zoran can tame squirrels without the assistance of a chair or a whip.zoran can tame squirrels without the assistance of a chair or a whip.zoran can tame squirrels without the assistance of a chair or a whip.zoran can tame squirrels without the assistance of a chair or a whip.zoran can tame squirrels without the assistance of a chair or a whip.zoran can tame squirrels without the assistance of a chair or a whip.zoran can tame squirrels without the assistance of a chair or a whip.zoran can tame squirrels without the assistance of a chair or a whip.zoran can tame squirrels without the assistance of a chair or a whip.zoran can tame squirrels without the assistance of a chair or a whip.
 
Posts: 576
Karma: 11226
Join Date: May 2010
Device: Kobo
Quote:
Originally Posted by farrioth View Post
This would indeed work, but would involve writing some interface code to make it nice. Doing something in Python with pysqlite would probably be quite good, and it appears Calibre uses Python for its plugin interface too.
Found pysqlite port for bsd. I'm more confident for perl version, but
see none. I assume regexp should search for the whole input of the
book and pipe it as the output.

Quote:
The database seems to store the current position by the paragraph and word (fields are 'ParagraphBookmarked' and 'BookmarkWordOffset'), presumably to account for the font resizing, which presents a bit of a challenge.
You made your homework! Who said that sqlite implementation in the
next version should not be remade from the scratch?
Since the reader shows page numbers, I'm sure it could follow it and
put bookmark/pointer to it. Probably one function to both do that and
be called from "menu" to find the page in question.
zoran is offline   Reply With Quote
Old 08-23-2010, 02:12 AM   #13
farrioth
Enthusiast
farrioth began at the beginning.
 
Posts: 36
Karma: 12
Join Date: Aug 2010
Device: Kobo eReader
Quote:
Originally Posted by zoran View Post
Found pysqlite port for bsd. I'm more confident for perl version, but
see none. I assume regexp should search for the whole input of the
book and pipe it as the output.
Is this the sort of thing you need?

If you're using SQL queries, you shouldn't actually need a regular expression as such, unless you want to search for a partial title or similar.

Quote:
Originally Posted by zoran View Post
You made your homework! Who said that sqlite implementation in the
next version should not be remade from the scratch?
Since the reader shows page numbers, I'm sure it could follow it and
put bookmark/pointer to it. Probably one function to both do that and
be called from "menu" to find the page in question.
Are you talking about actually doing this device-side?
farrioth is offline   Reply With Quote
Old 08-23-2010, 12:19 PM   #14
zoran
himself
zoran can tame squirrels without the assistance of a chair or a whip.zoran can tame squirrels without the assistance of a chair or a whip.zoran can tame squirrels without the assistance of a chair or a whip.zoran can tame squirrels without the assistance of a chair or a whip.zoran can tame squirrels without the assistance of a chair or a whip.zoran can tame squirrels without the assistance of a chair or a whip.zoran can tame squirrels without the assistance of a chair or a whip.zoran can tame squirrels without the assistance of a chair or a whip.zoran can tame squirrels without the assistance of a chair or a whip.zoran can tame squirrels without the assistance of a chair or a whip.zoran can tame squirrels without the assistance of a chair or a whip.
 
Posts: 576
Karma: 11226
Join Date: May 2010
Device: Kobo
Quote:
Originally Posted by farrioth View Post
Is this the sort of thing you need?
Of course. Few more functions should be written to handle the thing.
More I read, less I want to go further. If you ask why, the answer would
be: no need for db of that kind. Simply follow directory tree, pick the
book, load the book, read the book. Bookmark could be tricky, but it
is not unsolvable.

Quote:
Are you talking about actually doing this device-side?
Yep. The only place where function like that should live on. From time
to time I ask myself why things become complicated without any
reason. People need "go-to-page" more than cover on power down.
zoran is offline   Reply With Quote
Old 08-23-2010, 05:59 PM   #15
farrioth
Enthusiast
farrioth began at the beginning.
 
Posts: 36
Karma: 12
Join Date: Aug 2010
Device: Kobo eReader
Quote:
Originally Posted by zoran View Post
Of course. Few more functions should be written to handle the thing.
More I read, less I want to go further. If you ask why, the answer would
be: no need for db of that kind. Simply follow directory tree, pick the
book, load the book, read the book. Bookmark could be tricky, but it
is not unsolvable.
One of the reasons for the existence of the database is to save parsing / loading time. Extracting metadata from a filesystem entry becomes a lengthy process, especially when you have to repeat it a few thousand times. Another issue is the table of contents. It becomes painful to extract and parse a compressed file (toc.ncx) every time you need it, and storing an uncompressed copy would seem redundant when you can store the information you need in a database.

Why implement a database as a filesystem when you can implement it as a database?

These are of course all assumptions based on what little I know about the design of the system.

Quote:
Originally Posted by zoran View Post
Yep. The only place where function like that should live on. From time
to time I ask myself why things become complicated without any
reason. People need "go-to-page" more than cover on power down.
Indeed. As I'm not a Kobo developer, however, there's little more I can do than wait until the next release.
farrioth is offline   Reply With Quote
Reply

Tags
i'm reading, kobo, sqlite


Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
how to remove Table of Contents at the end of news feed TonytheBookworm Calibre 4 09-21-2010 11:19 AM
Remove Books - Restoring Confirm to remove books Caffey Calibre 6 09-20-2010 10:23 AM
Anyone here remove books from sd card after reading? clerky96 Ectaco jetBook 5 05-31-2010 12:34 AM
How to remove a reader from Sony's list Tdew Sony Reader 5 10-20-2009 10:10 AM
Better reading experience - remove cover ksri99 Sony Reader 4 02-11-2009 05:54 PM


All times are GMT -4. The time now is 01:03 PM.


MobileRead.com is a privately owned, operated and funded community.