calibre already uses openlibrary with ISBNs for covers. You can handle special identifiers by simply having an in memory cache that maps ISBNs to the identifiers. See the amazon plugin for an example which maps isbns to asin and stores the result in a global cache.
Currently cover download is on a first result basis, i.e. as soon as a particular source returns a cover, calibre uses it, it does not wait to get covers from all sources and then pick the best one. Doing so is possible in principle but it means that the download will become much slower.
|