-
Notifications
You must be signed in to change notification settings - Fork 34
Goodreads
This plugin allows calibre to read book information from goodreads.com when you choose to download/fetch metadata. Adding this plugin can potentially increase both the success rate and quality of information retrieved for some of your books.
- Can retrieve goodreads id, title, author, series, isbn, comments, rating, publisher, publication date, tags, language and covers.
- Option to retrieve the precise rating and # votes into identifiers than can be bound to custom columns.
- Option to customise the Goodreads genre -> Calibre tag mappings. A default set of the most popular genre tag mappings is included as a starting point.
- Option to additionally search multiple editions of a book for the best set of metadata excluding audio editions (plugin will run slightly slower with this enabled, disabled by default).
- Option to retrieve all contributors to a book as an author. By default this is turned off, however Goodreads is able to provide illustrators, editors etc should you want these retrieved.
- By retrieving the Goodreads id this plugin offers improved integration with the Goodreads Sync plugin. This works both ways - once you have linked to a specific Goodreads edition then retrieving metadata will obtain it for only that edition.
- The goodreads id will also be displayed in the book details panel to be clicked on and taken directly to the website for that book.
Access the configuration dialog via either of:
- Preferences -> Metadata download -> Goodreads -> Configure selected source
- Edit Metadata -> Configure download metadata -> Goodreads -> Configure selected source
The Metadata fields to download section is common to all metadata download plugins, and allows you to exclude fields from the plugin that you do not want to overwrite from this particular source.
Goodreads can have a lot of genres associated with a book (these are derived from named shelves the book has been placed on). With this plugin as of version 1.7.1 you have two options:
- Do not filter the genres list from Goodreads, applying all of them as tags to your calibre books.
- The contents of the Goodreads Genre / Maps to Calibre Tag grid are completely ignored.
- You cannot rename or exclude any tags, whatever they are called on Goodreads is how they will appear in your library.
- Remember to increase your
Max number of tags to download
setting on the Metadata Configuration dialog
- (Default) Selectively control which Goodreads genres are of interest and what calibre tag(s) they should apply to.
- Only genres which have a corresponding 'Maps to Calibre Tag' value will appear in your library.
- You can map to multiple tags - e.g. a "Science Fiction Fantasy" genre can map to "Science Fiction, Fantasy" tag values.
A predefined list extracted from Goodreads long ago is your starting point, feel free to add/remove to this list at will. I personally use only a small subset of tags, and have no interest in some of the granularity (or "noise") that Goodreads may return but other users are different!
Option | Description |
---|---|
Scan multiple editions for title/author searches | By default the first match from the Goodreads search is used. Historically this edition was often an audiobook which may not contain ideal metadata. Enabling this option will ensure audiobook editions are skipped, but will take longer to retrieve. |
Get all contributing authors | Some books will have many authors listed. Default behavior (unchecked) is to get only the authors who have a profile on Goodreads. |
Get ASIN for kindle editions | If checked, will try to read the mobi-asin (Amazon) identifier in the returned metadata. This is in addition to the goodreads identifier. |
Use first published date | Books will usually have multiple dates - when first published and specific edition. When checked (default) will return the first published date ignoring edition date. |
Get rating count into grrating identifier | Optionally create a grrating identifier containing a more precise rating.e.g. grrating:3.78 which can be bound to a custom column.By default this feature is unchecked. |
Get # votes into grvotes identifier | Optionally create a grvotes identifier containing rating votes.e.g. grvotes:12345 which can be bound to a custom column.By default this feature is unchecked. |
By default calibre rounds up a rating to display it as a number of stars. However some users want something more detailed - there can be a perceived difference between 3.6 and 4.4, but calibre will display both as 4 stars.
Similarly calibre also has no default column for the # votes that make up the weighting for that rating. An average rating based on many thousands of votes could be considered more balanced than one that has only a few hundred.
You can download the rating count/votes into the identifiers for a book using the metadata configuration options above for the Goodreads plugin. The following instructions will allow you to then display these as calibre columns in your library.
- Preferences -> Interface -> Add your own columns
- Click on
+
button then set at least the following
Field | Value | Comments |
---|---|---|
Lookup name: | grrating | Suggested value only, you can customise. It must be unique in your library! |
Column heading: | GR | Suggested value only, you can customise. It must be unique in your library! |
Column type: | Column built from other columns |
Mandatory |
Template: | {identifiers:select(grrating)} |
Mandatory |
Sort/search column by | Number |
Mandatory |
- Preferences -> Interface -> Add your own columns
- Click on
+
button then set at least the following:
Field | Value | Comments |
---|---|---|
Lookup name: | grvotes | Suggested value only, you can customise. It must be unique in your library! |
Column heading: | GR # | Suggested value only, you can customise. It must be unique in your library! |
Column type: | Column built from other columns |
Mandatory |
Template: | {identifiers:select(grvotes)} |
Mandatory |
Sort/search column by | Number |
Mandatory |
After adding your column(s), click Apply and restart calibre.
If you enjoy my calibre plugins or extensions, please feel free to show your appreciation!