animedex.backends.quote.models

Rich AnimeChan dataclasses.

AnimeChan wraps quote reads as {"status": "success", "data": ...} and each quote carries the text plus nested anime and character objects. The high-level helpers validate the inner quote records through AnimeChanQuote; the enclosing response model is kept for lossless fixture verification.

AnimeChanAnime

class animedex.backends.quote.models.AnimeChanAnime(*, id: int | None = None, name: str | None = None, altName: str | None = None, **extra_data: Any)[source]

Bases: BackendRichModel

Nested anime object on an AnimeChan quote.

id: int | None
name: str | None
altName: str | None

AnimeChanCharacter

class animedex.backends.quote.models.AnimeChanCharacter(*, id: int | None = None, name: str | None = None, **extra_data: Any)[source]

Bases: BackendRichModel

Nested character object on an AnimeChan quote.

id: int | None
name: str | None

AnimeChanQuote

class animedex.backends.quote.models.AnimeChanQuote(*, content: str, anime: AnimeChanAnime | None = None, character: AnimeChanCharacter | None = None, source_tag: SourceTag | None = None, **extra_data: Any)[source]

Bases: BackendRichModel

One quote record from AnimeChan.

content: str
anime: AnimeChanAnime | None
character: AnimeChanCharacter | None
source_tag: SourceTag | None
to_common() Quote[source]

Project this quote onto the cross-source quote shape.

Returns:

Cross-source projection.

Return type:

animedex.models.quote.Quote

AnimeChanEnvelope

class animedex.backends.quote.models.AnimeChanEnvelope(*, status: str | None = None, data: AnimeChanQuote | List[AnimeChanQuote] | None = None, message: str | None = None, source_tag: SourceTag | None = None, **extra_data: Any)[source]

Bases: BackendRichModel

AnimeChan response envelope for a single quote or quote list.

status: str | None
data: AnimeChanQuote | List[AnimeChanQuote] | None
message: str | None
source_tag: SourceTag | None

selftest

animedex.backends.quote.models.selftest() bool[source]

Smoke-test the AnimeChan rich models.

Validates a representative quote envelope, confirms nested anime and character models round-trip, and checks to_common() maps text, anime name, character name, and source attribution.

Returns:

True on success; raises on schema drift.

Return type:

bool