Export Notes from Bookeen Cybook Odyssey

Abstract

In this page I describe a Python script to export notes and highlights from Bookeen Cybook Odyssey eReaders. The script is written in Python 2.x and it works under Linux, Mac OS X and Windows.

Features

With the current version (v. 1.03, 2014-12-28) of export_Odyssey_notes.py, you can:

Download

Download export_Odyssey_notes.py.

You need Python version 2.x and module python-lxml installed on your system to run export_Odyssey_notes.

Usage

First, copy the file ebook.epub.annot (corresponding to ebook.epub) from your Odyssey device in the same directory where you downloaded the export script. You can find such a file in the Digital Editions/Annotations/ directory of the USB volume that pops up when you connect your Odyssey to your PC via the USB cable.

Then, open a terminal, go to the directory mentioned above, and issue the command:

$ python export_Odyssey_notes.py -h

to get the list of available options:

$ python export_Odyssey_notes.py [ARGUMENTS]

Arguments:
 -h, --help          : print this usage message and exit
 -f, --file <file>   : <file> is the path to .annot file
 -c, --csv           : output CSV values, instead of human-readable strings
 -o, --output <file> : write output to <file>

Exit codes:

 0 = no error
 1 = invalid argument(s) error
 2 = specified file not found
 4 = provided file is not a valid .annot file
 8 = output file cannot be written

Examples:

 1. Print this usage message
    $ python export_Odyssey_notes.py -h

 2. Print annotations and highlit passages in human-readable form
    $ python export_Odyssey_notes.py -f ebook.epub.annot

 3. As above, but output to output.txt
    $ python export_Odyssey_notes.py -f ebook.epub.annot -o output.txt

 4. As above, but output in CSV form
    $ python export_Odyssey_notes.py -c -f ebook.epub.annot

 5. As above, but output to output.csv
    $ python export_Odyssey_notes.py -c -f ebook.epub.annot -o output.csv

Notes

Support and Contribution

The current version runs under Python 2, and it has been tested under Linux (Debian, Fedora) and Windows (XP, 7). Unfortunately, since I do not have any financial support for the project, I cannot offer support for all the possibile values of the tuple (OS, Python version, console encoding). Therefore, only problems running export_Odyssey_notes in a Linux environment will receive full priority.

If you want to contribute some code or you have suggestions, please let me know by sending an email containing the string "export_Odyssey_notes" in the subject. Thanks!

Acknowledgments

Many thanks to Daniel Landau that provided a patch to fix a problem with parsing the dc:date (2014-12-28).

Links