animedex.api._params

Query-string parameter helpers for raw API requests.

The raw passthrough accepts paths that already contain a query string and also accepts structured field injections from the CLI. This module keeps the merge rules in one place so single requests and paginated requests compose parameters the same way.

add_query_pair

animedex.api._params.add_query_pair(params: Dict[str, Any], key: str, value: Any) None[source]

Append one query-string pair to params.

Repeated keys become lists so requests can render them as repeated query parameters.

Parameters:
  • params (dict) – Mutable query parameter mapping.

  • key (str) – Parameter name.

  • value (Any) – Parameter value.

Returns:

None.

Return type:

None

merge_params

animedex.api._params.merge_params(base: dict | None, overlay: dict | None) Dict[str, Any][source]

Merge two query-parameter mappings with last-write-wins keys.

Parameters:
  • base (dict or None) – Existing parameters.

  • overlay (dict or None) – Parameters that override base.

Returns:

Merged mutable mapping.

Return type:

dict

split_path_query

animedex.api._params.split_path_query(path: str, params: dict | None = None) Tuple[str, Dict[str, Any]][source]

Split a path’s query string and merge it with explicit params.

Query parameters embedded in path are decoded into a mapping. Repeated keys become list values. Explicit params then override those decoded values, matching gh-style last-write-wins field semantics.

Parameters:
  • path (str) – Relative or absolute URL path.

  • params (dict or None) – Explicit query parameters.

Returns:

(path_without_query, merged_params).

Return type:

tuple[str, dict]

first_int

animedex.api._params.first_int(params: dict, keys: Iterable[str], default: int) int[source]

Return the first integer-like parameter from keys.

Parameters:
  • params (dict) – Query parameter mapping.

  • keys (iterable[str]) – Candidate parameter names in priority order.

  • default (int) – Value used when no candidate is present or integer-like.

Returns:

Parsed integer or default.

Return type:

int