ds_provider_xledger_py_lib.utils.rules

File: rules.py Region: ds_provider_xledger_py_lib/utils

Description

GraphQL error mapping rule definitions for the Xledger provider.

Classes

Rule

Simple rule for mapping GraphQL errors to provider exceptions.

ResolvedRule

Resolved rule payload returned by the rulebook.

GraphQLErrorRuleBook

Registry for GraphQL-to-provider exception mapping rules.

Module Contents

class ds_provider_xledger_py_lib.utils.rules.Rule[source]

Bases: NamedTuple

Simple rule for mapping GraphQL errors to provider exceptions.

exc_cls: type[Exception]
code: str | None = None
extension_code: str | None = None
message_keywords: tuple[str, Ellipsis] = ()
default_message: str | None = None
class ds_provider_xledger_py_lib.utils.rules.ResolvedRule[source]

Bases: NamedTuple

Resolved rule payload returned by the rulebook.

exc_cls: type[Exception]
message: str
matched_by: str
class ds_provider_xledger_py_lib.utils.rules.GraphQLErrorRuleBook[source]

Registry for GraphQL-to-provider exception mapping rules.

_rules: tuple[Rule, Ellipsis]
classmethod resolve(*, code: str, extension_code: str, error_message: str) ResolvedRule | None[source]

Resolve a GraphQL error to a mapped provider exception.

Parameters:
  • code – The error code to resolve.

  • extension_code – The extension code to resolve.

  • error_message – The error message to resolve.

Returns:

The resolved rule.

static _match_source(*, rule: Rule, message_lower: str, code: str, extension_code: str) str | None[source]

Return the source used to match the provided rule.

Parameters:
  • rule – The rule to match.

  • message_lower – The lowercased error message to match.

  • code – The error code to match.

  • extension_code – The extension code to match.

Returns:

A source label when the current error matches the provided rule.