View Single Post
Old 11-29-2015, 07:47 PM   #6
kwokhin
Enthusiast
kwokhin began at the beginning.
 
Posts: 46
Karma: 10
Join Date: May 2015
Device: Kobo Glo HD
Quote:
Originally Posted by DNSB View Post
I took a quick look at the method you were using and with some minor changes, it worked for me.

work.cmd (same as work.bat, the %~dp0 just points to directory file is run from)

Code:
%~dp0sqlite3.exe KoboReader.sqlite <extr_annotations.txt
extr_annotations.txt (modified to insert \r\n instead of rn for new line and use annotations.txt instead of annotations.doc)

Code:
.output annotations.txt
.separator \r\n
 SELECT VolumeID, Text, Annotation
 FROM Bookmark;
.exit

I copied sqlite3.exe and the sqlite database from my H2O into the directory and after running, I had the annotations.txt file.

OTOH, my personal preference for extracting annotations which was also somewheres on Mobileread a while back used a single batch file with a rather long command line to do the extract from the database on the Kobo itself, doing some cleanup on the results and leaving them in the same directory as the .cmd file in a file called annotations.html name. Basically, just need extr_annotations.cmd and the sqlite3 executable in a directory and the Kobo ereader connected (for me, the internal storage mounts as drive E: so if yours mounts in a different spot, you'll need to change that ( E:\.kobo to whatever:\.kobo ). The pause at the end of the batch file just keeps the DOS box open so I can see any error messages.

extr_annotations.cmd

Code:
%~dp0SQLite3.exe "E:\.kobo\KoboReader.sqlite" "select (case when datecreated=maxdate then ('<b><i><u>' || replace(volumeid,'file:///mnt/onboard/','') || '</u></i></b><br />') else '' end), max(datecreated, coalesce(datemodified, 0)), text, coalesce(annotation, '') || '<br />' from ( select *, (select max(datecreated) from bookmark where volumeid=bm.volumeid and (text<>'' or annotation<>'')) maxdate from bookmark bm where (text<>'' or annotation<>'') order by maxdate desc, volumeid, datecreated desc )" > "%~dp0annotations.html"

pause
Update:
I shut down my device and turn it on. I followed the steps again and all my notes are exported! Thank you But how do I remove all the |2015-11-29T15:10:28Z| at the beginning of my notes?
================================================== =====
THANK YOU SO MUCH DAVID! The second method works! On my Kobo, I have 202 notes but but I only have 4 notes exported. How so? I am sure I have the latest KoboReader.sqlite as the last modified time is yesterday.
Thanks in advance again!

Last edited by kwokhin; 11-29-2015 at 08:32 PM.
kwokhin is offline   Reply With Quote