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 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),
),
)