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. The confuse online.auth.<source>.* block, which already layers env vars (COMICBOX_ONLINE__AUTH__METRON__KEY) over config files.
  3. 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, *, use_keyring: bool = True) → dict[str, OnlineSourceCredentials]

Build the resolved per-source credentials map.

config_creds is the post-confuse view of online.auth.<source>.*, which already layers env vars over config files. cli_overrides is the parsed --auth flags.