View Single Post
Old 02-19-2021, 12:47 AM   #12
Bradles
Zealot
Bradles turned on, tuned in, and dropped out.Bradles turned on, tuned in, and dropped out.Bradles turned on, tuned in, and dropped out.Bradles turned on, tuned in, and dropped out.Bradles turned on, tuned in, and dropped out.Bradles turned on, tuned in, and dropped out.Bradles turned on, tuned in, and dropped out.Bradles turned on, tuned in, and dropped out.Bradles turned on, tuned in, and dropped out.Bradles turned on, tuned in, and dropped out.Bradles turned on, tuned in, and dropped out.
 
Bradles's Avatar
 
Posts: 112
Karma: 35586
Join Date: Nov 2020
Location: Perth, Western Australia
Device: Apple Books & Kobo Libra H20
Yep, got your gist now.

LT has concepts of "work", which is the generic published work (e.g. Little Women by Louisa May Alcott) and "book", which is the specific instance of the work as it appears in users' catalogs (e.g. Little Women by Louisa May Alcott, ebook, isbn, cover, my review, my rating, etc.)

I'm using the "JSON Books API" to return the list of users books. LT users are very protective of their book metadata, and I suspect any metadata updates should only come from their book metadata. Unfortunately, this API has no way to return a single book based on any identifier.

The "JSON Works API" returns a work based on an ISBN search, but can only be used once per second and up to 1000 times per day. This would be okay for editing metadata one at a time but not in bulk.

For the ID linking, my quick test worked great:

Code:
https://www.librarything.com/work/book/{id}
Simple as that. Would there be any concerns over updating that identifier outside of a metadata plugin? e.g. (cribbing from your Smashwords plugin):

Code:
mi = Metadata(...)
mi.set_identifier('librarything', librarything_id)
self.lt_id = librarything_id
Bradles is offline