comicbox.formats.base.online.credentials

source module comicbox.formats.base.online.credentials

Credential resolution chain for online sources.

Resolution order, per (source, field):

  1. CLI override via --auth <source>:<field>=<value>.
  2. Environment variable (COMICBOX_<SOURCE>_<FIELD>).
  3. Config file value (loaded by confuse into the online.auth.<source>.* block).
  4. Keyring lookup (passwords only, optional dependency, never written by comicbox).

Outputs an OnlineSourceCredentials instance per source. A source is “configured” iff its required fields resolve to non-null values; that check lives on the source class.

Functions

source resolve_credentials(config_creds: Mapping[str, Mapping[str, Any]], cli_overrides: CliOverrides | None = None, env: Mapping[str, str] | None = None, *, use_keyring: bool = True)dict[str, OnlineSourceCredentials]

Build the resolved per-source credentials map.

config_creds is the post-confuse view of online.<source>.* (file + confuse env-var auto-loading). cli_overrides is the parsed CLI --api-* flags. env defaults to os.environ.