Quote:
Also you have in passing mentioned another issue I hadn't considered at all - multiple Goodreads user accounts with a single Calibre usage. So if a Calibre user of this plugin has multiple accounts, choosing the Goodreads account must be part of the action. And as each user could need different "actions" if we are synchronising data to Calibre (e.g. different values in a custom column) there needs to be per account customisation of those.
|
I had assumed that any preferences for the plugin, such as userid for GoodReads, would be stored locally, and not in the calibre database. At least in my case (though I can see other's sharing calibre on a single PC), each user has their own calibre install. We just happen to use the same database.
Quote:
One "problem" I see is coming up with a list of options as to how people would want to flag those books in Calibre. Some people would use a tag, others would use a custom column like you have, there may be other ways I haven't thought of. It's almost like you want a mini rules engine for each shelf in terms of if book on this shelf, add "xxx" tag to book in Calibre, if book on this shelf, put "yyy" in the "zzz" custom column etc.
|
All points which have so far kept me from "releasing" my script. I'm not opposed to sharing, but it's hardly shrink wrap software. It's got many hardcoded settings, such as the calibre custom table name, and users and such.
My particular use case probably isn't all too common I would think. I would think the most common use case would be to simply sync a custom read column with GoodReads. But then, it's just as easy to mark it as read per your normal calibre workflow, and then use the plugin you're creating to "export" that to GoodReads. In my case, I had need to obtain "read" data for others. If it was just myself, a custom column would have been adequate.
Quote:
Yeah that was always going to be an issue and not an easy one to solve - even if we had a Goodreads metadata download plugin which isn't likely. I'm going to keep the plugin simple (initially at least) and focus only on ISBN. If there is a mismatch, I will find a way to give as much information to the user as possible about it and leave it to them to resolve the issue (such as updating the ISBN in Calibre then trying again).
|
So far, I've found going from calibre to GoodReads pretty easy and reliable. I haven't done exhaustive testing, but I've yet to lookup an ISBN on GR and not find it. I would think if you ask GR for a book ID by ISBN (if available in calibre) you'll get a hit quite often. If no hit by ISBN, then a title/author should hit. The GR search engine seems to do a good job of sorting out quirky title/author mashups.
So I think in terms of the "add to shelf" plugin, it should be right quite often. As you said, when it's not, the search the internet plugin fills in the gap.
You remove a book from a shelf with:
http://www.goodreads.com/shelf/add_t...ove&book_id=id
I don't see much need for the plugin to remove a book, sending them to their shelves is probably sufficient. One could argue that not allowing removal of books is best, since it prevents mishaps with a users shelves.