View Single Post
Old 10-26-2017, 09:44 AM   #1408
davidfor
Grand Sorcerer
davidfor ought to be getting tired of karma fortunes by now.davidfor ought to be getting tired of karma fortunes by now.davidfor ought to be getting tired of karma fortunes by now.davidfor ought to be getting tired of karma fortunes by now.davidfor ought to be getting tired of karma fortunes by now.davidfor ought to be getting tired of karma fortunes by now.davidfor ought to be getting tired of karma fortunes by now.davidfor ought to be getting tired of karma fortunes by now.davidfor ought to be getting tired of karma fortunes by now.davidfor ought to be getting tired of karma fortunes by now.davidfor ought to be getting tired of karma fortunes by now.
 
Posts: 24,905
Karma: 47303824
Join Date: Jul 2011
Location: Sydney, Australia
Device: Kobo:Touch,Glo, AuraH2O, GloHD,AuraONE, ClaraHD, Libra H2O; tolinoepos
Quote:
Originally Posted by compurandom View Post
As I think I've mentioned before, I have a lot of searches that are dependent on if a book is on the device or not.

Really, for me, a book has 3 "on device" states:
1) not on device
2) recently added to device but not yet imported
3) on device and imported

I need to keep track of these because if I edit a cover, it's not interesting if the book isn't (yet) on the device, as it will be automatically transferred next time it is put there. But if it is on the device, then the cover now needs to be updated on the device eventually. Worse...if a book gets sent to the device, and I edit the cover _after_ that but before the book is imported, now I can't update the cover until next time.
When you resend a book to the device, the driver will delete any existing cover images. They will be recreated from the new copy of the book. The only problem with this is that a few covers will be cached in memory. This includes the covers for the current book. The images aren't recreated until the cached copies are removed from memory or you restart the device and they are needed again.
Quote:
Similarly, if a book was recently added to the device, next time I need to update its metadata; and when it is removed, I need to reset that flag so that if it is re-added, the metadata can be re-added.

And just to be extra confusing, occasionally a book gets sent to the main memory instead of the SD card, and the reading list plugin treats these as separate targets on the same device.
No, calibre treats them as separate targets. When you send a book, you decide where it goes. You can set a default for when you just click the send button, or you can choose each time. The reading lists work by defining which device the list is for. And you can point them at the secondary memory if you want.
Quote:
Either the reading list plugin isn't sophisticated enough to keep track of those states, or I'm not clever enough to use it to do so. There's some corner cases it can't satisfy (like keeping track of things not yet imported, and discrepancies between books actually on the device and ones it thinks are while the device is plugged in and things are being changed), but it helps even so.
Overall, you are describing roughly what I do. I don't worry so much about updating the metadata as the main time I change a book on the device is as I read it and fix problems. At that point, the metadata isn't that important to me. Occasionally, I select all recently change books and update the metadata. That will include recently read books, but I put the last read date and my rating in the comments when I update the metadata, so these do need to be updated on the device.

For my processes, I have a reading list for each device. These are set as "send on connect" and "clear after send". When I get a new book or change one, I decide which devices to put it on. Then I add it to the appropriate lists. Next time I connect the device, the books get sent and the list gets cleared.

If I was going to always update the metadata, I'd probably not have the list clear automatically. Then I could select the books in the list and do whatever else I needed to do with these books. And then manually clear the list.
davidfor is offline