View Single Post
Old 01-30-2013, 04:46 PM   #1
Stone Tablet Reader
PaleoRDR began at the beginning.
Posts: 6
Karma: 10
Join Date: Mar 2010
Location: USA
Device: iPhone
How to Identify Which Ebooks Are Outdated?

This is a longstanding problem that I've been trying to figure out a way around. Hopefully someone here knows a quick solution.

As you're aware, updating the metadata for a book does not cause the ebook to be rebuilt. This results in a synchronization issue in which the metatadata embedded in the ebook format itself (I'm primarily concerned with ePub, though it is an issue for many formats) is out of sync with that in the database.

This has become a much larger problem for me recently, as I'm now using Calibre Companion to manage my Library on my android device. The problem is that the sync process CC uses is only sensitive to the last_modified entry in the database. If I update the comments on an ebook under Calibre, but fail to rebuild the epub, I end up with a situation where the epub on my android doesn't match the metadata. Also, if I subsequently do a rebuild on the epub, the last_modified field doesn't get updated and CC won't download the revised epub on the next sync.

What I need is a way to identify which books are currently in this condition. Is there a way under Calibre to select all books in which the specified format file (epub in this case) is older than the last_modified tag? It seems like this would be a built-in function, but I haven't been able to find it.

I suppose that I could write a script to walk the directory structure of the Library and flag all books in which the timestamp on the metadata.opf file is newer than that of the epub, but that would still leave me manually negotiating the GUI to initiate rebuilds for each individual book. Alternatively, I could just initiate a complete rebuild of every book in the library on a regular basis, but this isn't really practical with 15K+ books in the Library.

Anybody got any ideas? This issue would apply to any format of ebook that can contain embedded metadata.
PaleoRDR is offline   Reply With Quote