mirror of
https://git.pumpin.online/funkpower/catena.git
synced 2026-11-14 08:05:40 +00:00
Merge remote-tracking branch 'origin/main' into issues-3-6
# Conflicts: # crates/bibfetch/src/source.rs
This commit is contained in:
3 files changed
+129
-79
No files matched your search
@@ -93,13 +93,18 @@ identifier is the only one that has it. A book is different. An ISBN is
|
||||
assigned by a publisher and recorded by whoever gets round to it, so an
|
||||
answer that names the book but not who wrote it is common — OpenLibrary's
|
||||
edition record names its authors by key rather than by name, and its index
|
||||
names them. The index answers about the work, though, not the edition: the
|
||||
publishers, languages, years and page counts it holds belong to every edition
|
||||
at once, so only the title, the authors and the subjects are taken from it,
|
||||
and the rest comes from the edition record for that ISBN. So the registers are
|
||||
asked in turn and the first complete answer wins. An incomplete one is kept in case nothing better comes, and a register
|
||||
names them. So the registers are asked in turn and the first complete answer
|
||||
wins. An incomplete one is kept in case nothing better comes, and a register
|
||||
being down is a failure only when every register is.
|
||||
|
||||
OpenLibrary's index answers about the work, not the edition: its publishers,
|
||||
languages, years and page counts are every edition's at once, and the first
|
||||
of each is usually another edition's. So for a book it gives only the title,
|
||||
the authors and the subjects, and the `container`, `language`, `year` and
|
||||
`pages` of a record come from the edition record for that ISBN, or from
|
||||
Google Books when the edition record does not say. A field neither gives is
|
||||
left out rather than filled from the work.
|
||||
|
||||
Google Books is asked last because it answers anonymous callers only until a
|
||||
daily quota runs out, after which it replies `429` to everyone sharing the
|
||||
address.
|
||||
|
||||
Reference in new issue
Block a user