View Single Post
Old 08-05-2014, 12:00 PM   #1
WS64
WS64 ought to be getting tired of karma fortunes by now.WS64 ought to be getting tired of karma fortunes by now.WS64 ought to be getting tired of karma fortunes by now.WS64 ought to be getting tired of karma fortunes by now.WS64 ought to be getting tired of karma fortunes by now.WS64 ought to be getting tired of karma fortunes by now.WS64 ought to be getting tired of karma fortunes by now.WS64 ought to be getting tired of karma fortunes by now.WS64 ought to be getting tired of karma fortunes by now.WS64 ought to be getting tired of karma fortunes by now.WS64 ought to be getting tired of karma fortunes by now.
 
WS64's Avatar
 
Posts: 661
Karma: 506380
Join Date: Aug 2010
Location: Germany
Device: Kobo Aura / PB Lux 2 / Bookeen Frontlight / Kobo Mini / Nook Color
Koreader: How to get metadata to device?

I'm working right now on an enhancement to add a search function to Koreader that allows a user to search for any text in any of Calibre's columns and then select a book from the list of results and open the book.
The first part works already, I can search for books and it automatically opens the first book it finds, I "just" have to work on the second part, to show the search results. I will work in the next days on that.

But there is still the question, how to get the metadata on the device?
I can see a few options for that.
I could read the data from the build-in reader. I will not follow this way since it has a few disadvantages: First, different databases for Kobo and Kindle, and none for Android devices. Second, hidden directories. I have all my books in one of those to make sure Nickel does not see my books, so my Kobo database does not have any metadata.

Another way is to use Calibre.
I guess all of us use Calibre, but still there are different ways how we put our books to the device. Some will send the files to Kobo, some to Kindle, and I choose a third way by connecting my library to a folder and load all the files into this folder and copy them via robocopy to my Kobos.
One way to use Calibre is to use the file .metadata.calibre that Calibre puts into the folder with your books. But this file is pretty huge and difficult to read, that's why I right now do not use this one neither.

What I use is Calibre's export catalog to CSV function. I upload this CSV file to my reader and read all the necessary info out of that one.
In my opinion necessary are: author, title, path to book. Once I have those it should not be a problem at all to add nearly every other of Calibre's columns, actually in my solution so far you can already use any column.

But my question, is there a better way to get the metadata to the device?
Something that is easy to handle for the end user?
There are some problems involved in this, e.g. the path to the book. Right now I have created a column in Calibre that repeats the setting from "Send to device" ({author_sort[0]}/{authors}/{title}), but since the default setting is to also change the characters to English equivalents this becomes {author_sort[0]:transliterate()}/{authors:transliterate()}/{title:transliterate()}, and if you have more complicated settings the string here will also get more complicated. Another problem is that this way I will not find out which format the book has (e.g. epub or pdf). Right now I don't care, I just check if I find either an epub or a pdf, I probably have to enhance this by all other possible file types.

Any suggestions?
WS64 is offline   Reply With Quote