Skip to main content

Module source_catalog

Module source_catalog 

Source
Expand description

Every source doiget knows, whether or not this binary was built with it, and whether it can serve a given ref right now (#605).

fetch --dry-run lists candidate_hosts, and its own help says that is the static allowlist, “not a prediction”. Before deciding whether to wait for doiget or download a paper by hand, the question is different: can any configured source deliver this DOI, and if not, why not – not built, not enabled, no credentials, or the publisher is not one it covers. CATALOG is the list that answers it, and it exists in every build: a default binary has no Tier-3 code (ADR-0002), but it can still say that tdm-aps covers 10.1103 and needs --features tdm-aps.

This is a statement about reach, never about outcome: a source that is Ready for a DOI may still find nothing. The coverage report says so.

Structs§

SourceInfo
One catalog row.

Enums§

Availability
Whether a source can be asked about a ref right now.
Covers
Which refs a source is able to answer for.
Role
What a source can contribute to a fetch.

Constants§

CATALOG
Every source, in the order a fetch consults them.

Functions§

availability
Availability of info for ref_ under profile.
configured
Build and configuration state of info, with no ref to be in scope for: Availability::NotBuilt, Availability::NotEnabled or Availability::Ready – never NotCovered.
covers
Whether info covers ref_ by its own scope, ignoring build and config. A DataCite-only source is reported as covering every DOI: which agency registered a DOI is only known by asking.
for_publisher
Catalog rows relevant to publisher: a registrant prefix (10.1103) or a case-insensitive fragment of a publisher’s name (aps, springer). Sources that cover any DOI are always relevant.