Fix pydantic printing

This commit is contained in:
Zoe Roux 2025-05-06 02:14:21 +02:00
parent 6ecf0b462f
commit 461333a90f
No known key found for this signature in database
2 changed files with 13 additions and 9 deletions

View File

@ -1,9 +1,10 @@
from __future__ import annotations from __future__ import annotations
from typing import Any, Literal, Optional
from ..utils import Model from ..utils import Model
from .extra import ExtraKind from .extra import ExtraKind
from .metadataid import MetadataId, EpisodeId from .metadataid import EpisodeId, MetadataId
from typing import Optional, Literal, Any
class Resource(Model): class Resource(Model):
@ -20,11 +21,11 @@ class VideoInfo(Model):
class Guess(Model, extra="allow"): class Guess(Model, extra="allow"):
title: str title: str
kind: Literal["episode"] | Literal["movie"] | Literal["extra"] kind: Literal["episode"] | Literal["movie"] | Literal["extra"]
extraKind: Optional[ExtraKind] extra_kind: Optional[ExtraKind]
years: list[int] years: list[int]
episodes: list[Guess.Episode] episodes: list[Guess.Episode]
external_id: dict[str, MetadataId | EpisodeId] external_id: dict[str, MetadataId | EpisodeId]
raw: dict[str, Any] raw: dict[str, Any] = {}
from_: str from_: str
history: list[Guess] = [] history: list[Guess] = []
@ -67,6 +68,6 @@ class Video(Model):
part: Optional[int] part: Optional[int]
version: int = 1 version: int = 1
guess: Guess guess: Guess
for_: Optional[ for_: list[
For.Slug | For.ExternalId | For.Movie | For.Episode | For.Order | For.Special For.Slug | For.ExternalId | For.Movie | For.Episode | For.Order | For.Special
] = None ] = []

View File

@ -1,7 +1,8 @@
from pydantic import BaseModel, ConfigDict
from pydantic.alias_generators import to_camel
from datetime import date from datetime import date
from langcodes import Language from langcodes import Language
from pydantic import AliasGenerator, BaseModel, ConfigDict
from pydantic.alias_generators import to_camel
def format_date(date: date | int | None) -> str | None: def format_date(date: date | int | None) -> str | None:
@ -24,5 +25,7 @@ class ProviderError(RuntimeError):
class Model(BaseModel): class Model(BaseModel):
model_config = ConfigDict( model_config = ConfigDict(
use_enum_values=True, use_enum_values=True,
alias_generator=to_camel, alias_generator=AliasGenerator(
serialization_alias=lambda x: to_camel(x[:-1] if x[-1] == "_" else x),
),
) )