Fix pydantic printing

This commit is contained in:
Zoe Roux 2025-05-06 02:14:21 +02:00
parent d678e13aa4
commit c948c050b3
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 typing import Any, Literal, Optional
from ..utils import Model
from .extra import ExtraKind
from .metadataid import MetadataId, EpisodeId
from typing import Optional, Literal, Any
from .metadataid import EpisodeId, MetadataId
class Resource(Model):
@ -20,11 +21,11 @@ class VideoInfo(Model):
class Guess(Model, extra="allow"):
title: str
kind: Literal["episode"] | Literal["movie"] | Literal["extra"]
extraKind: Optional[ExtraKind]
extra_kind: Optional[ExtraKind]
years: list[int]
episodes: list[Guess.Episode]
external_id: dict[str, MetadataId | EpisodeId]
raw: dict[str, Any]
raw: dict[str, Any] = {}
from_: str
history: list[Guess] = []
@ -67,6 +68,6 @@ class Video(Model):
part: Optional[int]
version: int = 1
guess: Guess
for_: Optional[
for_: list[
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 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:
@ -24,5 +25,7 @@ class ProviderError(RuntimeError):
class Model(BaseModel):
model_config = ConfigDict(
use_enum_values=True,
alias_generator=to_camel,
alias_generator=AliasGenerator(
serialization_alias=lambda x: to_camel(x[:-1] if x[-1] == "_" else x),
),
)