03-23-2011, 02:36 PM | #61 |
Enthusiast
Posts: 29
Karma: 10
Join Date: Mar 2011
Device: Kindle 3 WiFi
|
Just to let you know that when you use the exclusive shelves as tags the tags themselves are not exclusive. I now have books that include both read and to-read
|
03-23-2011, 02:50 PM | #62 | |
Calibre Plugins Developer
Posts: 4,682
Karma: 2162246
Join Date: Oct 2010
Location: Australia
Device: Kindle Oasis
|
Quote:
The workflow I had in mind to handle the scenario you described was to not actually use the shelves as tags feature for that purpose. Instead the "sync from shelves" feature was really designed to ensure your Calibre tags were kept in sync with a shelf for where the tags are expecting to be changed. So if you want to use tags in Calibre to represent "ToRead" versus "Read", then you would setup sync action rule for your "read" shelf in Goodreads to "Add tag of Read" and "Remove tag of ToRead". Using shelves as tags is really targeted at shelves where you will not be changing the values of them, like a genre. And in the hopefully low likelihood where you do change the value, it is your responsibility to remove any old tagged value from Calibre so it will only have your new tag. |
|
Advert | |
|
03-23-2011, 06:06 PM | #63 | |
Series Addict
Posts: 6,180
Karma: 167189477
Join Date: Dec 2010
Location: Florida, USA
Device: Kindle Paperwhite (2nd Gen)
|
Quote:
In fact, I just tried the book I was working with last night, and that now works too! |
|
03-26-2011, 12:45 AM | #64 |
Member
Posts: 18
Karma: 10
Join Date: Feb 2011
Device: Nook
|
I'm unable to install the version linked in the thread, getting the following error:
calibre, version 0.7.52 ERROR: Unhandled exception: <b>ZipImportError</b>:bad local file header in C:\Program Files (x86)\Calibre2\plugins\goodreads_sync_plugin.zip Traceback (most recent call last): File "site-packages\calibre\gui2\preferences\plugins.py", line 285, in add_plugin File "site-packages\calibre\gui2\preferences\plugins.py", line 355, in check_for_add_to_toolbars File "<string>", line 72, in load_actual_plugin File "<string>", line 53, in get_base_module ZipImportError: bad local file header in C:\Program Files (x86)\Calibre2\plugins\goodreads_sync_plugin.zip |
03-26-2011, 06:50 AM | #65 |
Calibre Plugins Developer
Posts: 4,682
Karma: 2162246
Join Date: Oct 2010
Location: Australia
Device: Kindle Oasis
|
Try downloading and installing it again, looks like a corrupted download or something has interfered with the zip file. Did you download it manually or using Plugin Updater? Do you have anti-virus running that might have touched the zip file in some way?
|
Advert | |
|
03-27-2011, 05:17 PM | #66 |
Groupie
Posts: 156
Karma: 354
Join Date: Mar 2009
Location: US
Device: iPad mini, iPad 2, Kindle 3
|
Just started to use this very welcome plug-in and to figure out what it can do, and I have a question (I have to admit first that I've skimmed through all the comments but haven't read them in detail): can I select individual books in Calibre and sync them "upwards" into Goodreads; i.e., I have a number of books in Calibre that already have heir "date read" column filled out in Calibre and I'd like to populate the Date Read field for the linked books in Goodreads with those values - can I do that with this plug-in?
If not, is something like that a possibility for the future (assuming anyone other than me is interested)? This is not an entire shelf - or tag-based sync, but a book-by-book "upload" of column information from Calibre to a mapped field for the linked book in GR (kind of like changing the shelf for the book, but instead changing the value for a field). Thanks! |
03-27-2011, 05:53 PM | #67 |
Calibre Plugins Developer
Posts: 4,682
Karma: 2162246
Join Date: Oct 2010
Location: Australia
Device: Kindle Oasis
|
Hi jesscat,
It all comes down to the Goodreads API in terms of what options it has and how we should fit it into the plugin. I'm not a Goodreads expert so hopefully you or someone else can help me out but my understanding from the API perspective at least is that specifying the date read is associated with a user's review for a book. I've mentioned reviews a few times in this thread, and I'm still trying to wrap my head around exactly how they are supposed to be used from an API perspective. For instance there is also an API call to create a review: http://www.goodreads.com/api#review.create You can see it takes information like rating, date read, some review text, the goodreads id of the book (we have that from linking) and an "optional" shelf name. What isn't clear to me is why it would take a shelf name - what relevance does the shelf you have it on have to submitting a book review? My bigger question is what happens if you already have a review for that book? Can you "review" a book multiple times? If so what happens - does the latest review just replace earlier ones? I noticed that when you add a book to one of your shelves for the first time, Goodreads creates a "review" for you behind the scenes (it just doesn't have any information on it, until you fill it in). We make use of that "dummy" review to identify what shelves a book is on, for use with those "Download shelves as tags" type features in the plugin. Now what happens if we create a new review for a book using that API call above - does it replace the "dummy" review? There is also an API call for updating a review: http://www.goodreads.com/api#review.update It takes similar information to creating a review, except you need to know the review id AND what shelf that book is on. That is doable, it just means an extra API call to Goodreads each time to ask "what review do you have for this book", and then using that information to do an update. So you can see I have a bunch of questions around it, which no doubt the Goodreads forums might be able to answer if none here know. I haven't got time to look into it myself at the moment, but if someone else out there wants to ask the questions to give me the information then go for it The other aspect that would need to be answered would be the whole UI for this. For instance as stated above you are creating/updating reviews. So in your case you want to send the read date from a custom column. Presumably other users may want to send their Calibre ratings. And (maybe) someone else actually wants to do a genuine review so wants to specify some text of their own notes about what they thought of the book or whatever. So all of that needs to be considered as well in terms of how to build this into the menus (I think it would sit within Linked book submenu), and then what dialog/options a user has... More decisions, more questions... |
03-27-2011, 06:18 PM | #68 |
Groupie
Posts: 156
Karma: 354
Join Date: Mar 2009
Location: US
Device: iPad mini, iPad 2, Kindle 3
|
I have to admit I know nothing about the API, but yes, the date read is one of the things associated with the Goodreads "review." In fact, most of the editable features relating to a book in your list of GR books are part of the review: the shelf, the rating (i.e., stars), the date read, and the review itself; those all come up in the "Edit Review" dialogue.
If I want to add an actual written review, I'm likely to go to the GR site, not to use Calibre; there's no real reason for me to write reviews for Calibre, since it is only for my own use. But something I do very frequently (just to give you some idea of how at least one person uses Goodreads!), in fact every time I finish a book, is to change it from "to-read" to "read" and at the same time fill in the "Date Read" column (both custom Calibre columns) (if I were a big user of ratings, I might at the same time also fill in the ratings field). Since I also use GR, I am in the habit of making those same changes in GR at the same time, to the "read" shelf and the Date Read field, when I finish a book. In my ideal world, the plug-in would permit me to make these changes in Calibre and then export them to GR, so I don't have to replicate them in GR myself. As it is, the only thing I can change with the plug-in is the shelf; since I can't change the date-read field (or ratings, though that's not so important to me), I have to go to GR anyway, so the plug-in doesn't save me anything in this particular situation (it is still very helpful when I add a book, though!). I guess I would envision, at least off the top of my head, a UI that would permit specifying something very like the mapping the plug-in already has, but in reverse, and that can be applied on an individual book basis. But again, since I have no familiarity with the API, I may have no idea what I'm talking about. I suppose an alternative - less appealing to me since I prefer to work in Calibre, but one that still would permit a single entry of information when finishing a book - would be to enter the info in GR and then sync into Calibre - but as best I can tell, the sync now is only on a shelf-by-shelf basis, not a book-by-book basis, is that right? Anyway, I'm not sure I'm much help, but thanks for continuing to consider all this! |
03-28-2011, 12:18 PM | #69 |
eBook Junkie
Posts: 1,526
Karma: 1464018
Join Date: May 2010
Location: USA
Device: Kindle Fire 2020, Kindle PW2
|
Hi Kiwidude:
I am new to this plugin and fairly new to using Goodreads, although I've had the account for a while. I have a couple of questions, please bare with me if they have been covered, I read through the topic but I might have missed it: 1. Is it possible to get the plugin to ignore books from the Goodreads site, I have some DTB books there that are not in my Calibre library and I would like to keep them there? 2. Is it possible to upload from Goodreads into Calibre based on the selected books and not the entire shelf? Nyn |
03-28-2011, 12:32 PM | #70 |
Calibre Plugins Developer
Posts: 4,682
Karma: 2162246
Join Date: Oct 2010
Location: Australia
Device: Kindle Oasis
|
In terms of ignoring books in Goodreads, I would think you have two options.
The first is to put them on a custom shelf that you don't ever sync with. The second is to just not link them. When you sync with a shelf, the plugin will only sync books you have linked. When you click on the sync button with some of the books on your shelf not yet linked (like your DTB books) you will get a warning popup, but it is just that, just a warning. You can go ahead and perform the sync and your actions will get applied to all the other (linked) books for that Goodreads shelf. |
03-30-2011, 10:41 AM | #71 |
eBook Junkie
Posts: 1,526
Karma: 1464018
Join Date: May 2010
Location: USA
Device: Kindle Fire 2020, Kindle PW2
|
Hi Kiwidude:
I think I fixed that problem and am now able to ignore all the other books on my acct that are not in Calibre. Now I was wondering is there a way to use the plugin to sync up my ratings to the books? I really would not want to have to rate them individually? Also, how are you all using goodreads, what is the best practice to sync back and forth between Calibre and goodreads?? |
03-30-2011, 10:47 AM | #72 |
Calibre Plugins Developer
Posts: 4,682
Karma: 2162246
Join Date: Oct 2010
Location: Australia
Device: Kindle Oasis
|
Have a read of the couple of posts above yours (#66-68) where Jesscat and I discuss potential syncing of the date read column - it relies on "reviews" which also are where ratings come in. So in direct answer to your question the answer is no you can't do it today, but at some point I will take a look at it.
I too would be interested to hear about the workflows of how people are using this plugin. |
03-30-2011, 07:54 PM | #73 |
Groupie
Posts: 156
Karma: 354
Join Date: Mar 2009
Location: US
Device: iPad mini, iPad 2, Kindle 3
|
Kiwi, I know you're not a huge GR user, and you haven't gotten too many responses about how people use GR, so just to give you more idea of my workflow with GR and Calibre (keeping in mind that although I am a heavy user of GR, I am of course just one user)...
When I get a new book, I add it to both. I had been in the habit of adding the book separately to each, as part of my workflow pattern for a new book - I kind of do it all at once; dl the book, load it into Calibre, open the GR page for the book, edit metadata (in Calibre) for the book to make sure all the fields are filled in the way I like them to be and conform to my practices, in GR click "add to my books" to add the appropriate version of the book, then immediately click "Edit my review" to add a few shelves (new books go onto the "to-read" shelf out of the three "mandatory" shelves (to-read, read, currently-reading), but I also put them into a few other of my own shelves depending on the book - e.g., fantasy. I don't have hundreds of shelves as many GR users do - I don't use shelves the way I do Calibre tags; I use Calibre for that! - but I do have 5-10 broad categories). All this is a bit of a pain. With the plug-in, as long as I have the correct ISBN, I can streamline - just add the book to Calibre, make sure the metadata is correct, then link the book to GR and add it to the correct shelves. Though it would be very helpful to be able to add to more than one shelf at a time - it is a bit laborious to have to do them one by one (I always have at least two - to-read and at least one other). The next time I use GR is when I finish a book, and I described my workflow in an earlier comment. That's when I normally would, in both Calibre and GR, change from "to-read" to "read," fill in the "date read" field, and occasionally add a rating (unlike some, I do this only once in a while). I might add or change a shelf (after reading I might decide different tags apply, or I might add a book to the "favorites" shelf or the "DNF" shelf). Ideally, just as when adding a book, I'd be able to do this from Calibre and then sync the info for that individual book "upwards" into GR. I do occasionally write reviews in GR, but since I consider those for "sharing" purposes I don't save them in Calibre; I do them through the GR interface. I suppose others might like to duplicate reviews in both places, though. I'd be interested to know whether others use GR and Calibre in a similar fashion as me and so would like the plug-in to serve similar purposes. The plug-in is certainly useful as a tool to for an initial sync of GR and Calibre, to get entire shelves full of books from GR into Calibre - but once that's done (or for people like me who already have their libraries in both places), what I'd find more useful (would in fact be abjectly grateful for! is a tool to help make it easier to keep the two synchronized on an ongoing basis, with less duplication of effort. |
04-03-2011, 12:16 PM | #74 |
Calibre Plugins Developer
Posts: 4,682
Karma: 2162246
Join Date: Oct 2010
Location: Australia
Device: Kindle Oasis
|
v1.4 Released
Changes in v1.4:
|
04-04-2011, 02:49 PM | #75 |
Enthusiast
Posts: 29
Karma: 10
Join Date: Mar 2011
Device: Kindle 3 WiFi
|
After updating all of your plugins I get several errors using Goodreads Sync such as:
When linking a book calibre, version 0.7.53 ERROR: Unhandled exception: <b>NameError</b>:global name 'update_calibre_isbn_if_required' is not defined Traceback (most recent call last): File "calibre_plugins.goodreads_sync.action", line 260, in search_goodreads_to_link_book File "calibre_plugins.goodreads_sync.action", line 320, in search_to_link_books NameError: global name 'update_calibre_isbn_if_required' is not defined When refreshing list of shelves calibre, version 0.7.53 ERROR: Unhandled exception: <b>AttributeError</b>:'ConfigWidget' object has no attribute 'grhttp' Traceback (most recent call last): File "calibre_plugins.goodreads_sync.config", line 1031, in refresh_shelves_list AttributeError: 'ConfigWidget' object has no attribute 'grhttp' |
Tags |
calibre, goodreads |
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
[GUI Plugin] Search the Internet | kiwidude | Plugins | 434 | 09-30-2024 04:04 AM |
[GUI Plugin] Clipboard Search | kiwidude | Plugins | 29 | 04-02-2024 11:05 PM |
[GUI Plugin] Open With | kiwidude | Plugins | 403 | 04-01-2024 09:39 AM |
[GUI Plugin] Quick Preferences | kiwidude | Plugins | 62 | 03-17-2024 12:47 AM |
[GUI Plugin] Book Sync **Deprecated** | kiwidude | Plugins | 111 | 06-07-2011 08:47 PM |