View Single Post
Old 08-03-2014, 04:16 AM   #4
chaley
Grand Sorcerer
chaley ought to be getting tired of karma fortunes by now.chaley ought to be getting tired of karma fortunes by now.chaley ought to be getting tired of karma fortunes by now.chaley ought to be getting tired of karma fortunes by now.chaley ought to be getting tired of karma fortunes by now.chaley ought to be getting tired of karma fortunes by now.chaley ought to be getting tired of karma fortunes by now.chaley ought to be getting tired of karma fortunes by now.chaley ought to be getting tired of karma fortunes by now.chaley ought to be getting tired of karma fortunes by now.chaley ought to be getting tired of karma fortunes by now.
 
Posts: 12,449
Karma: 8012886
Join Date: Jan 2010
Location: Notts, England
Device: Kobo Libra 2
Am I correct in assuming that the "vault" library contains different books from your "main" library? Specifically, a book on the device will match a book in only one of the two libraries?

If so, I think I know what happened. The first sync after setting the lookup names is special, intended to force a copy of the calibre values to CC's field. Subsequent syncs assume that this process has already happened. In your case, the "first sync" was with the main library. The "vault" library was a second sync, so calibre assumed that you had intentionally changed all matched books to empty when in fact for those books calibre's data had never been copied to CC.

A general fix for this is going to require a great deal of thought. It isn't a problem with the one-way sync option, but is instead a general problem when multiple physical libraries are being used. Each library should separately do the "first sync" processing. Also, it isn't at all clear what should happen if the same book is in more than one library.

The above notwithstanding, there is a workaround that should let you get past this problem. The steps are:
  1. Set the lookup names in CC.
  2. Make a copy of the metadata.db file for the main library (just for safety).
  3. Start calibre and open the main library.
  4. Connect CC as a wireless device and let it sync. Disconnect.
  5. Close calibre. Make a copy of the metadata.db file in the vault library, again just for safety.
  6. In CC, go to settings and "change" one of the lookup keys. Just open the dialog and tap OK. Don't actually change the value.
  7. Start calibre and switch to the vault library.
  8. Connect CC as a wireless device, let it sync, and disconnect.
If you have more libraries then repeat the last 4 steps for each library.

If things go wrong again (I don't think they will but ...), restore the saved metadata.db files to put your library back into the state you want.
chaley is offline   Reply With Quote