Register Guidelines E-Books Today's Posts Search

Go Back   MobileRead Forums > E-Book Software > Calibre > Plugins

Notices

Reply
 
Thread Tools Search this Thread
Old 08-13-2012, 11:14 PM   #1
jhowell
Grand Sorcerer
jhowell ought to be getting tired of karma fortunes by now.jhowell ought to be getting tired of karma fortunes by now.jhowell ought to be getting tired of karma fortunes by now.jhowell ought to be getting tired of karma fortunes by now.jhowell ought to be getting tired of karma fortunes by now.jhowell ought to be getting tired of karma fortunes by now.jhowell ought to be getting tired of karma fortunes by now.jhowell ought to be getting tired of karma fortunes by now.jhowell ought to be getting tired of karma fortunes by now.jhowell ought to be getting tired of karma fortunes by now.jhowell ought to be getting tired of karma fortunes by now.
 
jhowell's Avatar
 
Posts: 6,762
Karma: 86500093
Join Date: Nov 2011
Location: Charlottesville, VA
Device: Kindles
[GUI PLUGIN]Overdrive Link

UI Plugin to Link Books in calibre to Lending Libraries

Many communities use OverDrive, (Baker & Taylor) Axis 360, Boundless by Baker & Taylor, (Bibliotheca/3M) cloudLibrary, EBSCOhost, Enki Library, Freading, and Hoopla to handle their lending library services for e-books and audiobooks. Some lending libraries use multiple service providers, with different book collections available though each. E-book lending is also available from Amazon, the Internet Archive and Scribd. Free public domain e-books are downloadable from the Internet Archive and Project Gutenberg. Checking libraries for books of interest can be tedious for large numbers of books and multiple libraries, especially since libraries add to their collections over time.

The purpose of the Overdrive Link user interface action plugin is to search lending libraries for borrowable e-books and audiobooks that correspond to selected books in the user's calibre library. This allows the user to add entries for desired books in calibre and then to check occasionally to see if they are carried by any lending library at which they have borrowing privileges.

The plugin can also detect books that are not available in the lending library's collection, but can be recommended for future acquisition by the library, and provides access to the web page from which the recommendation can be made.

The plugin can also discover books from known authors or about particular subjects missing from the user's calibre library. These can be selectively added as "empty" calibre books.

Once a book is found and linked the plugin can determine later on demand whether it is currently available to be borrowed or provide an estimate of the expected wait time (in weeks) if not.

The plugin is able to search a limited number of on-line bookstores to determine whether a title is available in e-book form and provides links to the web pages from which purchases can be made.

For the plugin to be useful the user must have borrowing privileges at a lending library powered by one of the supported service providers. Check your local community library for possible access. In addition some libraries allow borrowing by non-residents for a fee. See Non-Resident Library Cards for a list.


Main Features:
  • Searching of OverDrive, Amazon, Audible, Axis 360, Boundless, cloudLibrary, EBSCOhost, Enki Library, Freading, Hoopla, the Internet Archive, Project Gutenberg, and Scribd powered lending libraries for e-books and audiobooks matching selected books from the calibre library.
  • Detection of books that can be recommended to a library for acquisition or purchased from a store.
  • Detection of books by known authors that are missing from the calibre library.
  • Detection of books that are missing from the calibre library using topic keywords.
  • Creating links from calibre books to web pages from where they can be borrowed, recommended or purchased.
  • Display of links in the Id section of the book details panel or the plugin menu.
  • Searching for and selecting calibre books based on previously established links.
  • Checking the current availability of linked books to be borrowed and estimation of hold/wait time for books that are not immediately available.
  • Unlinking of books on demand.
  • Configuration of lending libraries and search parameters.
  • Help display with additional information. (This document.)

Usage Details:
Spoiler:


Library Configuration

Library and other configuration options can be accessed using the Customize plugin menu choice.

The plugin supports multiple lending libraries. Individual libraries and their relative priorities are set in the plugin's configuration. Each library is identified by a short, unique name (chosen by the user), its service provider and a library-id. Configured libraries will only be used for searching if they are enabled in the configuration by checking the first column. Groups of libraries may be enabled as a set by configuring a plugin tweak.

The default configuration contains some sample libraries that can be enabled for searching. Additional libraries can be added as needed using the (+) button and existing libraries can be removed using the (-) button.

Before performing searches at least one library must be enabled and there must be no configuration errors (shown in red below the lending library table).


OverDrive

OverDrive is the largest provider of lending library services. Books are available in EPUB and PDF formats via Adobe Digital Editions and Kindle formats via Amazon in the US. Audiobooks are also available.

You can find libraries supported by OverDrive at http://www.overdrive.com. For OverDrive powered libraries the library-id is the host name of the library web site (e.g.: freelibrary.overdrive.com for the OverDrive site of the Free Library of Philadelphia). This can be found by examining the browser address bar after surfing to the library.

Some OverDrive libraries require a user to sign in before the catalog of the library can be searched. Also, OverDrive Advantage allows individual lending libraries that are members of a consortium with a shared collection to have additional titles that are only available when their patrons are signed in.

The plugin configuration has optional fields for the user's credentials for each lending library: branch ID number, library card number and PIN. Entering this data is not required. However it be useful if your lending library has OverDrive Advantage titles or requires a sign in before allowing searches. Having credentials will also allow the plugin to provide more accurate reporting of current availability for already linked books.

OverDrive supports three types of sign-in: using credentials specific to each individual library, using an OverDrive account, and using Facebook. Only the first two types are supported by this plugin.

If you choose to configure your individual library credentials in the plugin, then a library card number is required. Some, but not all, libraries also require entry of a branch ID and/or PIN during sign in. Other libraries do not require a PIN or additional data field beyond the library card number. In that case leave the PIN field blank in the configuration.

If your library normally prompts for the selection of a specific branch during sign in, the corresponding branch ID will need to be entered as part of the configuration. To find this name enter your library card and PIN in the plugin configuration, leave the branch ID field blank, check the first column to enable the library, and then perform a search for any book. The sign in process will fail, but the log of the search will contain a list of valid branches for the consortium along with their corresponding branch IDs.

Important Note

A major change to the OverDrive website design was rolled out to lending libraries in 2016. With this redesign the identifiers associated with books changed, making links to book web pages partially incompatible with the old website design. Links previously created by searching will still function after a library migrates to the new design, but future searches will create different links, resulting in both old and new links existing for the same book. The Check current availability of selected books menu choice can be used to remove old-style links and replace them with the equivalent new-style.

Usually the library-id (website host name) of an OverDrive library will change when the library is migrated. The plugin detects host name redirection during search and notifies you by an error message that a configuration change is needed. After updating the configuration you should use the menu choice Check and repair book links to migrate existing book links to the new library-id. (The plugin checks for host names changed by adding or removing ".lib.", which is what OverDrive does typically. If the host name is changed in some other manner it may not be possible to automatically migrate links and they will need to be re-established by performing new searches.)

The plugin detects and keeps track of the website type (old or new) for each lending library. This may sometime fail causing books links to work incorrectly. If this occurs a restart of calibre should correct the problem. Once all libraries have migrated to the new design the plugin will be updated to remove support for old websites and then this will no longer be an issue.


Amazon

Amazon Kindle Unlimited allows borrowing up to ten e-books at a time with no holds or waits for a monthly fee. Prime Reading offers a small subset of the Kindle Unlimited catalog to Amazon Prime members in the US. These services offer a limited collection of mostly self-published books from which to choose.

When configuring, the library-id should be reading for Prime Reading, unlimited for Kindle Unlimited, kuwn for Kindle Unlimited with Audible Narration, w4v.store for purchasable e-books supporting Audible Narration, or store for all purchasable Kindle e-books. Prefix the library-id with uk- for Amazon UK, with ca- for Amazon Canada, or with au- for Amazon Australia. Multiple collections can be searched by creating a separate library entry for each desired collection in the configuration table.

The general configuration option Set 'amazon' identifier for Kindle e-books causes the amazon book identifier in calibre to be updated to point to kindle editions discovered during search. An alternate identifier can be used by configuring a plugin tweak.

Currently, only the US Amazon site at http://www.amazon.com, the UK Amazon site at http://www.amazon.co.uk, the Canadian Amazon site at http://www.amazon.ca, and the Australian Amazon site at http://www.amazon.com.au are supported by the plugin. Only the store and unlimited collections are supported for Amazon Canada and Amazon Australia.


Audible

Audible allows the purchase of audiobooks in a proprietary format. Only audiobooks are supported, not radio programs or other media.

When configuring, the library-id should be store and the "Other/app/player" audiobook format must be enabled for searching. Prefix the library-id with uk- for Audible UK.

Currently, only the US Audible site at http://www.audible.com and the UK Audible site at http://www.audible.co.uk are supported by the plugin.


Axis 360

Baker & Taylor is in the process of replacing Axis 360 with Boundless as of late 2023. If you have a library configured in the plugin for Axis 360 you will need to change the provider to Boundless in the plugin configuration once your library transitions to the new service. Support for Axis 360 will be removed from this plugin once the transition is complete for all libraries.

Axis 360 provides access to a variety of titles, including a large collection of children's books. E-books and audiobooks are available using a proprietary app. Some libraries also have books available in EPUB and PDF format via Adobe Digital Editions.

The library-id can be found by inspecting the host name in the browser address bar for the portion preceding axis360.baker-taylor.com. For the Pinellas County (Florida) Library System the Axis 360 web site is http://pplc.axis360.baker-taylor.com/ and so the library-id is pplc.


Boundless by Baker & Taylor

Boundless provides access to a variety of titles, including a large collection of children's books. E-books and audiobooks are available using a proprietary app. Some libraries also have books available in EPUB and PDF format via Adobe Digital Editions.

The library-id can be found by inspecting the host name in the browser address bar for the portion preceding boundless.baker-taylor.com. For the Orange County (Florida) Library System the Boundless web site is http://ocls.boundless.baker-taylor.com/ and so the library-id is ocls.


cloudLibrary

Many lending libraries use (Bibliotheca) cloudLibrary in addition to, or instead of, OverDrive. (This service was formerly known as 3M Cloud Library.) Books are available in EPUB and PDF formats via an application compatible with Adobe Digital Editions. Audiobooks are also available from some libraries. cloudLibrary supports recommendation of books for future acquisition at some libraries.

You can find libraries supported by cloudLibrary by using Lookup your library at http://www.yourcloudlibrary.com/index.php/en-us/. The library-id can be found by going to the library web site and examining the browser address bar for the portion of the URL following /library/. For the Brooklyn Public Library the web site is http://ebook.yourcloudlibrary.com/library/bpl/ and so the library-id is bpl. The card number and pin configuration fields are optional.


EBSCOhost

EBSCOhost provides research databases mainly for academic libraries, but also supports e-books and audiobooks. These are mostly reference books and public domain titles, but can include popular books published by Random House. Books may be read online and some are available to download in EPUB or PDF format via Adobe Digital Editions. Audiobooks formats are MP3, WMA and M4B.

Access to the catalog of books for a library requires authentication. EBSCOhost supports a variety of authentication methods and the correct one must be used for each library. Some libraries require the user to be physically present for access. Some require a patron id to be assigned by library staff. Some require the user to sign in at the main library site, which then redirects the web browser to EBSCOhost.

The branch-id in the configuration selects the type of authentication used to sign in to the EBSCOhost library. It may take some experimentation to determine the authentication needed for a particular library. Only a subset of the authentication methods used by EBSCOhost are supported by the plugin.
  • athens - Athens Authentication - Not supported
  • cpid - Patterned ID - Library card number and pin.
  • custuid - Patron ID - Library-specific user id and password.
  • ip - IP Address - Sign in allowed only from a computer located at the library or via VPN.
  • lib=http://... - Library controlled - A login page at the main library site redirects to EBSCOhost after sign in. Login pages vary by library. This plugin may need changes to support some of these.
  • shib - Shibboleth Authentication - not supported
  • uid - User ID and Password - EBSCO user id and password
  • url - Referring URL - Use lib=... for this type of authentication.
  • user - Personal User Authentication - EBSCO user id and password
The library-id must match the EBSCOhost customer id assigned to the library. This can sometimes be obtained from the URL used for library access. For example, Fairfax County Public Library is accessed via:

http://search.ebscohost.com/CPIDLogin.asp?custid=s4132146&profile=ehost&defaultdb=nlebk

The card-number and pin fields in the configuration must be set to the user's id and password for the EBSCOhost library.

Due to the need for authentication, clicking links created by the plugin in calibre to open a book's page at an EBSCOhost library will not work if the user is not already signed in to the proper library in their web browser. It also will not work if EBSCOhost is accessed via a proxy URL provided by the library.


Enki Library

Enki Library provides access to a collection of mostly indie-publisher e-books available through multiple library systems in California. Books are in EPUB and PDF formats, delivered via Adobe Digital Editions.

The library-id can be found by inspecting the host name in the browser address bar for the portion preceding enkilibrary.org. For the Anaheim Public Library the Enki web site is http://apl.enkilibrary.org/ and so the library-id is apl. The card number and pin should be left blank in the configuration.


Freading

Freading provides access to many older titles. Books are available in EPUB and PDF formats via Adobe Digital Editions. It allows a set number of checkouts per week, based on a credit system, with no holds or waits. It appears that the same e-book collection is available at all libraries, however this may not always be the case.

Find libraries using http://www.freading.com/libraries/chooser. The library-id can be found by inspecting the host name in the browser address bar for the portion preceding freading.com. For the Free Library of Philadelphia the Freading web site is http://freelibrary.freading.com and so the library-id is freelibrary.

When configuring a Freading library the card number and pin configuration fields are optional. If present these should contain the email address and password used when registering at your Freading site. (Prior to September 2021 the library card number and pin were used instead.)


Hoopla

Hoopla provides access audiobooks and a small collection of e-books and comics (and also music and videos) using a web browser or a proprietary app. Most books are available for "instant borrowing" with no holds or waits. Other books use one-patron-at-a-time "flex borrowing" with a wait list for books that are already on loan. Users must register using "Get Started" at http://www.hoopladigital.com using their library credentials and establish an account (email address and password) to use the system.

If the library-id, card number and pin are all left blank in the configuration then searches will be performed without signing in to Hoopla. Search results will reflect books available via Hoopla, but may not match the actual collection available at your particular library.

Users may instead configure the plugin to sign in to search based on their specific library's collection and to calculate wait time for books on hold. The card-number and pin fields in the configuration must be set to the user's email address and password registered with Hoopla. If the library-id is left blank in the configuration, the plugin will detect and report the proper library-id when a search is attempted. The library-id in the configuration should then be changed to the proper one to enable searches.


Internet Archive

The Internet Archive (IA) provides access to a very large collection of books, mostly scanned from print. There are three main classes of books at IA:
  • Most public domain books are available to download in a variety of open formats at any time.
  • Most books under copyright can only be borrowed for one hour and must be read online. If you do not want these books to be found when searching then deselect the "App/Online viewer" eBook format in the plugin configuration. When checking current availability these books will show with a wait time of "XX".
  • Some books under copyright are available to borrow for a two-week period. These may be read online and are also usually available for borrowing in EPUB and PDF formats via Adobe Digital Editions. The PDFs contain scanned page images from print books and the other formats are generally of low quality with many OCR errors.
Searches at IA will sometimes return multiple links because IA holds multiple scans of many book and handles each of those separately.

By default all collections will be searched for books. The Branch ID in the configuration for IA may be set to one or more collection names separated by spaces in order to limit searching to only those collections. Some examples of the possible collections are:
  • lendinglibrary - This is a small collection of mostly public domain books.
  • inlibrary - This is a large collection of mostly copyrighted books.
  • printdisabled - This collection contains accessible books in protected DAISY format for those with print disabilities. Selecting this collection also allows searches to check for books in Daisy format.
The card number (email address) and pin (password) configuration fields are optional, but if present will provide more accurate results when checking the current availability of books from IA.


Project Gutenberg

Project Gutenberg provides access to a large collection of public domain books, available in a variety of open formats.

Automated searching of Project Gutenberg is not allowed. Once the Project Gutenberg library is configured, a plugin menu choice, Build index for Project Gutenberg will appear. When used, it will download the catalog of available e-books from Project Gutenberg and process it to produce an index stored on the user's system. This index will be used for subsequent searches. (The downloaded catalog, rdf-files.tar.bz2, is about 50MB and the index file,Overdrive Link Project Gutenberg Index.json.bz2, will be about 2MB.)

The Project Gutenberg catalog is updated daily and should not be downloaded more than once per day.

The library-id should be left blank for Project Gutenberg.


Scribd

Scribd provides access to e-books and audiobooks via a web browser or a proprietary app. It allows unlimited reading from a small collection and limited monthly selections from a large collection with no holds or waits for a monthly fee. Book availability varies by country.

Scribd will attempt to determine your country of origin automatically. Searches will be performed without signing in so any user-specific results will not be available.

This plugin supports only published e-books and audiobooks at Scribd, not user uploaded documents.

The library-id should be left blank in the configuration. The card number and will are ignored if set.


Searching for Books

To search for books at configured libraries first highlight the desired book entries within calibre and the choose Search for selected books from the plugin's menu. Searches can take a long time and so are done as jobs. After the search completes, a summary of results is shown. If accepted by the user, identifiers are added to the calibre book metadata for each match found to provide a link back to the lending library web page for that book. These links can be later used to open that web page, either through the plugin's menu or the book details panel.

The Select previously linked books / Available books plugin menu item shows books available for borrowing from any of the configured lending libraries. When selected, these books will have a plugin menu choice of Borrow book from libraryname or Borrow audiobook from libraryname which opens a web browser to the page from which the user can borrow that book.

Up to 10 links per book will be shown under Ids: in the book's details, corresponding to the highest priority libraries (first in configuration) from which the book is available. A plus sign after a library name indicates that the book is also available from more lending libraries (or in other editions) and the additional links can be found in the plugin menu. A '#' before the library name indicates that the link is to an audiobook.


Discovering Books Missing from calibre

Selecting the plugin menu choice Search for books by selected authors will cause the search to look for the specific books selected and to also save a list of books by the author(s) of the selected books that are found at enabled lending libraries, but not present in the user's calibre library. (Note: Calibre books by the same author(s) that are not selected when a search is started are also included in search.)

By default only the primary (first) author of each book is used for searching. A configuration option (Max authors to search per book) can be used for increase the number of authors searched for books with multiple authors, such as collaborations and anthologies. This increases the likelihood of finding a match at some providers, but slows the search process. The additional authors will also be used for the discovery of new books. (All of the authors of a book are considered during matching of books found by search, regardless of this configuration option.)

Selecting the plugin menu choice Discover books by keyword will cause the search to look for books that match the selected keywords(s) in their title (or description for some providers), but are not present in the user's calibre library. Keywords are configured using Customize plugin, one set of keywords per line. Examples of keywords are sherlock holmes and megapack. The discover-by-keyword menu choice will not appear unless at least one set of keywords is configured.

After search completion, these results can be accessed using the Manage discovered books choice from the plugin's menu. A table of books is presented and the user can choose the action to be taken for each:
  • No Action leaves the discovered book alone.
  • Add Book to the calibre library as a new "empty" book with minimal metadata (author, title, series, publisher, publication date, isbn, odid, odrid and odpid).
  • Update an existing calibre book with links from the discovered book. This is useful if the discovered book should have matched an existing calibre book, but failed to do so due to a variation of the title. When Update is selected the plugin will provide a list of suggested calibre books to choose from.
  • Ignore hides the book so that undesirable books do not appear in subsequent searches.
  • Discard will eliminate the book from the search results, but allow it to appear again in subsequent searches.
Books previously marked to be ignored can be displayed again using the Show Ignored button. The Discard Dupes button marks apparent duplicate discovered books to be discarded. (All duplicates are marked, change any you want to keep back to No Action or Ignore.) The Update Match button can be used to check if any of the listed books were recently added to calibre and if so mark them to be updated in calibre (by adding links and missing metadata) and then discarded from the list of discovered books.

A search string may be entered to filter books so that only those that match are displayed. Searches are based on the main calibre search interface and support many of its features including exact match (=text), contains (text), regular expression (~pattern), presence (true), and absence (false). The fields allowed for searching are: author, title, series, library, isbn, publisher, language, action (no action, add book, ignore, discard, or update), ignored (true or false), and search (name of a previously saved search). For example to only display books by an author named John available at BPL use: author:john and library:=@bpl

Saved searches cannot be created by this plugin, but it can use those created by the main calibre search interface.


Check Current Availability of Linked Books

The plugin menu choice Check current availability of selected books will check previously linked books in order to determine whether they are currently available to be borrowed and if not provide an estimate of the expected hold/wait time in weeks. Choosing this will cause the plugin to check each of the borrowable links for the selected books. (These links must have been previously established by using the search capability of the plugin.) By default all links will be checked, even those that that correspond to libraries that are not currently enabled for searching in the configuration. (This can be changed using the "overdrive_link_check_only_enabled_lib_avail" plugin tweak.) Any links that are found to be for books no longer available at all will be removed. Results are presented in the summary popup at job completion.

A configuration option, Update current availability of books with new links will also cause a check for the current availability/wait to be done for books whenever a new link is found (or a possible link removal is detected) during a search.

A custom column may optionally be created by the user in the calibre library in order to save the results. Choose Preferences -> Add your own columns -> Add custom column. Enter a Lookup name of ol_wait_weeks and a Column heading with any desired label. The Column type must be Text, column shown in tag browser. You will need to restart calibre for the new column to take effect.

The custom column will be populated with a series of comma separated entries, one for each link. Each entry is of the form nn@LIBNAME, where nn is the estimated wait time for the book in weeks and LIBNAME is the configured library name for that link. A wait time of "00" indicates available now, "99" weeks is the maximum that can be shown, and "XX" indicates that the availability could not be determined for that link. The wait time will be suffixed with "H" if it is detected that the book is already on hold. The library name will be prefixed by "#" if the link is to an audiobook. Links are sorted by wait duration, none to low to high, so that sorting the calibre library by this column by clicking on the column header will sort books in order of current availability.

The date of last change of the ol_wait_weeks custom column will be saved in another custom column named ol_wait_weeks_date, if it exists. (The ol_wait_weeks_date column must have a column type of "Date".)

The ability of the plugin to estimate availability and wait time varies based on the library provider. Providing credentials in the configuration to sign into a library will add further information for some providers as described below:
  • Amazon Kindle Unlimited: Shows released books as always available and takes into account the release date of pre-release books.
  • Axis360: Provides current availability or estimated wait based on the existing number of holds.
  • cloudLibrary: Provides current availability or estimated wait. Providing credentials to sign-in will also take into account the user's current position on the hold list for the book, if any.
  • Freading: Shows released books as always available. Will take into account the release date of pre-release books only if sign-in credentials are provided and the user has unused tokens.
  • Hoopla: Shows instant borrowing books as always available. If credentials have been provided to sign-in then also provides current availability and estimated wait based on the existing number of holds for flex borrowing books.
  • Internet Archive: Provides current availability or estimated wait based on the existing number of holds. Providing credentials to sign-in will also take into account the user's current position on the hold list for the book, if any.
  • OverDrive: Provides current availability or estimated wait based on the existing number of holds. Also takes into account the date of availability for pre-release books. Providing credentials to sign-in will also take into account OverDrive Advantage copies and the user's current position on the hold list for the book, if any.
  • Project Gutenberg: Shows books as always available.
  • Scribd: Shows unrestricted books as always available. Shows books that require an account credit as having a one week wait.
  • Audible, EBSCOhost, and Enki Library: Not supported.

Recommending Unavailable Books for Library Acquisition

The search configuration option Check for books that can be recommended for acquisition will cause subsequent searches to find books not currently in the library's collection, but potentially available to recommend for acquisition. (Some books may be detected that are not truly available for library acquisition due to restrictions by the publisher, such as geographic restrictions.)

The Select previously linked books / Recommendable plugin menu item shows books not currently available in any of the configured lending libraries. When selected, these books will have a plugin menu choice of Recommend book to libraryname which opens a web browser to the page from which the user can issue a recommendation for the library to acquire that book.

Some libraries do not support book recommendations.


Searching for Books Available for Purchase

When the Amazon kindle book store is configured as a search library, the books that are found are listed by the plugin as purchasable.

The Select previously linked books / Purchasable books plugin menu item shows books linked by this search. When selected, these books will have a plugin menu choice of Purchase book from libraryname which opens a web browser to the page from which the user can purchase that book. This can be used to quickly determine which calibre book entries are available in Kindle format via Amazon.


Author Name Variants

The plugin searches for matching books using one or more authors of the selected calibre books. Searches are done multiple times with variants of the author's name to improve results, e.g., replacing middle names with initials. This usually works well, but can produce extraneous results for common author names and can miss results for pseudonyms and unusual name variants.

In order to provide more control over author name searching and matching the plugin configuration has a place for optional Author name variants. These are entered one author per line with the author name as it appears in your calibre library first and any variants on the name to be used for searching following, separated by '&' characters. For example: Stephen King & Richard Bachman

If only a single name is entered then that only that name will be used in searching and no variants will be generated automatically. For example, entering just John Joseph Adams will cause searches for books by that author to exclude books by John Adams or John J. Adams.

Placing an author name in square brackets will prevent searches using that name, even if books by that author are selected for searching. However books that are found while searching for another author will still be found even if the prevented author happens to be a co-author. For example: [Deepak Chopra]

Placing an author name in angle brackets will prevent discovery of new books by that author. Matching of any existing calibre books by that author will still be allowed. For example: <Mark Twain>

Placing an author name in curly brackets will completely exclude books by that author, even as a co-author. For example: {SparkNotes}

For a match to occur between a calibre book and a library book they must have at least one listed author in common.


Title Variants

You can adjust the titles of your books in calibre to improve matching by the plugin. When matching book titles, text in parentheses, following a colon (':'), or preceding a double colon ('::') is optional. A vertical bar ('|') can be used to separate alternate titles for the same book. Some examples of usage:

A book with an optional subtitle with match with or without it: The Ancestor's Tale: A Pilgrimage to the Dawn of Life

A book that was published under multiple titles can match either one: The Barbie Murders (And Other Stories) | Picnic On Nearside

A book title that has an optional prefix: (The Adventures of) Huckleberry Finn

A book title sometimes prefixed with the series name in library catalogs will match either way if entered in calibre with a double colon separator: High Druid of Shannara:: Jarka Ruus

Note that in book matching the plugin will treat the the series name as an optional prefix to the title in order to properly match books that are listed that way at libraries, so the above case is usually handled automatically.


Caching of Book Details

As part of searching, the plugin accesses the web page for each book found by the search in order to obtain all of the information needed for filtering results and matching against calibre books. A cache of library book details is kept in a database file in order to avoid accessing these pages multiple times. Using the cache provides much faster results when searches for books are repeated, but introduces a small chance that outdated information may be used if the book details are updated at the library, which rarely happens.

In order to balance speed against accuracy the plugin defaults to keeping book information in the cache for a maximum of 90 days. This can be changed using the plugin configuration option Days to cache library book info. Setting this to zero disables the cache and setting it larger causes information to be kept longer.


Display of Links

Links to libraries are shown in search results and in the discovered book table with the following special characters: "@" indicates a link to an available book, "!" indicates a link to a recommendable book, and "$" indicates a link to a purchasable book. Links to audiobooks contain "#", while links to e-books do not.


Viewing Links as a Custom Column

You can create a custom column in calibre to show books found to be available from a lending library. Choose Preferences -> Add your own columns -> Add custom column. Enter a Lookup name of has_odid and a Column heading of OD (or any other description you desire.) The Column type should be Column built from other columns, select Show checkmarks and Sort/search column by should be set to Yes/No. Enter the following in the Template field:

{identifiers:contains(odid:,Yes,)}

Replace odid with odrid for recommendable books or odpid for purchasable books.

You will need to restart calibre for the change to take effect.


Manually Adding Links to Lending Libraries

Sometimes books are available at lending libraries with incorrect metadata. An incorrect author or title will prevent the book from matching an entry in your calibre library. You can manually link books to fix this sort of problem.

First go to the web page for the book at your OverDrive library and note the URL. It should be something like: https://ocls.overdrive.com/media/55599

Select the same book in your calibre library and from the "Edit metadata" dialog right click inside the "Ids" field and choose "Edit identifiers in a dedicated window".

To create the link enter on a new line: odid:55599@ocls.overdrive.com
(Replace "55599" and "ocls.overdrive.com" with the actual media number and host name from your URL. If there is already an "odid" entry then instead of creating a new one add the new information to it separated by a "&" character.)

Once created the link will remain even if you do subsequent searches that do not find the book.


Removing Links to Lending Libraries

Removing a lending library from the plugin's configuration has no effect on calibre books that have already been linked to that library. The only noticeable difference is that the links to an unconfigured library will be shown with a default name (based on the provider and library-id) rather than the previously configured name for the library. So selecting a book and then clicking the plugin's icon will always show the links established for that book, whether or not the lending library still exists in the configuration.

The plugin menu choice Check current availability of selected books will detect links for books that are no longer present in a library's collection and automatically remove them for some library providers. Recommendable links will be automatically unlinked if a search finds that the book has become available in the library collection. Purchasable links must be manually unlinked.

You can manually remove links by selecting Unlink selected books from the plugin's menu. Submenu choices allow removal of all links, links for currently enabled libraries, or individual links (when a single book is selected). You can also delete the odid, odrid and odpid identifiers under Ids in the Edit Metadata dialog for a book to remove all links.

Links that are damaged or outdated can also be removed by selecting Check and repair book links from the plugin's menu.


Configuring Tweaks

The plugin has a number of configuration settings for advanced users that are managed by setting "tweaks" for the plugin. From the main Calibre screen select: Preferences -> Tweaks -> Plugin tweaks. This will open a dialog where tweaks may be set by adding Python variable assignments. The supported tweaks are:

overdrive_link_amazon_ident = 'mobi-asin'
This controls the identifier used for Amazon books when the Set 'amazon' identifier for Kindle e-books configuration option is enabled. The default identifier is country based: 'amazon', 'amazon_uk', etc.

overdrive_link_avg_loan_weeks = n
This changes the duration in weeks that loans are assumed to last on average. It is used in the calculation of the ol_wait_weeks custom column. The default is 2.5. The value applies to all libraries of all types.

overdrive_link_check_only_enabled_lib_avail = True
This causes "Check current availability of selected books" to only check libraries that are currently enabled in the plugin configuration. If not set then all libraries are checked.

overdrive_link_disable_ku_check = True
This prevents the plugin from checking whether the web page for a book shows it as being part of Kindle Unlimited when searching or checking current availability. This indication will sometimes be missing if amazon.com is being accessed from outside of the USA.

overdrive_link_disable_ssl_verification = True
This allows SSL certificate verification to be disabled within the plugin. Doing this will eliminate the SSL: CERTIFICATE_VERIFY_FAILED error which can occur with version 2.16 or newer of calibre. It is recommended the the underlying cause of the certificate problem be corrected and this tweak removed as soon as possible since it may indicate a security problem with the user's system.

overdrive_link_ignore_login_failure = True
This will cause searches to be performed even if sign in to a library fails. It can be useful in rare cases where library sign in is found to be unreliable.

overdrive_link_library_groups = dict mapping group names to lists of library names
This establishes named groups of libraries that can be used to perform searches. It can be used to avoid having to reconfigure the plugin to enable and disable libraries when only a subset of libraries is desired for a search. Once this tweak is set a new plugin menu item, Set library group will appear that lists the groups established by this tweak. Selecting a group will configure the plugin to enable only the libraries named in the group. For example, using: {'Favorite Libraries': ['lib1', 'lib2', 'lib3'], 'Others': ['lib4']} will establish two groups of libraries. Library names are case sensitive and must match those in the configuration exactly.

overdrive_link_max_book_panel_links = n
This changes the maximum number of links to show in the book details panel to n (a number). The default is 10. (Requires calibre 2.19 or later.)

overdrive_link_wait_groups = list of lists of library names
This establishes groups of libraries to override the default sorting of the ol_wait_weeks custom column, which is by number of weeks and then by library name. Once set the sorting order changes so that any links to libraries in the first group come before any in the second, and so on. Any information for libraries not contained in any group is discarded. The value is a list of lists containing the quoted names of libraries as set in the configuration. A library name by itself refers to links to e-book at that library, a library name prefixed by a number sign (#) represents links to audiobooks at that library. For example, using: [['lib1', 'lib2', 'lib3'], ['lib4'], ['#lib4']] will sort ol_wait_weeks so that e-book links to lib1, lib2 or lib3 will come first (or order of wait time), then e-book links to lib4 and finally audiobook links to lib4. Library names are case sensitive and must match those in the configuration exactly.

Additional tweaks are also implemented in the plugin for testing. These are unsupported and may be changed or removed in future plugin releases without notice.


Restore Default Configuration

The following steps can be used to restore the default configuration for the plugin: From the main Calibre screen select: Preferences -> Miscellaneous -> Open calibre configuration directory. Navigate to the plugins subdirectory and delete the file Overdrive Link.json.

The library book information cache can be cleared by deleting the file Overdrive Link Cache.db in the same directory.

The Project Gutenberg index file, Overdrive Link Project Gutenberg Index.json.bz2, is also in the same directory and may be safely deleted.

Tweaks set for the plugin can can be removed using: Preferences -> Tweaks -> Plugin tweaks and deleting any that begin with overdrive_link.


Behind the scenes

The plugin searches each configured library website for matching e-books and audiobooks using variants of the name of the author of the selected calibre books. By default only the primary (first) author is searched, but a configuration option (Max authors to search per book) allows searching for multiple authors for the same book.

If the configuration option to search for recommendable books has been selected then an additional search to find those books is done, increasing search time.

The results returned by a library search request usually do not contain enough information to properly identify books, so a request is made to get the details for each book, unless they were already cached due to a prior search.

The search results are matched against the selected books and a link is created for each matched book. Fuzzy matching is used to detect matches even when there are minor differences. This may sometimes result in missed matches or association of the wrong books.

If the menu choice to save discovered books was used then any search results that do not match books already present in the user's calibre library are retained for examination by the user.

Links to books discovered at libraries are stored in calibre as identifier metadata. The identifier for a book available in a library's collection is odid, the identifier for a book recommendable for acquisition by a library is odrid and the identifier for a book that can be purchased by the user is odpid.

The format of these is book_id@provider_id/library_id for e-books and book_id#provider_id/library_id for audiobooks, where book_id is the identifier used by the provider to identify an edition of a book (e.g.: an integer or a 36 character content reserve identifier for OverDrive), provider_id identifies the provider of library services (none for OverDrive Legacy, '3m' for cloudLibrary, 'ak' for Amazon, 'ax' for Axis 360, 'bl' for Boundless, 'eh' for EBSCOhost, 'en' for Enki Library, 'fr' for Freading, 'ho' for Hoopla, 'ia' for Internet Archive, 'ol' for Open Library, 'sc' for Scribd) and library_id identifies the specific library.

If a book is available in multiple editions or from multiple libraries there will be additional links, separated by ampersands. For example:

odid:1381708@freelibrary.overdrive.com&ZnJlYWQ6OTc 4MDQ4NjExMDUzMDpl@fr/ocls&dot8az9@3m/bpl

A search for identifiers:=odid: can be done to find all books in calibre that are available at any lending library. A search for identifiers:=odrid:@freelibrary.overdrive.com will show only e-books recommendable at that specific library, however this will not work if calibre is configured to ignore punctuation characters in normal searches. In that case a regular expression search, identifiers:=odrid:~@freelibrary\.overdrive\.com, should be used instead. Commonly used searches can be performed through the plugin's menu under Select previously linked books.

The list of discovered books is stored in a hidden part of the calibre library database. This data can be examined in the file metadata_db_prefs_backup.json in the calibre library folder.

The plugin contains an embedded metadata plugin that provides the clickable links in the book details panel for available books (and optionally purchasable books.) It can be disabled in the main plugin's configuration if this feature is not desired.


Version History:
Spoiler:


Version 2.57.0 - 31 Oct 2023

Allow searching for books at Boundless by Baker & Taylor, which is replacing Axis 360. If you have a library configured in the plugin for Axis 360 you will need to change the provider to Boundless in the plugin configuration once your library transitions to the new service. Once the configuration has been changed you can use the plugin menu item 'Check and repair book links' to convert old Axis 360 links to new Boundless links in your library.

Perform searches at Freading with more variants of the title and author name in order to produce more complete search results.

Handle website change at Project Gutenberg. Fixes no search results.

Handle website change at Open Library. Fixes "<HTTPError 403: 'Forbidden'>".

Handle website change at Amazon. Fix incorrect language being detected for some books.


Version 2.56.0 - 24 Jul 2023

Handle website change at Cloud Library. Fixes inability to sign in and lack of search results even when not signed in.

Change the configuration dialog to clarify that searching for recommendable books only applies to Cloud Library.


Version 2.55.0 - 18 Jun 2023

Added a "Found" column to the discovered book dialog showing the date of the search that first discovered the book.

Searching for recommendable books is no longer available for OverDrive libraries.

Update the cache of book data more frequently so that new entries are not lost if a search job is terminated or fails before it completes.


Version 2.54.0 - 24 Feb 2023

Fix Select previously linked books not showing any results unless a specific library is chosen.

Ignore new format "OverDrive Read (Provisional)" present for some not yet published books. Fixes "Unknown book format: "OverDrive Read (Provisional)" (ebook-overdrive-provisional)"


Version 2.53.0 - 22 Nov 2022

Allowing searching at bilingual French OverDrive sites. Fixes "Unexpected search-text Affichage de 1-9 résultats sur 9 pour...

Handle website change at Cloud Library. Fixes inability to sign in and lack of search results when not signed in.


Version 2.52.0 - 11 Nov 2022

Change Select previously linked books to use regular expressions because calibre versions 5.42 and later might be set to ignore punctuation characters in normal searches.

Handle website change at OverDrive. Fixes "Found 0 mediaItems (expected 1)")

Handle website change at Internet Archive that prevented searching. Fixes "Server response error (Missing BookReaderJSIA)")

Handle website change at Scribd. Fixes "Missing React.createElement(Scribd.Search.App,')")

Handle website change at Amazon. Fixes missing book metadata.

Handle website change at Audible. Fixes missing metadata and eliminates errors reported for authors that have no audiobooks.

Handle "novascotia.overdrive.com" and "samepage.overdrive.com" as equivalent OverDrive sites.


Version 2.51.0 - 22 Mar 2022

Fix incompatibility with calibre version 5.39 and later that prevented book links from appearing as Ids in the book details pane.

Handle website change at Hoopla.

Improve compatibility with calibre version 6.


Version 2.50.0 - 06 Jan 2022

Compatibility with calibre version 6.


Version 2.49.0 - 08 Nov 2021

Eliminate sign in to Scribd. (Changes to the website prevent the method previously used from working.)

Handle website change at Scribd that prevented searching.


Version 2.48.0 - 17 Oct 2021

Prevent search failure if some books contain links to a library provider that is no longer supported, such as RBDigital. (Fixes "ValueError: Unknown provider id: ocd")

Fix search for Kindle Unlimited with Narration books returning extra incorrect results. (Extra links produced by previous version of this plugin can be removed by changing the plugin configuration using "Customize plugin" in the plugin menu so that only the lending library entry for Kindle Unlimited with Narration is enabled, selecting the books to be fixed, and choosing "Unlink selected books"/"Unlink books from enabled libraries" in the plugin menu.


Version 2.47.0 - 01 Oct 2021

Disable SSL certificate verification to avoid occasional problems in accessing libraries caused by expired certificates.


Version 2.46.0 - 27 Sep 2021

Fix sign in to Freading libraries. When configuring a Freading library the card number and pin configuration fields are optional. If present these should contain the email address and password used when registering at your Freading site. (Prior to September 2021 the library card number and pin were used instead.)

Remove support for RBDigital. That service was shut down on May 20, 2021. Any left over links to RBDigital books can be removed by using the Check and repair book links menu choice.


Version 2.45.1 - 20 Apr 2021

Fix Open Library links not showing up under the "Select previously linked books" menu choice.


Version 2.45.0 - 09 Feb 2021

Detect books available for "flex borrowing" on Hoopla. Providing credentials to log into Hoopla in the library configuration will allow the plugin to calculate the estimated wait times for flex borrowing titles that are on hold.

Remove searching of Open Library. Open Library will be automatically disabled in the plugin configuration whenever calibre is restarted. Any existing links to Open Library books will still function. The Internet Archive is supported by this plugin and can be used to search for the same set of books instead.

Remove support for Kindle Owners Lending Library (KOLL). This service was discontinued by Amazon on January 4, 2021. Any plugin configuration for KOLL will be automatically removed. Any existing links to KOLL books can be removed by using "Check and repair book links" in the plugin menu.

Update the default configuration provided to first-time users of this plugin.


Version 2.44.0 - 12 Dec 2020

Fix incompatibility with calibre version 5.7. (Fixes inability to search or check book availability.)

Report plugin tweaks in use at the start of each search job.


Version 2.43.0 - 07 Nov 2020

Add the ability to search for books available through the Internet Archive. See plugin documentation for details.

The ability to search Open Library is now deprecated and will be removed in a future release of this plugin. Use the Internet Archive instead since that holds a superset of the books available through Open Library and provides more accurate search results.

"App/Online viewer" has been split off from "Other" in eBook formats in the plugin configuration. Deselecting this will cause subsequent searches to no longer find books that can only be read online or via an app.

The indication that a book is part of Kindle Unlimited will sometimes be missing if amazon.com is being accessed from outside of the USA. The overdrive_link_disable_ku_check plugin tweak can be set to True to prevent the plugin from checking that this indication is present. This will prevent searching and checking currently availability of Kindle Unlimited book from failing for some non-US users.

The overdrive_link_check_only_enabled_lib_avail plugin tweak can be set to True to cause "Check current availability of selected books" to only check libraries that are currently enabled in the plugin configuration. If not set then all libraries are checked.

Handle website change at Amazon. (Fixes partially missing metadata, including the book's language.)


Version 2.42.0 - 08 Oct 2020

Handle website change at Project Gutenberg. (Fixes inability to build index.)

Fix occasional ThreadingViolationError when updating the library in calibre 5.


Version 2.41.0 - 12 Sep 2020

Handle website change at Amazon. (Fixes partially missing metadata.)

Handle website change at Project Gutenberg. (Fixes inability to build index.)


Version 2.40.0 - 19 Jul 2020

Handle website change at Amazon. (Fixes intermittent lack of search results.)

Handle website change at Open Library. (Fixes extra, incorrect search results.)


Version 2.39.0 - 26 Apr 2020

Improve detection of books in Kindle Unlimited. (Searches were returning non-KU books.)

Handle website change at Amazon. (Fixes "Server response error (Unable to determine Amazon title format)")

Increase search speed at Amazon. This will perform searches more quickly on a small number of books or authors, but it increases the likelihood of further searches being blocked temporarily by Amazon if too many are done within a short period.


Version 2.38.0 - 31 Dec 2019

Handle website change at Amazon. (Fixes Prime Reading search.)

Handle website change at EBSCOhost. (Fixes "Server response error (missing "h2 class=page-title alt")")

Handle website change at Open Library. (Fixes missing search results.)

Compatibility fixes for calibre beta versions using Python 3.

Prevent attempts to customize the embedded metadata source plugin. (The embedded plugin is used to enable clickable links in the book details panel. It does not actually provide metadata.)

The minimum calibre version for this plugin is now 2.7.0.


Version 2.37.0 - 12 Dec 2019

The duration of wait time in the ol_wait_weeks custom column will be suffixed by "H" if it is detected that the book is already on hold at the specified library. For example, "05H@OCLS" indicates that the book is on hold at OCLS with a five week wait time. Hold status is only available for OverDrive, cloudLibrary, and Open Library.


Version 2.36.1 - 14 Oct 2019

Discard invalid characters when processing responses from OverDrive. (Fixes "ValueError: Invalid control character at:...")


Version 2.36.0 - 11 Oct 2019

Handle website change at Scribd that prevented checking of book availability. (Fixes: HTTPError: HTTP Error 404: Not Found)

Handle website change at Audible that prevented searching. (Fixes: Server response error (Unexpected resultsSummarySubheading...)

Fix sign in process for Freading. (Fixes: TypeError("'unicode' does not have the buffer interface",))

Fix incorrect redirect URLs from Open Library (Fixes: InvalidURL("URL can't contain control characters...)


Version 2.35.1 - 01 Sep 2019

Fix inability to configure non-numeric branch IDs for OverDrive libraries.


Version 2.35.0 - 01 Sep 2019

Handle OverDrive libraries with multiple branches using the new sign in process. Branch IDs are now names instead of numbers and will be different from those used by previous versions of this plugin. See the job log after a sign in failure for a list of supported branch IDs for that OverDrive library. (It will not be possible to sign into branches that use their own sign in system separate from OverDrive.)

Handle website changes at RBdigital. (Fixes no search results.)


Version 2.34.0 - 22 Aug 2019

Handle website change at OverDrive. Sign in using an OverDrive account instead of a library-specific account is no longer supported. This fix is not fully tested. Further changes may be required. (Fixes "Server response error (missing "script id=model")")

Internal changes in preparation for the planned switch in calibre from Python 2 to Python 3.


Version 2.33.0 - 11 Apr 2019

Support BeautifulSoup 4, which will replace version 3 in an upcoming calibre release. (Fixes "AttributeError: 'function' object has no attribute 'HTML_ENTITIES'")

Handle website changes at Open Library. (Fixes no search results.)


Version 2.32.0 - 01 Feb 2019

Search for combined initials in author names. For example "R. P. Dahlke" will match "RP Dahlke".

Ignore "A Thriller" as part of the book title when finding books.

Update internal list of known OverDrive sites.


Version 2.31.0 - 22 Jan 2019

Handle website change at Amazon. (Fixes "Server response error (missing "span id=s-result-count")")


Version 2.30.0 - 28 Dec 2018

Handle website change at Amazon. (Fixes "Server response error (missing "span id=s-result-count")")

Handle website change at Axis 360. (Fixes "HTTPError (Not Found)")


Version 2.29.0 - 26 Jul 2018

Handle website changes at Scribd. (Fixes no search results.)


Version 2.28.1 - 21 Jun 2018

Fix search failures at OverDrive caused by Libby advertisement redirect. (Fixes "Server response error (Unknown OverDrive library website layout. Cannot access.)")


Version 2.28.0 - 21 Jun 2018

Handle website change at Amazon. (Fixes "Server response error (missing "span id=s-result-count")")

Fix search for individual books sometimes failing to find books with short titles at OverDrive.


Version 2.27.1 - 11 Jun 2018

Fix detection of books in Kindle Unlimited with narration.


Version 2.27.0 - 10 Jun 2018

Handle website change at Amazon preventing detection of books in Kindle Unlimited.

Handle books no longer available at Hoopla. (Fixes "HTTPError (Not Found)".)


Version 2.26.0 - 15 Mar 2018

Handle website changes at RBdigital. (Fixes warning "acceptMediaType basic".)

Add validation for publication dates from Open Library. (Fixes "ValueError: day is out of range for month".)


Version 2.25.0 - 13 Feb 2018

Handle website changes at Scribd. (Fixes no search results.)

Fix search failures at Open Library when author names contain non-ASCII characters. (Fixes "HTTPError (Bad request)")


Version 2.24.0 - 28 Jan 2018

Handle website changes at Audible. (Fixes "Server response error (missing "span class=adbl-results-index")")


Version 2.23.0 - 27 Jan 2018

Prevent search failure when an existing book link contains an extraneous '&' character. (Fixes "Search job failure: ValueError (Unknown provider id: None)")


Version 2.22.0 - 02 Jan 2018

Handle website change at Amazon. (Fixes "Server response error (missing "h1 id=s-result-count")")

Reduce rate of queries made to Amazon to improve the chances that requests will not be blocked.


Version 2.21.0 - 12 Dec 2017

Handle website change at OverDrive. (Fixes "LibraryError: u'missing "h2 class=\\bsearch-text\\b"'")


Version 2.20.0 - 20 Nov 2017

Discard search results from Axis 360 for books that are not actually available. (Fixes "Server response error (missing "div id=overview")")


Version 2.19.0 - 12 Nov 2017

Disable SSL certificate validation when searching Freading. (Fixes "URLError ([SSL: CERTIFICATE_VERIFY_FAILED]...")

Handle website change at Axis 360. (Fixes "Server response error (Unexpected availDetailText: 0 patrons on hold")

Handle website change at Amazon. (Fixes "Expected 16 page results but found 20 actual")

Prevent searches of Hoopla from containing non-ASCII characters. (Fixes "HTTPError (Internal Server Error)")

Improve reporting of unknown library id configuration for cloudLibrary.


Version 2.18.0 - 01 Nov 2017

Handle website change at cloudLibrary. (Fixes no search results.)


Version 2.17.0 - 25 Oct 2017

Handle website change at Scribd. (Fixes "Exception (Missing Scribd.R.render(Scribd.R.Search.App))")


Version 2.16.0 - 19 Oct 2017

Handle website change at Amazon. (Fixes "Server response error (missing "h2 id=s-result-count")")


Version 2.15.0 - 10 Jul 2017

OneClickdigital has become RBdigital. Handle website change. (Fixes "Signing in to xxx: : HTTPError (Not Found)")

Handle website change at Scribd. (Fixes warning "count=1 but have 0 results")


Version 2.14.0 - 20 Jun 2017

Handle website change at OverDrive. (Fixes "Server response error (Sign in error: : Invalid username or password)")

Handle website change at Audible. (Fixes "Server response error (Missing "ref=" in title href)")

Follow calibre 3 Search box formatting in the discovered books dialog.

Change error message to indicate that an empty library ID is allowed for Hoopla.

Improve filtering of user names and passwords in job logs.


Version 2.13.0 - 27 May 2017

Handle EPUB3 format found by searches at Cloud Library. (Fixes "Server response error (Unexpected format: EPUB3)")

Fix occasional errors searching Amazon due to website changes. (Fixes "Server response error (Bad s-result-count: Results for Kindle Store...)

Treat a book title containing "(Summary)" as not matching the same title without that suffix.


Version 2.12.0 - 20 Apr 2017

Do not share book details between lending libraries when caching is disabled.

Allow the Audible UK site to be configured using library id "uk-store".

Save the date of last change of the ol_wait_weeks custom column in another custom column named ol_wait_weeks_date, if it exists. (The ol_wait_weeks_date column must have a column type of "Date".)


Version 2.11.0 - 14 Mar 2017

Handle website changes at OverDrive. (Fixes "Server response error (missing "div class=(?=.*?\bmedia-container\b)(?=.*?\bloaded\b)^.*$")")


Version 2.10.0 - 02 Mar 2017

Handle website changes at Open Library. (Fixes "Server response error (missing "div class=message info")")


Version 2.9.0 - 13 Feb 2017

Fix errors during search when signed in at Freading. (Fixes "Server response error (missing r:download)")

Retry when recoverable errors occur from OverDrive during search. (Fixes "Server response error (We're sorry! An error has occurred...")


Version 2.8.0 - 17 Jan 2017

Fix sign in errors at Freading caused by switch to https. (Fixes "Server response error (Sign in failed - Redirected to https:...")

Disable leftover debugging code.


Version 2.7.0 - 05 Jan 2017

Fix error when searching Cloud Library for books that have previously been suggested for acquisition. (Fixes "Search job failure: Exception (No library for ...)")

Handle website changes at Open Library. Fixes extra and/or missing search results and improves the determination of book availability.

When searching Open Library the "lendinglibrary" collection will also include books in the "read" collection and the "inlibrary" collection will include books in the "lendinglibrary" collection.


Version 2.6.0 - 23 Dec 2016

Detect certain error conditions during OverDrive sign in. (Fixes "Server response error (missing "script id=model")")

Ignore existing bad book links during search. (Fixes "Search job failure: ValueError (OneClickdigital book id is too short: "35165")")

Fix search at Scribd not finding any books due to yet another website change.


Version 2.5.0 - 06 Dec 2016

Fix search at Scribd not finding any books due to website change.

First attempt to support external authentication for new OverDrive sites. Untested and will probably need further work.


Version 2.4.0 - 02 Dec 2016

Fix error signing in to Cloud Library. (Fixes "KeyError (SessionId)")

Handle books that have been removed from specific libraries at Freading. (Fixes "Server response error (missing ".//div[@class='book-info']")")

Prevent caching of details for unavailable books at new OverDrive sites since they sometimes have incorrect format information.

Update the internal list of libraries that use the new OverDrive website layout.


Version 2.3.0 - 18 Nov 2016

Assume the most common format (EPUB or MP3) when no formats are listed for pre-release e-books and audiobooks at new OverDrive sites.

Fix search errors at Scribd. ("KeyError (content)")


Version 2.2.1 - 15 Nov 2016

Fix search error at new OverDrive sites. ("Server response error (missing "h2 class=\bsearch-text\b")")


Version 2.2.0 - 14 Nov 2016

Allow search for Kindle Unlimited books at Amazon Australia.

Show "XX" for availability when a book is present in a library's collection, but no copies of the book are currently owned by that library.

Show decimal series index for discovered books when needed.

Improve detection of books that require a volume number to form a unique title.

Improve migration of links for libraries that recently converted to new OverDrive websites.


Version 2.1.2 - 29 Oct 2016

Fix search error at new OverDrive sites when signed into a branch library. (Fixes "Server response error (Unexpected anchor href:...)".)


Version 2.1.1 - 29 Oct 2016

Fix inability to sign in to new OverDrive sites that do not require a PIN.


Version 2.1.0 - 25 Oct 2016

Allow search of the Amazon Prime Reading catalog. (Configure a lending library with provider "Amazon" and library-id "reading".)

Fix inability to determine pre-release dates at Freading due to a website change.

Fix inability to sign in to OverDrive sites using the new 2016 website design. Also improve checking current availability of books at those sites.

Faster searching for recommendable books at Cloud Library.

Change error messages to indicate that "Check and repair book links" should be used following an OverDrive library-id configuration change.

Make link migration performed by "Check and repair book links" function properly for more libraries.

Improve detection during search of books removed from library collections. (Only effective if the "Update current availability of books with new links" configuration option is selected.)


Version 2.0.0 - 16 Sep 2016

Separate the logic of finding new links from the removal of outdated links. Searches will now only add new links, never remove them (unless a current availability check is also done.) The configuration option to Unlink books if no longer found by search has been removed. Unchanged links will no longer be reported in the search results summary.

The Check current availability of selected books menu choice is now available even when the ol_wait_weeks custom column does not exist. Besides determining the wait to borrow, this will also check for books no longer available at the lending library and remove the link if so. All links are checked, even those for disabled libraries.

A new configuration option, Update current availability of books with new links will cause a check for the current availability/wait to be done for books whenever a new link is found by a search.

The Search for books by selected authors menu choice will now update links for all books by the same author(s) in the calibre library, even if they are not selected when the search is started.

Allow multiple search jobs to be active for the same set of books. Results may be inconsistent if the same books are updated in different ways.

The Unlink selected books menu choice now presents a submenu to allow more flexibility in link removal.

The overdrive_link_library_groups plugin tweak now enables a single menu choice, Set library group, that will select a group of libraries for subsequent searching.

In the Discovered Books dialog: The new Update button will match a single selected book to an existing calibre book, providing a list of suggested books to choose from. (Useful if a discovered book should actually match an existing calibre book, but failed to do so due to a mismatch in the title.) The new Discard Dupes button will mark all duplicate discovered books to be discarded. The Update Existing button was renamed to Update Match.

The plugin tweak overdrive_link_amazon_ident can be set to override the identifier used for the Set 'amazon' identifier for Kindle e-books configuration option. See the help section on Configuring Tweaks for more information.

Faster, but more strict, book matching algorithm.

Rename the embedded metadata plugin to "Overdrive Link*" to keep it separate from the main plugin.

Fix errors and missed books when searching Amazon, Axis 360, Hoopla, OverDrive (2016 website layout), and Scribd resulting from various website changes.

A major change to the OverDrive website design is being rolled out to lending libraries in 2016. With this redesign the identifiers associated with books will change, making links to book web pages partially incompatible with the old website design. Links previously created by searching will still function after a library migrates to the new design, but future searches will create different links, resulting in both old and new links existing for the same book. The Check current availability of selected books menu choice can be used to remove old-style links and replace them with the equivalent new-style.

Signing in to OverDrive sites with the new 2016 layout is not yet supported.


Older Versions
The version history for plugin releases prior to version 2.0.0 can be found in in the Overdrive Link thread on MobileRead Forums.


Special Notes:
  • Requires calibre version 1.17.0 or later.

Installation Notes:
  • Install the plugin and restart calibre as described in the Introduction to plugins thread.
  • Select Customize plugin from the plugin menu (or via Preferences -> Plugins).

Attached Files
File Type: zip Overdrive Link.zip (1.05 MB, 19356 views)

Last edited by jhowell; 10-31-2023 at 10:55 AM. Reason: Release 2.57.0
jhowell is offline   Reply With Quote
Old 08-14-2012, 01:25 AM   #2
theducks
Well trained by Cats
theducks ought to be getting tired of karma fortunes by now.theducks ought to be getting tired of karma fortunes by now.theducks ought to be getting tired of karma fortunes by now.theducks ought to be getting tired of karma fortunes by now.theducks ought to be getting tired of karma fortunes by now.theducks ought to be getting tired of karma fortunes by now.theducks ought to be getting tired of karma fortunes by now.theducks ought to be getting tired of karma fortunes by now.theducks ought to be getting tired of karma fortunes by now.theducks ought to be getting tired of karma fortunes by now.theducks ought to be getting tired of karma fortunes by now.
 
theducks's Avatar
 
Posts: 30,455
Karma: 58055868
Join Date: Aug 2009
Location: The Central Coast of California
Device: Kobo Libra2,Kobo Aura2v1, K4NT(Fixed: New Bat.), Galaxy Tab A
Moderator Notice
Moved to plugins. The development forum is viewed mainly by developers

Just put your new plugins information (use existing PI thread as a model) into this Message with the plugin attached.

PM Me and I can change the title of this thread to what the PI is about (please supply the new subject line and I will paste it in place).
theducks is offline   Reply With Quote
Advert
Old 08-14-2012, 12:29 PM   #3
jhowell
Grand Sorcerer
jhowell ought to be getting tired of karma fortunes by now.jhowell ought to be getting tired of karma fortunes by now.jhowell ought to be getting tired of karma fortunes by now.jhowell ought to be getting tired of karma fortunes by now.jhowell ought to be getting tired of karma fortunes by now.jhowell ought to be getting tired of karma fortunes by now.jhowell ought to be getting tired of karma fortunes by now.jhowell ought to be getting tired of karma fortunes by now.jhowell ought to be getting tired of karma fortunes by now.jhowell ought to be getting tired of karma fortunes by now.jhowell ought to be getting tired of karma fortunes by now.
 
jhowell's Avatar
 
Posts: 6,762
Karma: 86500093
Join Date: Nov 2011
Location: Charlottesville, VA
Device: Kindles
Plugin version history prior to version 2.0.0:

Spoiler:


Version 1.43.0 - 02 Aug 2016

Fix error seen when searching Freading. (Fixes Server response error (missing "div id=all-results"))

3M Cloud Library is now known as Cloud Library. The internal identifier for Cloud Library links will remain '3m' for compatibility with previous plugin versions.

Use the folder "Overdrive Link Logs" in the plugin configuration directory instead of the current directory of the calibre process for storage of temporary debug files.


Version 1.42.0 - 13 Jul 2016

Handle domain name change of 3M Cloud Library from ebook.3m.com to ebook.yourcloudlibrary.com.

Allow search for recommendable books at new-style (2016) OverDrive sites.

Fix inability to sign in to the recently modified OCLS Freading site. (Fixes Failed to locate sign in form)

Fix error when checking current availability of Scribd books. (Fixes Exception (Missing Scribd.R.render(Scribd.R.Shared.React.LibraryButto n)))


Version 1.41.0 - 10 May 2016

Fix errors when searching new-style (2016) OverDrive sites. (HTTPError (Internal Server Error))

Fix search for recommendable books at legacy OverDrive sites, broken in version 1.37.0. Search for recommendable books is not currently available for new-style (2016) OverDrive sites.


Version 1.40.0 - 03 May 2016

Allow the overdrive_link_library_groups tweak to also be used for unlinking books from libraries.

Allow a double colon ('::') to mark an optional prefix for book titles.

Show Scribd books that require an account credit as having a one week wait when checking current availability.

Fix errors when searching Scribd resulting from a website change. (Server response error (missing "div class=page_header"))

Ignore empty book flag at Scribd instead of producing a warning. (Fixes Unknown book flag)

Fix error when an Amazon search finds a book with no title. (IndexError (list index out of range))


Version 1.39.0 - 01 Mar 2016

Fix failure to search OverDrive libraries whose host name ends with "libraryreserve.com". (Signing in to xxx: : HTTPError (Not Found))

Ignore any suffix contained in square brackets following an author name in the user's calibre library. (eg: John Smith [editor])


Version 1.38.0 - 22 Feb 2016

Fix error when searching OverDrive libraries. (Server response error (missing "span class=title-format-badge"))

Fix occasional error when searching Scribd resulting from a website change. (HTTPError (Gone))

Fix errors when searching Amazon resulting from a website change. (Server response error (missing "span id=productTitle"))

Handle design change at the Internet Archive website. (Fixes no books found when searching the 'read' collection at Open Library.)


Version 1.37.2 - 08 Feb 2016

Fix error when checking current availability of books at OverDrive libraries. (OverDriveLegacy instance has no attribute 'signed_in')


Version 1.37.1 - 05 Feb 2016

Fix error when searching OverDrive libraries. (AttributeError ('function' object has no attribute 'id'))


Version 1.37.0 - 05 Feb 2016

Support a major change to the OverDrive website design being rolled out to lending libraries in 2016. Most importantly for users of this plugin, the identifiers associated with books have changed, making links to book web pages partially incompatible with the old website design. Links previously created by searching will still function after a library migrates to the new website, but future searches will create different links and the old links will be removed. (In order for old link removal to occur you must select the option Unlink books if no longer found by search in the plugin configuration. Otherwise both old and new links will exist for the same book.)

Usually the library-id (website host name) of an OverDrive library will change when the library is migrated. The plugin detects host name redirection during search and notifies you by an error message that a configuration change is needed. After updating the configuration you should use the menu choice Check and repair book links to migrate existing book links to the new library-id. (The plugin checks for host names changed by adding or removing ".lib.", which is what OverDrive does typically. If the host name is changed in some other manner it will not be possible to migrate links and they will need to be re-established by performing new searches.)

The plugin detects and keeps track of the website type (old or new) for each lending library. This may sometime fail causing books links to work incorrectly. If this occurs a restart of calibre should correct the problem. Once all libraries have migrated to the new design the plugin will be updated to remove support for old websites and then this will no longer be an issue.

The process of signing in using the new website design has not yet been tested. If you experience a sign-in error then clear the card number field in the plugin configuration for that lending library to avoid the sign-in process.

------

Enhance the overdrive_link_library_groups tweak to also be used for checking the current availability of linked books.

Support additional non-ASCII characters in author names.

Ignore non-functional books at Scribd. (These books show a small number of pages, but cannot actually be read.)

Fix missing result when searching for a single book at Hoopla.

Fix occasional error when searching at 3M Cloud Library. (Fixes AttributeError ('int' object has no attribute 'read'))

Improve handling of request throttling by Amazon.

Remove support for the Amazon Product Advertising API. The Amazon web site will be used for searches instead.

Remove support for the Oyster service, which has been discontinued as of early 2016. Any left over links to Oyster books can be removed by using the Check and repair book links menu choice.


Version 1.36.0 - 19 Nov 2015

Add Audible as a provider. Only the US site (www.audible.com) is supported, the library-id must be set to "store", and the "Other/app/player" audiobook format must be enabled for searching.

Show links for purchasable books in the book details panel.

Add a configuration option to disable the job completion popup dialog. (Disable job completion popup dialogs) If set then all changes will be applied automatically without any notification upon search completion.

Handle minor design change at OverDrive websites. (Fixes Server response error (Cannot find pre-release available date).)

Fix bug in sign-in to OverDrive libraries that use external authentication and also those that require a branch ID when one was not entered in the configuration. (Fixes AttributeError (closeable_response instance has no attribute 'data'))

Fix error when a search finds a book at Amazon containing an author named "Various".

Handle occasional error from Amazon: We're sorry, an error has occurred. Please reload this page and try again.

Add a more explicit error message when checking book availability at Axis 360 for a book that is no longer in the library catalog.

Handle changes to Axis 360, now allowing access to e-books and audiobooks via a proprietary app.

Handle design change at the Scribd website. (Fixes HTTPError (Not Found).)

Fix parsing of publication date in Scribd search results.

Improve filtering of non-English results from Scribd when English language is configured for search.

Disable searches until calibre is restarted following a plugin update.


Version 1.35.0 - 05 Sep 2015

Groups of libraries can be configured for searching by setting the plugin tweak overdrive_link_library_groups. See the help section on Configuring Tweaks for more information.

Links in the ol_wait_weeks custom column can be filtered or sorted differently by setting the plugin tweak overdrive_link_wait_groups. See the help section on Configuring Tweaks for more information.

Detect when reaching the weekly limit on borrowing at Freading blocks the ability to borrow books and to detect pre-release books.

Change Scribd search to switch more quickly to searching by author name when too many results are returned using regular search.

Handle design change at the Scribd website. (Search returning book series as if they were individual books.)

Handle design change at the Hoopla website. (Fixes occasional Server response error (Expected offset 40, but found 0) when searching.)

Improve handling of malformed web pages during sign in to libraries. (Fixes occasional UnicodeDecodeError: 'utf8' codec can't decode byte)

Fix handling of books with multiple authors at Axis 360.

Handle design change at Amazon website that caused authors to be missed for some books.

Ignore additional non-author creators for Amazon books, such as illustrators and narrators.

Improve handling of discovered books when alternate author names are configured.

Handle design change at the Internet Archive website. (Fixes no books found when searching the 'read' collection at Open Library.)


Version 1.34.1 - 06 Jun 2015

Handle further change to the OverDrive website design. (Fixes Server response error (Unexpected hold info: Holds position: You are next in line for this title) and Server response error (missing "h6 id=waitlimit") when checking current availability of books.)


Version 1.34.0 - 03 Jun 2015

Handle change to the OverDrive website design. (Fixes Server response error (Unexpected hold info: Holds position:1 ahead of you) when checking current availability of books.)

If sign-in credentials are configured for a Hoopla library, but the library-id is not configured, the plugin will now detect and report the proper library-id instead of providing a list of libraries and making the user choose the correct one.

Providing credentials for 3M Cloud Library in the configuration will allow the plugin take into account the user's current position on the hold list for books, if any, when checking current availability. (Note: When not signed in, 3M occasionally shows books as being currently available to be borrowed when they are not.)

Fix occasional HTTPError (Internal Server Error) when checking for current book availability at 3M.


Version 1.33.0 - 19 May 2015

Allow searching for e-books and comics at Hoopla.

Handle change to Amazon website design. (Fixes Server response error (missing "h1 class=parseasinTitle").)

Avoid unnecessary sign ins to libraries when checking for current book availability.

Notify user if filtering of search results by Scribd is detected.


Version 1.32.0 - 12 May 2015

Add checking of the current availability of linked books to be borrowed and estimation of hold/wait time for books that are not immediately available. Results are provided via a custom column.

Handle change to Axis 360 website design. (Fixes Server response error (Cannot parse searchresultsummary: Titles that match).)

Improve book matching algorithm to take subtitles into account in more cases. This will reduce the number of instances where similarly named books are incorrectly linked.

Improve search for books at Oyster by doing additional searches using discovered author IDs.

Fix links for purchasable books at Oyster mistakenly shown as available to borrow.

Switch Scribd back to original search interface since that produces slightly better results.


Version 1.31.0 - 24 Apr 2015

Fix bug in Discover books by keyword. (Searches fail with UnboundLocalError (local variable 'odmatches' referenced before assignment).)

Handle the individual Enki web sites now used for each library. A library-id is now required in the configuration for Enki.


Version 1.30.0 - 20 Apr 2015

Handle 3M Cloud Library website redesign (version 2.0). (Fixes error: Exception (Missing mmmSearch).)

For links to books at 3M libraries to work properly, the plugin must determine whether each 3M library is using an old or new style website. This may cause a delay when links are displayed or accessed for the first time. The information is cached in memory, so if a library transitions to the new style, calibre will need to be restarted before book links to that library will function properly. This check will be eliminated in a future plugin version once all 3M libraries have been upgraded.

Handle a change in the web page layout of placeholders, representing a series of books at Scribd.

Change handling of Oyster to ignore books that are not available by subscription unless specifically configured to search for purchasable books at Oyster.

Improve detection of incomplete titles for some known book series.

Improve book discovery for configured author name equivalents.


Version 1.29.0 - 01 Apr 2015

Handle change to OverDrive causing errors during sign in. (Sign in form missing user/card field.)

Prevent occasional missed books when a search of OverDrive returns multiple pages of results.

Ignore Amazon ASINs that represent a bundle of books in a series instead of an individual book.

Parse series information from Amazon book pages and attempt to remove series suffix from book title. (Only done if the Amazon Product Advertising API is not configured.)

Increase delay before retrying when throttling of requests by Amazon or Scribd is detected.

Ignore zero-page e-books used by Scribd as a placeholder representing a series of books.

Correct occasional incorrect author order for multiple-author books at Scribd.

Use new "v2" search interface at Scribd and fall back to doing search by author if too many results are returned by the regular search.

Improve support for comic books at Scribd. Because of the way that comic books are indexed at the site, links may be created to individual volumes, placeholders representing a set of volumes, or both.

Search for recommendable books at Scribd is no longer supported due to changes in the Scribd search interface.

Cache information obtained from the Internet Archive for better performance when searching Open Library.

Retry on occasional "No JSON object could be decoded" errors reported by Open Library.

Add table of contents with clickable links to the beginning of the "help" dialog for easier navigation.


Version 1.28.0 - 22 Feb 2015

Support Kindle Unlimited at amazon.ca. Set the library-id to ca-unlimited for Kindle Unlimited or ca-store for all purchasable Kindle e-books at amazon.ca.

Fix continuous retries preventing job completion when a non-e-book result is mistakenly returned by an Amazon search.

Handle major change to OneClickdigital website. Books there are now referenced using ISBN instead of an arbitrary number, so links created by previous versions of the plugin will no longer function properly. Outdated links can be removed using the Check and repair book links menu choice.

Fix discovery of books by keyword, broken in the previous version of the plugin.


Version 1.27.0 - 05 Feb 2015

Allow filtering of the discovered book display using searches similar to the main calibre search interface.

Show up to 10 links in the book details panel. Previously only one link was displayed. The maximum number of links to display can be changed by setting the plugin tweak overdrive_link_max_book_panel_links to the desired number. (Requires calibre 2.19 or later.)

Allow new links that are found while searching for a non-primary author of a previously discovered book to be added to the book. (This may result in inconsistent availability being reported for multi-author books depending on which author is chosen for the search when the listed authors differ across book providers as happens for some anthologies.)

Added configuration option to allow the list of unchanged links to be omitted from the search results summary.

Added configuration of authors for whom discovery of new books is not allowed, even if Search for books by selected authors is used for that author's books.

Allow SSL certificate verification to be disabled within the plugin by setting the plugin tweak overdrive_link_disable_ssl_verification = True . Doing this will eliminate the SSL: CERTIFICATE_VERIFY_FAILED error which can occur with version 2.16 or newer of calibre. It is recommended the the underlying cause of the certificate problem be corrected as soon as possible since it may indicate a security problem with the user's system.

Improve search for authors who use one or more initials instead of a first name.

Improve search at Scribd for author names that contain an apostrophe.

Produce a specific error message when a query is redirected to the home page by Scribd. (This appears to be an occasional Scribd problem.)

Avoid caching book information for recommendable books at OverDrive since the listed formats are sometimes incorrect.

Improve parsing of Freading book pages to prevent occasional error: Server response error (missing "a class=authorName")

Handle EBSCOhost web site change in search results.


Version 1.26.0 - 02 Jan 2015

Add Project Gutenberg as an e-book provider. The plugin menu choice, Build index for Project Gutenberg, is used to download a catalog of books and create an index for subsequent searches.

Handle a recent change to the Open Library search API that caused searches to fail.


Version 1.25.0 - 23 Dec 2014

Added search for Open Library books that can be read online or downloaded without borrowing. (Public domain books from Internet Archive.) Configure a library with a provider of Open Library and a library-id of read.

Allow configuration of authors to be excluded from search, even if they are co-authors with desired authors. Enter each name in curly braces as a separate line in the configuration under Author name variants. e.g.: {SparkNotes}

Do not remove invalid library configuration data. Instead keep it, but prevent searches until it is corrected.

Handle Scribd books that are unavailable due to geographic restrictions.

Fix missing or incorrect edition year on titles of some annual short story collections on OverDrive.

Exclude undesired content types (e-book or audiobook) during searches at 3M to improve performance.

Fix links of discovered books that become unavailable not always being removed.

Fix occasional "KeyError" at job completion following a search of Amazon.

Report library validation errors received from OneClickdigital.

Handle Amazon Kindle e-books whose web page shows an "unavailable" warning message. (Note: The optional Amazon Product Advertising API does not indicate the unavailable status of books.)

Fix some books mistakenly being reported as available from Open Library when they are not.


Version 1.24.0 - 26 Nov 2014

Handle format name changes at OverDrive that were causing searches to fail. (Elimination of the "Adobe" prefix and addition of library-specific prefixes in some cases.)

Handle Scribd books that go directly to the reading page, without showing the book details. (This happens for some graphic novels.)

Report a warning if a search to discover books by an author detects new links for an existing calibre book by the author, not selected when the search was started. (If you want the links to be added, redo the search with that book selected.)

Detect OverDrive web pages with incorrect HTML (unterminated CDATA sections) and allow them to be parsed properly.

Log more details during search.

Show progress bar if queuing multiple jobs causes a delay.

Small performance improvement in handling large numbers of discovered books.


Version 1.23.1 - 08 Nov 2014

Fix narrator sometimes listed as author for audiobooks at Scribd.

Fix occasional errors while searching due to new default filtering of books containing adult content by Amazon. (These books will not be filtered in plugin search results.)


Version 1.23.0 - 07 Nov 2014

Support searching for audiobooks at Scribd.

Display the search results summary before the detailed job completion log when "View log" is selected in the search completion popup. (The "View log" dialog box can be resized to be more readable than the small search completion pop-up.)

To reduce the size of the search completion popup, the search result summary will no longer be shown by default. The "Show details" button can be used to display the summary. The previous behavior can be restored by selecting "Show result summary in popup" in the plugin configuration.

Shorten the label on the search completion pop-up button from "Yes (without discovered)" to "Non-* only".

Fix search by keyword results being improperly filtered for Scribd and Oyster.

Allow the plugin to be added to the device toolbar.


Version 1.22.1 - 28 Oct 2014

Support additional changes at Amazon that were causing some searches to fail.


Version 1.22.0 - 27 Oct 2014

Add support for e-book lending service Oyster. (Results may be incomplete for some authors due to limitations in the maximum number of results returned by Oyster web search.)

Separate the contents of the search completion summary with blank lines for better visibility in calibre 2.7 and later. (The narrow pop-up often causes individual lines of results to be wrapped.)

Support recent changes at Amazon that were causing some searches to fail.

Show the plugin icon in the search completion pop-up. (calibre 2.7 and later)

Eliminate warning messages for incorrect website behaviors that are known to occur frequently.

Prevent an author name from appearing multiple times for the same book.


Version 1.21.0 - 22 Oct 2014

Support recent changes at Freading that were causing searches to fail.

Add compatibility with completion dialog changes expected in calibre 2.7. With that calibre version it will no longer be possible to change the size or position of the completion dialog. (calibre versions prior to 1.17 are no longer supported.)

Retry OverDrive sign in if URLError Name or service not known occurs during form submission.

Log when searching is skipped because a provider supports none of the configured book formats.

Eliminate logging of library card number during OverDrive sign in.


Version 1.20.0 - 09 Oct 2014

Handle sign in to OverDrive libraries that use external authentication, such as WILBOR (West/Central Iowa Libraries Building Online).

Add pacing of Scribd queries to reduce the chance of being throttled. Add a long delay between queries when throttling is detected.

For Scribd report changes in the number of search results for different pages of the same result set as a warning instead of an error since it happens frequently. (Scribd search results may be incomplete.)


Version 1.19.0 - 01 Oct 2014

Allow searching for purchasable e-books supporting "Whispersync for Voice" at Amazon. (Use library-id w4v.store)

Show all searched books for which no results were found in the "UNCHANGED LINKS" section of the search summary report.

Show configuration errors in red below the table of libraries when editing the library configuration.

Change the search algorithm for Scribd to provide more complete results. This will increase search time in some cases.

Provide corrections for a few books that have known bad metadata at various library sites.

Fix bug that caused Scribd books cached by older plugin releases to be missed by searches.

Fix some cases of links not being removed for discovered books that later become unavailable.


Version 1.18.0 - 24 Sep 2014

Allow searching Kindle Unlimited at Amazon UK.


Version 1.17.3 - 24 Sep 2014

Bug fixes: Fixed incorrect reporting of some previously discovered books with multiple authors as being newly discovered. Treat Scribd book samples as unavailable books. Fixed searching for both e-books and audiobooks in same search at 3M. Escape html in job log.


Version 1.17.2 - 21 Aug 2014

EBSCOhost search debugging.


Version 1.17.1 - 20 Aug 2014

EBSCOhost login debugging.


Version 1.17.0 - 20 Aug 2014

Allow discovery of books based on multiple authors of selected books (instead of just the first author of each book) when "Max authors to search per book" is set greater than one.

Sort e-book links before audiobook links in search results and discovered book table.

Handle EBSCOhost access via a proxy URL.

Minor bug fixes and internal improvements.


Version 1.16.0 - 26 July 2014

Add Kindle Unlimited with Narration as a searchable collection at Amazon. To use add a library with the provider of Amazon and library-id of kuwn.

Prevent searching for books when a search for the same book is already in progress.

Fix bug: When the "Maximum authors per search job" configuration option was at its default value of 0 (no splitting), each author's books was split into an individual search job. For anyone who likes that behavior, it can be achieved by setting the option to 1 instead of 0.

Fix bug where search results from one job could be repeated in another job.


Version 1.15.2 - 24 July 2014

Fix support for Freading, broken by recent changes made at the Freading website.


Version 1.15.1 - 23 July 2014

Fix bug causing Kindle Unlimited searches to not return correct results.


Version 1.15.0 - 23 July 2014

Changed both Amazon and Open Library to require the collection to be searched to be set as the library-id in the plugin configuration. For libraries configured using a previous release of the plugin, prime will be assumed for Amazon and inlibrary will be assumed for Open Library. Update your library configuration if something else is desired.

Added a menu choice, Check and repair book links, which will check the link identifiers for books in the calibre library and discovered books for problems. Any incorrect links will be listed with the option to correct them.

Users of previous versions of this plugin should use Check and repair book links prior to doing any new searches in order to migrate Amazon and Open Library links to be compatible with this plugin version.

Add support for Amazon Kindle Unlimited. (US only.)

Added provider Enki Library.

Fix support for Amazon Kindle Owner's Lending Library (US), which was broken by web site changes made by Amazon.

Remove the configuration option to search for purchasable books. This is replaced by the ability to configure the US Amazon store as a searchable "library".

Add a cache of library books details for faster results when searches for the same books are repeated from time to time.

Treat a failure to get a consistent set of results from Amazon as a warning, instead of an error, since this occurs frequently.

Use regular expression search for Select previously linked books in cases where using the default, sub-string, search method could result in incorrect books being selected.

Minor bug fixes.


Version 1.14.0 - 11 July 2014

Moved to the 'new' calibre database API for better performance. (Requires calibre 1.0 or later.)

Add support for PyQt5 as required for the upcoming calibre 2.0.

Fix bug causing recommendable links to not be removed when a book becomes available at a library.

Retry sign in to an OverDrive library when it fails due to an authentication server problem.

Added plugin tweak "overdrive_link_ignore_login_failure = True", which will cause searches to be performed even if sign in to a library fails.

List links to e-books before audiobooks in plugin menu.


Version 1.13.1 - 08 July 2014

Fix "TypeError: lending_library_search_job() got an unexpected keyword argument 'log'" when not configured to allow multiple search jobs to run simultaneously.


Version 1.13.0 - 08 July 2014

Added providers EBSCOhost, Hoopla and Scribd.

Allow non-US domains for OneClickdigital.

Preliminary support for audiobooks at 3M Cloud Library. (They are expected to become available in August 2014.)

Better support for multiple author books, such as collaborations and anthologies, with a configuration option to control how many of a calibre book's authors are used for searching.

Search by title at Freading for books with multiple authors since Freading doesn't always list authors for those books.

Improve book matching to handle the case of a series name being used as a prefix to book titles. (e.g.: Worldwar: In the Balance and Worldwar: Tilting the Balance)

Add more choices of searchable book format. When searches are done for only e-book or only audiobook formats then pre-existing links for the other type will no longer be removed.

Support the Amazon Product Advertising API for faster searches.

Include a count of warnings in the search completion dialog and add a configuration option to include warning messages in the search completion report.

Minor fixes: Reduce occurrences of reports of excessive library links and report them as warnings instead of errors. Create submenus for large numbers of book links. Combine metadata for discovered books from different library providers. Sort discovered books in search results. Increase pacing delay between Amazon queries. Fix minor bugs.


Version 1.12.3 - 05 June 2014

Fix Freading search results truncated to first 16 due to website changes.


Version 1.12.2 - 30 May 2014

Fix search errors resulting from OverDrive website changes. (Expected # results but found only 0)


Version 1.12.1 - 15 May 2014

Make sure that an error message is displayed upon failure to queue a job completion dialog box.

Fix error (AttributeError: mechanize._mechanize.Browser instance has no attribute replace) when signing in to a library with a branch id.


Version 1.12.0 - 06 May 2014

Starting with this release of the plugin, links to audiobooks and e-books will be kept independently of each other. This makes it possible to search for calibre books with links of one type or the other and to tell which type of links a particular book has by using the plugin menu. Links to audiobooks are indicated in search results and in the discovered books table with a prefix of "#". Menu choices are available to search for calibre books linked to audiobooks. (Links to audiobooks generated by previous versions of the plugin will be treated the same as e-books. New searches will update existing links. Make sure the configuration option "Unlink books if no longer found by search" is set.)

Do author name searches at Freading in both "last, first" and "first last" formats to detect books that are listed at Freading either way.

Handle recent changes to 3M library sites that were causing search failures. (The changes were apparently made to support audiobooks, however no 3M libraries appear to have any audiobooks in their collections at this time.)

Do author name searches with and without accented characters. Previously accented characters were always replaced. This improves searches at 3M.

Excessive links to a single lending library for the same book may indicate that multiple library books have been incorrectly matched to a single calibre book. This sometimes occurs for books of a series all listed under the same name. An excessive number of links will now be reported as an error during search. (Note: There may be cases where a large number of links occur legitimately. For example, classic public domain books are available in a large number of editions. These errors should be ignored.)

Miscellaneous bug fixes: Detect which 3M libraries support recommendations. Fix occasional "Unpaired info" error for 3M books. Fix occasional "ValueError invalid literal for int with base 10". Match abridged/unabridged editions for audiobooks. Retry when Amazon occasionally returns an empty book page. Prevent excessive stripping of book subtitles. Fix reporting of OverDrive branch ids for consortia.


Version 1.11.0 - 21 Apr 2014

Added provider Axis 360.

Handle OverDrive sites that require a session to be established before performing a search (Toronto Public Library).

Support Overdrive sites that require sign in before allowing searches (school libraries).

Treat books with identical isbn as matches, even if titles or authors don't match.

Miscellaneous bug fixes and minor improvements.


Version 1.10.2 - 12 Mar 2014

Handle change made by Overdrive to search results page format.


Version 1.10.1 - 05 Mar 2014

Bug fixes for Amazon support.

Performance improvements.


Version 1.10.0 - 11 Feb 2014

Support additional provider, Amazon Kindle Owners' Lending Library, for US Amazon Prime members. Can search for books that can be borrowed or purchased from Amazon. Can update the 'amazon' book identifier.

Ability to configure author name variants to improve search and match accuracy.

Preserve the dialog box size and position, column sizes and sort order for Manage discovered books.

Show links for recommendable (!) and purchasable ($) books in the discovered books dialog.

Simpler book matching algorithm, eliminating the match confidence configuration parameter.

Faster book matching and handling of discovered books.

Rename associated metadata plugin from "Overdrive Link Helper" to "Overdrive Link".

Miscellaneous bug fixes.


Version 1.9.0 - 24 Dec 2013

Support additional lending library service providers OneClickdigital and Open Library.

Discovery of books by searching using keywords. Useful for finding books about a particular topic regardless of the author.

Remember the size and position of the search results dialog box and display result details immediately without the need to click the Show Details button. (Requires calibre version 1.17 or later.)

Support old-style Overdrive web sites, such as the Boston Public Library, by using search.overdrive.com. This is slower and less accurate than the algorithm used for new-style library sites.

Use worldcat.org to find author names for books in cases where Freading returns none.

Reduce likelihood of incorrectly matching words in titles that sound similar.


Version 1.8.0 - 06 Nov 2013

In addition to Overdrive, supports lending library providers 3M Cloud Library and Freading.

Reverted back to having 'Search for books by selected authors' as a menu choice instead of a configuration option.

After searching to discover new books by selected authors, discovered books are proceeded by '*' in the details and the confirmation dialog now allows the discovered book results to be discarded by choosing "Yes (without discovered)".

Improve searching for anthologies.

Prevent Roman numbers in titles from matching similar numerals.

Unlink was removing links for disabled libraries, which should remain.


Version 1.7.1 - 26 Oct 2013

Fix bugs searching authors with multiple initials or apostrophes in names

Fix error when updating discovered books: NameError: global name 'add_olinks' is not defined

Fix occasional error with previously linked books: ValueError: Olink crid must be a UUID

Reduce visible HTML tags in job details when running as a ParallelJob


Version 1.7.0 - 24 Oct 2013

Searching for books is now done using the individual Overdrive library websites instead of search.overdrive.com. This is faster and produces more complete search results.

Added the search configuration option "Check for books that can be recommended for acquisition (slow)". This causes each subsequent search to perform an additional check for books recommendable for acquisition by a library, but not currently available in the library's collection. The 'odrid' book identifier has been added to store links to these books at Overdrive libraries. Selecting any of the recommendable books that have been linked by a search will enable the menu choice of "Recommend book to libraryname", which will open a web browser to the page that the user can use to issue a recommendation for the library to acquire the book.

Replaced the "Search Overdrive for books by selected authors" menu item and "Save discovered unavailable books" configuration option with the new search configuration option, "Discover more books by authors of selected books". During search, this will save information about any newly discovered books by the authors of the selected books that are not currently present in calibre. The menu choice to manage this list has been renamed from "Manage Search-by-authors results" to "Manage discovered books".

In search results the links to available books in the library collection are displayed as "@libraryname" and links to books that can be recommended for acquisition are displayed as "!libraryname".

The submenu choices of "Select previously linked books" have been changed. "Select all previously linked books" is now "Select all available books". There is a new section with "Select all recommendable books" and select recommendable books at individual libraries. The recommendable books choices will not select books that are available from a library.

Renamed the configuration option "Allow multiple simultaneous jobs" to "Allow search jobs to run simultaneously".

Renamed the configuration option "Automatically select modified books" to "Mark changed books". This option will mark books that have been modified by the plugin, but will no longer cause a search for the marked books to be performed afterwards.

Eliminated the configuration options "Exclude books with tags matching" and "Proxy URL".


Version 1.6.0 - 18 Jun 2013

Handle parsing of recent change to Overdrive library websites

Option to split large searches into multiple jobs

Option to exclude books from search based on tags

Option to change search language, defaults to English

Option to save discovered, but unavailable, books to be excluded from future searches


Version 1.5.0 - 14 Mar 2013

"Discard Existing" changed to "Update Existing" in the "Manage Search-by-authors results" dialog (Updates Overdrive links of corresponding calibre books that were manually added subsequent to a search.)

Optional configuration of a SOCKS proxy to be used when searching Overdrive

More frequent updates to search job status and progress


Version 1.4.0 - 13 Feb 2013

Support Overdrive library consortia that require a branch to be selected during sign in

Fix exception when changing the priority of a newly configured Overdrive library


Version 1.3.2 - 15 Jan 2013

Fix incorrect handling of authors in last,first format in some cases

Find book matches by including partial title when a search by only author exceeds the search limit


Version 1.3.1 - 06 Jan 2013

Fix exception when attempting to configure a new library


Version 1.3.0 - 29 Dec 2012

Optional sign in with user's credentials to detect additional books available through Overdrive Advantage

Handle further changes in the Overdrive website redesign

Extend timeouts for slow responding websites


Version 1.2.2 - 06 Dec 2012

Handle changes at Brooklyn Public Library website

Additional default sample libraries


Version 1.2.1 - 20 Sep 2012

Bug fix for occasional error in menu display


Version 1.2.0 - 19 Sep 2012

Generate the menu actions ahead of time for compatibility with keyboard shortcuts and the Favourites Menu plugin.

Show both regular search and search for other available books by author in the plugin menu.

Performance improvements in 'Manage Search-by-author results' dialog.


Version 1.1.0 - 06 Sep 2012

Added searching by author for available Overdrive books that are missing from the calibre library.

Improvements to the fuzzy matching algorithm for titles and authors.

Reorganization of configuration options.

Reorganization of search results report.


Version 1.0.2 - 14 Aug 2012

Bug fix. (Prevent possible crash!)


Version 1.0.1 - 14 Aug 2012

Bug fix. (object has no attribute 'ids')


Version 1.0.0 - 14 Aug 2012

Initial release.

I have been working on a GUI plugin for Calibre to meet a need I have to find books of interest at my local e-book lending library, powered by Overdrive. I am continuing to tinker with the software, but it has reached the point where it is useful for me and might be of use to others.

This is my first software development using Python. I followed examples and borrowed code liberally from existing plugins. (Thanks kiwidude!) This plugin has only been tested under 64-bit Windows 7 with Calibre versions since 0.8.60, but I don’t see any reason why it shouldn’t work on the other platforms that Calibre supports.

Last edited by jhowell; 09-13-2016 at 10:29 AM.
jhowell is offline   Reply With Quote
Old 08-14-2012, 02:03 PM   #4
GRiker
Comparer of the Ephemeris
GRiker ought to be getting tired of karma fortunes by now.GRiker ought to be getting tired of karma fortunes by now.GRiker ought to be getting tired of karma fortunes by now.GRiker ought to be getting tired of karma fortunes by now.GRiker ought to be getting tired of karma fortunes by now.GRiker ought to be getting tired of karma fortunes by now.GRiker ought to be getting tired of karma fortunes by now.GRiker ought to be getting tired of karma fortunes by now.GRiker ought to be getting tired of karma fortunes by now.GRiker ought to be getting tired of karma fortunes by now.GRiker ought to be getting tired of karma fortunes by now.
 
Posts: 1,496
Karma: 424697
Join Date: Mar 2009
Device: iPad
@jhowell - great idea!

I just installed your plugin, and added spl.lib.overdrive.com, and made it the first library in the list.

I then added an empty book in calibre, then populated it with 'A Short History of Nearly Everything' by Bill Bryson, then searched for the book.

Running in debug mode, I see that your plugin found the book with 100% confidence.

However, it then crashed with the following traceback:

Code:
Traceback (most recent call last):
  File "calibre_plugins.overdrive_link.dialogs", line 79, in do_book
AttributeError: 'ApplyProgressDialog' object has no attribute 'ids'
G
GRiker is offline   Reply With Quote
Old 08-14-2012, 02:31 PM   #5
jhowell
Grand Sorcerer
jhowell ought to be getting tired of karma fortunes by now.jhowell ought to be getting tired of karma fortunes by now.jhowell ought to be getting tired of karma fortunes by now.jhowell ought to be getting tired of karma fortunes by now.jhowell ought to be getting tired of karma fortunes by now.jhowell ought to be getting tired of karma fortunes by now.jhowell ought to be getting tired of karma fortunes by now.jhowell ought to be getting tired of karma fortunes by now.jhowell ought to be getting tired of karma fortunes by now.jhowell ought to be getting tired of karma fortunes by now.jhowell ought to be getting tired of karma fortunes by now.
 
jhowell's Avatar
 
Posts: 6,762
Karma: 86500093
Join Date: Nov 2011
Location: Charlottesville, VA
Device: Kindles
Quote:
Originally Posted by GRiker View Post
...
However, it then crashed with the following traceback:
...
Thanks for the feedback. I had made a last minute change and should have tested it. A fix (version 1.0.1) is available in the first post.

Last edited by jhowell; 08-15-2012 at 12:45 PM.
jhowell is offline   Reply With Quote
Advert
Old 08-14-2012, 02:45 PM   #6
GRiker
Comparer of the Ephemeris
GRiker ought to be getting tired of karma fortunes by now.GRiker ought to be getting tired of karma fortunes by now.GRiker ought to be getting tired of karma fortunes by now.GRiker ought to be getting tired of karma fortunes by now.GRiker ought to be getting tired of karma fortunes by now.GRiker ought to be getting tired of karma fortunes by now.GRiker ought to be getting tired of karma fortunes by now.GRiker ought to be getting tired of karma fortunes by now.GRiker ought to be getting tired of karma fortunes by now.GRiker ought to be getting tired of karma fortunes by now.GRiker ought to be getting tired of karma fortunes by now.
 
Posts: 1,496
Karma: 424697
Join Date: Mar 2009
Device: iPad
1.0.1 works as advertised.

G
GRiker is offline   Reply With Quote
Old 08-14-2012, 02:46 PM   #7
Gunnerp245
Gadget Freak
Gunnerp245 ought to be getting tired of karma fortunes by now.Gunnerp245 ought to be getting tired of karma fortunes by now.Gunnerp245 ought to be getting tired of karma fortunes by now.Gunnerp245 ought to be getting tired of karma fortunes by now.Gunnerp245 ought to be getting tired of karma fortunes by now.Gunnerp245 ought to be getting tired of karma fortunes by now.Gunnerp245 ought to be getting tired of karma fortunes by now.Gunnerp245 ought to be getting tired of karma fortunes by now.Gunnerp245 ought to be getting tired of karma fortunes by now.Gunnerp245 ought to be getting tired of karma fortunes by now.Gunnerp245 ought to be getting tired of karma fortunes by now.
 
Gunnerp245's Avatar
 
Posts: 1,169
Karma: 1043832
Join Date: Nov 2007
Location: US
Device: EE, Note 8
Excellent! Will try after work...
Gunnerp245 is offline   Reply With Quote
Old 08-14-2012, 02:57 PM   #8
GRiker
Comparer of the Ephemeris
GRiker ought to be getting tired of karma fortunes by now.GRiker ought to be getting tired of karma fortunes by now.GRiker ought to be getting tired of karma fortunes by now.GRiker ought to be getting tired of karma fortunes by now.GRiker ought to be getting tired of karma fortunes by now.GRiker ought to be getting tired of karma fortunes by now.GRiker ought to be getting tired of karma fortunes by now.GRiker ought to be getting tired of karma fortunes by now.GRiker ought to be getting tired of karma fortunes by now.GRiker ought to be getting tired of karma fortunes by now.GRiker ought to be getting tired of karma fortunes by now.
 
Posts: 1,496
Karma: 424697
Join Date: Mar 2009
Device: iPad
Removing libraries in the Customize dialog doesn't remove the corresponding entries from the plugin dropdown list.

G

Edit: Maybe I misunderstood the logic. Because the IDs were still associated with the book from the other libraries, maybe that's why they still show up, even though the other libraries were disabled.

Last edited by GRiker; 08-14-2012 at 03:12 PM.
GRiker is offline   Reply With Quote
Old 08-14-2012, 03:39 PM   #9
jhowell
Grand Sorcerer
jhowell ought to be getting tired of karma fortunes by now.jhowell ought to be getting tired of karma fortunes by now.jhowell ought to be getting tired of karma fortunes by now.jhowell ought to be getting tired of karma fortunes by now.jhowell ought to be getting tired of karma fortunes by now.jhowell ought to be getting tired of karma fortunes by now.jhowell ought to be getting tired of karma fortunes by now.jhowell ought to be getting tired of karma fortunes by now.jhowell ought to be getting tired of karma fortunes by now.jhowell ought to be getting tired of karma fortunes by now.jhowell ought to be getting tired of karma fortunes by now.
 
jhowell's Avatar
 
Posts: 6,762
Karma: 86500093
Join Date: Nov 2011
Location: Charlottesville, VA
Device: Kindles
Quote:
Originally Posted by GRiker View Post
Removing libraries in the Customize dialog doesn't remove the corresponding entries from the plugin dropdown list.

G

Edit: Maybe I misunderstood the logic. Because the IDs were still associated with the book from the other libraries, maybe that's why they still show up, even though the other libraries were disabled.
Removing an Overdrive library from the plugin's configuration has no effect on books that have already been linked to that library. The only noticible difference is that the links to an unconfigured library will be shown with a default name (based on the host name) rather than the previously configured short name for the library.

So selecting a book and then clicking the plugin's icon will always show the links established for that book, whether or not the library still exists in the configuration.

You can remove a link by either deleting the 'odid' identifier under Ids in the Edit Metatdata dialog for the book or by putting the library back into the configuration and selecting 'Unlink selected book...' from the plugin's menu. (The unlink function only removes links for configured libraries. It leaves links to unconfigured libraries alone. I may rethink that in a future release.)
jhowell is offline   Reply With Quote
Old 08-14-2012, 05:12 PM   #10
GRiker
Comparer of the Ephemeris
GRiker ought to be getting tired of karma fortunes by now.GRiker ought to be getting tired of karma fortunes by now.GRiker ought to be getting tired of karma fortunes by now.GRiker ought to be getting tired of karma fortunes by now.GRiker ought to be getting tired of karma fortunes by now.GRiker ought to be getting tired of karma fortunes by now.GRiker ought to be getting tired of karma fortunes by now.GRiker ought to be getting tired of karma fortunes by now.GRiker ought to be getting tired of karma fortunes by now.GRiker ought to be getting tired of karma fortunes by now.GRiker ought to be getting tired of karma fortunes by now.
 
Posts: 1,496
Karma: 424697
Join Date: Mar 2009
Device: iPad
If you don't normally keep the Book Details panel open (I don't), here's how to create a custom column to show books identified as available at your library by this plugin.

1) Create a custom column with a lookup name of 'at_library' and a Column heading of 'Available at Library'. Column type should be 'Column built from other columns', and the 'Show checkmarks' checkbox should be enabled.

2a) If you want the checkmarks associated with a particular Overdrive library, enter the following in the template field:
Code:
{identifiers:contains(ocls.lib,Yes,)}
'ocls.lib' should be replaced with the first part of the web address of your library. You can see these addresses in the Customize dialog of the plugin. They are unique for each Overdrive library.

2b) If you want the checkmarks associated with any discovered Overdrive books, enter the following in the template field:
Code:
{identifiers:contains(odid,Yes,)}
3) 'Sort/search column' should be set to 'Yes/No'

After creating the custom column, you will need to restart calibre for the changes to take place.

After restarting, any books identified as available from your local library by the Overdrive Link plugin will be shown with a checkmark.

G

Last edited by GRiker; 08-15-2012 at 12:25 PM. Reason: Added template for any Overdrive library
GRiker is offline   Reply With Quote
Old 08-14-2012, 06:31 PM   #11
jhowell
Grand Sorcerer
jhowell ought to be getting tired of karma fortunes by now.jhowell ought to be getting tired of karma fortunes by now.jhowell ought to be getting tired of karma fortunes by now.jhowell ought to be getting tired of karma fortunes by now.jhowell ought to be getting tired of karma fortunes by now.jhowell ought to be getting tired of karma fortunes by now.jhowell ought to be getting tired of karma fortunes by now.jhowell ought to be getting tired of karma fortunes by now.jhowell ought to be getting tired of karma fortunes by now.jhowell ought to be getting tired of karma fortunes by now.jhowell ought to be getting tired of karma fortunes by now.
 
jhowell's Avatar
 
Posts: 6,762
Karma: 86500093
Join Date: Nov 2011
Location: Charlottesville, VA
Device: Kindles
Found a bug that could potentially cause a crash of Calibre. Released version 1.0.2.
jhowell is offline   Reply With Quote
Old 08-15-2012, 10:15 AM   #12
Gunnerp245
Gadget Freak
Gunnerp245 ought to be getting tired of karma fortunes by now.Gunnerp245 ought to be getting tired of karma fortunes by now.Gunnerp245 ought to be getting tired of karma fortunes by now.Gunnerp245 ought to be getting tired of karma fortunes by now.Gunnerp245 ought to be getting tired of karma fortunes by now.Gunnerp245 ought to be getting tired of karma fortunes by now.Gunnerp245 ought to be getting tired of karma fortunes by now.Gunnerp245 ought to be getting tired of karma fortunes by now.Gunnerp245 ought to be getting tired of karma fortunes by now.Gunnerp245 ought to be getting tired of karma fortunes by now.Gunnerp245 ought to be getting tired of karma fortunes by now.
 
Gunnerp245's Avatar
 
Posts: 1,169
Karma: 1043832
Join Date: Nov 2007
Location: US
Device: EE, Note 8
@jhowell - I like it!
Gunnerp245 is offline   Reply With Quote
Old 08-15-2012, 10:18 AM   #13
Gunnerp245
Gadget Freak
Gunnerp245 ought to be getting tired of karma fortunes by now.Gunnerp245 ought to be getting tired of karma fortunes by now.Gunnerp245 ought to be getting tired of karma fortunes by now.Gunnerp245 ought to be getting tired of karma fortunes by now.Gunnerp245 ought to be getting tired of karma fortunes by now.Gunnerp245 ought to be getting tired of karma fortunes by now.Gunnerp245 ought to be getting tired of karma fortunes by now.Gunnerp245 ought to be getting tired of karma fortunes by now.Gunnerp245 ought to be getting tired of karma fortunes by now.Gunnerp245 ought to be getting tired of karma fortunes by now.Gunnerp245 ought to be getting tired of karma fortunes by now.
 
Gunnerp245's Avatar
 
Posts: 1,169
Karma: 1043832
Join Date: Nov 2007
Location: US
Device: EE, Note 8
Question

Quote:
Originally Posted by GRiker View Post
If you don't normally keep the Book Details panel open (I don't), here's how to create a custom column to show books identified as available at your library by this plugin. G
@GRiker - Thanks! I was going to ask how to do just that. But what if more than one Overdrive library was used?

@jhowell - Couldn't this be added to the plugin so that it would be automatic and not require manual configuration.

Last edited by Gunnerp245; 08-15-2012 at 10:19 AM. Reason: Clarification
Gunnerp245 is offline   Reply With Quote
Old 08-15-2012, 12:21 PM   #14
GRiker
Comparer of the Ephemeris
GRiker ought to be getting tired of karma fortunes by now.GRiker ought to be getting tired of karma fortunes by now.GRiker ought to be getting tired of karma fortunes by now.GRiker ought to be getting tired of karma fortunes by now.GRiker ought to be getting tired of karma fortunes by now.GRiker ought to be getting tired of karma fortunes by now.GRiker ought to be getting tired of karma fortunes by now.GRiker ought to be getting tired of karma fortunes by now.GRiker ought to be getting tired of karma fortunes by now.GRiker ought to be getting tired of karma fortunes by now.GRiker ought to be getting tired of karma fortunes by now.
 
Posts: 1,496
Karma: 424697
Join Date: Mar 2009
Device: iPad
Quote:
Originally Posted by Gunnerp245 View Post
@GRiker - Thanks! I was going to ask how to do just that. But what if more than one Overdrive library was used?
You can change the logic of the template to show a check mark whenever there's any odid content associated with the book:
Code:
{identifiers:contains(odid,Yes,)}
I'll edit my original post to reflect this alternative.

G

Last edited by GRiker; 08-15-2012 at 12:25 PM.
GRiker is offline   Reply With Quote
Old 08-15-2012, 12:27 PM   #15
jhowell
Grand Sorcerer
jhowell ought to be getting tired of karma fortunes by now.jhowell ought to be getting tired of karma fortunes by now.jhowell ought to be getting tired of karma fortunes by now.jhowell ought to be getting tired of karma fortunes by now.jhowell ought to be getting tired of karma fortunes by now.jhowell ought to be getting tired of karma fortunes by now.jhowell ought to be getting tired of karma fortunes by now.jhowell ought to be getting tired of karma fortunes by now.jhowell ought to be getting tired of karma fortunes by now.jhowell ought to be getting tired of karma fortunes by now.jhowell ought to be getting tired of karma fortunes by now.
 
jhowell's Avatar
 
Posts: 6,762
Karma: 86500093
Join Date: Nov 2011
Location: Charlottesville, VA
Device: Kindles
Quote:
Originally Posted by Gunnerp245 View Post
@GRiker - Thanks! I was going to ask how to do just that. But what if more than one Overdrive library was used?

@jhowell - Couldn't this be added to the plugin so that it would be automatic and not require manual configuration.
I’d also like to thank GRiker for the custom column idea. It does make the presence of library links much more visible.

Regarding the automatic creation of a custom column for library availability: While several existing plugins rely on custom columns, I don’t know of any that automatically creates a custom column. Perhaps someone with more experience with the internals of Calibre could comment on this.
jhowell is offline   Reply With Quote
Reply

Tags
id=model, overdrive


Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
[GUI Plugin] EpubMerge JimmXinu Plugins 542 10-28-2024 02:40 PM
[GUI Plugin] KindleUnpack - The Plugin DiapDealer Plugins 495 10-19-2024 07:06 AM
[GUI Plugin] EpubSplit JimmXinu Plugins 443 08-13-2024 04:20 PM
[GUI Plugin] FanFictionDownLoader JimmXinu Plugins 3985 05-09-2015 12:18 AM
[GUI Plugin] Plugin Updater **Deprecated** kiwidude Plugins 159 06-19-2011 01:27 PM


All times are GMT -4. The time now is 11:56 AM.


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