Register Guidelines E-Books Search Today's Posts Mark Forums Read

Go Back   MobileRead Forums > E-Book Readers > Amazon Kindle > Kindle Developer's Corner

Notices

Reply
 
Thread Tools Search this Thread
Old 01-20-2020, 10:13 AM   #16
dhdurgee
Fanatic
dhdurgee ought to be getting tired of karma fortunes by now.dhdurgee ought to be getting tired of karma fortunes by now.dhdurgee ought to be getting tired of karma fortunes by now.dhdurgee ought to be getting tired of karma fortunes by now.dhdurgee ought to be getting tired of karma fortunes by now.dhdurgee ought to be getting tired of karma fortunes by now.dhdurgee ought to be getting tired of karma fortunes by now.dhdurgee ought to be getting tired of karma fortunes by now.dhdurgee ought to be getting tired of karma fortunes by now.dhdurgee ought to be getting tired of karma fortunes by now.dhdurgee ought to be getting tired of karma fortunes by now.
 
Posts: 516
Karma: 1185426
Join Date: Jun 2010
Device: K3W, PW4
Quote:
Originally Posted by ilovejedd View Post
P.S. It's trivially easy to rebuild collections via Librarian Sync. I scrapped my current collections to see how the folder method works. Afterwards, just ran the two JSON-based methods to get it back to the desired state.

2245 Items
  1. Rebuild collections (from folders): 208 sec -> I think this created 600+ collections
  2. Delete all collections: 64 sec
  3. Rebuild collections (from calibre plugin): 40 sec -> 21 collections based on tags/custom columns
  4. Update collections (librarian): 54 sec -> 34 collections mostly based on author names (favorites)

As an aside, I thought I only had half the number of books on this Kindle. No wonder full library text search is slow.
Does your folder structure involve nesting? How was that rendered into collections?

Do you have books on the kindle that didn't come from Calibre? Did using the calibre plugin include them in any collections?

Dave
dhdurgee is offline   Reply With Quote
Old 01-20-2020, 02:31 PM   #17
ilovejedd
hopeless n00b
ilovejedd ought to be getting tired of karma fortunes by now.ilovejedd ought to be getting tired of karma fortunes by now.ilovejedd ought to be getting tired of karma fortunes by now.ilovejedd ought to be getting tired of karma fortunes by now.ilovejedd ought to be getting tired of karma fortunes by now.ilovejedd ought to be getting tired of karma fortunes by now.ilovejedd ought to be getting tired of karma fortunes by now.ilovejedd ought to be getting tired of karma fortunes by now.ilovejedd ought to be getting tired of karma fortunes by now.ilovejedd ought to be getting tired of karma fortunes by now.ilovejedd ought to be getting tired of karma fortunes by now.
 
ilovejedd's Avatar
 
Posts: 4,534
Karma: 13300000
Join Date: Jan 2009
Location: in the middle of nowhere
Device: PW4, PW3, Libra H2O, iPad 9.7, iPad 10.5, iPad 12.9
Quote:
Originally Posted by dhdurgee View Post
Does your folder structure involve nesting? How was that rendered into collections?
As mentioned, each full directory path becomes the collection name. See previously posted examples:
https://www.mobileread.com/forums/sh...9&postcount=14


Quote:
Originally Posted by dhdurgee View Post
Do you have books on the kindle that didn't come from Calibre?
Yes.

Quote:
Originally Posted by dhdurgee View Post
Did using the calibre plugin include them in any collections?
No. Calibre assigns books to collection based on identifier.

For example:
Spoiler:
Code:
/system/collections.json

{
  "Romance@en_US": {
    "items": [
      "#B01M18K9UM^EBOK",
      "#B009LM4E9G^EBOK",
      "#B01LX09O44^EBOK",
      "#B01M1KAHIH^EBOK",
      "#B01M0WYDYS^EBOK",
      "#B01M0L4H1H^EBOK"
    ],
    "lastAccess": 1554780019
  },
  "Romance: Contemporary@en_US": {
    "items": [
      "#B01M18K9UM^EBOK",
      "#B01M0L4H1H^EBOK"
    ],
    "lastAccess": 1554780019
  },
  "Romance: Historical@en_US": {
    "items": [
      "#B01LX09O44^EBOK",
      "#B01M1KAHIH^EBOK",
      "#B01M0WYDYS^EBOK"
    ],
    "lastAccess": 1554780019
  }
}

As my non-Calibre ebooks were added to the Kindle after the calibre plugin JSON was generated, Calibre wouldn't know the identifiers for these newly added books and thus, they wouldn't be in any Calibre collections.

I haven't had time to clean up metadata for my books for the past 4 months or so. It's been a long while since I last used the Calibre Kindle Collections plugin and I've forgotten if it's possible to create collections for books that are on-device only.

Note:
Iirc, if the same collection name exists in both the library JSON (/extensions/collections.json) and calibre plugin JSON (/system/collections.json), Librarian Sync will delete the previous collection and replace it with the contents of the last one that you run via Update collections. The Rebuild option deletes all previous collections every time.

For example if I have the following librarian format JSON and run "Update collections (librarian)", it will delete the Romance collection above and replace it with the contents of all books with romance in its path.
Spoiler:
Code:
/extensions/collections.json

{
    "re:Romance": ["Romance"]
}

Matches:
/Catalog - Romance.azw3
/Romance/JD Robb/In Death/[01] Naked in Death.azw3
/Romance/Nora Roberts/Northern Lights.azw3


Seriously, the best way to learn is to just try it. I went through multiple trial and error before finding a solution that worked for me.
ilovejedd is offline   Reply With Quote
Advert
Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Kindle cloud collections management ehani Amazon Kindle 2 01-08-2017 12:52 PM
Kindle PW3, Collections Cloud Sync Error Question mehetabelo Amazon Kindle 12 02-22-2016 04:53 PM
Cloud Collections 101 (K4 or older -> Cloud Collections world) badgoodDeb Amazon Kindle 3 11-05-2014 09:40 PM
Kindle for Android and Cloud Collections nynaevelan Amazon Kindle 8 01-29-2014 09:16 PM


All times are GMT -4. The time now is 02:29 PM.


MobileRead.com is a privately owned, operated and funded community.