animedex.agg._prefix_id

Prefix-encoded entity references for aggregate commands.

ParsedPrefixId

class animedex.agg._prefix_id.ParsedPrefixId(prefix: str, backend: str, id: str)[source]

Bases: object

Parsed prefix:id reference.

Variables:
  • prefix (str) – User-supplied prefix, normalised to lower-case.

  • backend (str) – Backend module name selected by the prefix.

  • id (str) – Backend-native ID string.

prefix: str
backend: str
id: str

known_prefixes

animedex.agg._prefix_id.known_prefixes() Iterable[str][source]

Return the supported non-deferred prefixes.

Returns:

Prefix names sorted for display.

Return type:

iterable[str]

parse

animedex.agg._prefix_id.parse(prefix_id: str) ParsedPrefixId[source]

Parse and validate a prefix:id reference.

Parameters:

prefix_id (str) – Reference such as "anilist:154587".

Returns:

Parsed reference.

Return type:

ParsedPrefixId

Raises:

ApiError – When the prefix or ID format is invalid.

validate_id

animedex.agg._prefix_id.validate_id(backend: str, raw_id: str) None[source]

Validate backend-native ID format.

Parameters:
  • backend (str) – Backend module name.

  • raw_id (str) – Backend-native ID string.

Raises:

ApiError – When raw_id is invalid for backend.

prefix_for_backend

animedex.agg._prefix_id.prefix_for_backend(backend: str, native_id: object) str | None[source]

Compose the canonical prefix ID for a backend-native ID.

Parameters:
  • backend (str) – Backend name.

  • native_id (object) – Backend-native ID value.

Returns:

prefix:id or None when no public prefix exists.

Return type:

str or None

selftest

animedex.agg._prefix_id.selftest() bool[source]

Smoke-test prefix parsing and validation.

Returns:

True on success.

Return type:

bool