1818import json
1919
2020from pydantic import BaseModel , ConfigDict , Field , StrictBool , StrictInt , StrictStr
21- from typing import Any , ClassVar , Dict , List , Optional
21+ from typing import Any , ClassVar , Dict , List , Optional , Union
22+ from typing_extensions import Annotated
2223from typing import Optional , Set
2324from typing_extensions import Self
2425
@@ -31,12 +32,12 @@ class AnimeEpisodesAllOfData(BaseModel):
3132 title : Optional [StrictStr ] = Field (default = None , description = "Title" )
3233 title_japanese : Optional [StrictStr ] = Field (default = None , description = "Title Japanese" )
3334 title_romanji : Optional [StrictStr ] = Field (default = None , description = "title_romanji" )
34- duration : Optional [StrictInt ] = Field (default = None , description = "Episode duration in seconds" )
3535 aired : Optional [StrictStr ] = Field (default = None , description = "Aired Date ISO8601" )
36+ score : Optional [Union [Annotated [float , Field (le = 5 , strict = True , ge = 1 )], Annotated [int , Field (le = 5 , strict = True , ge = 1 )]]] = Field (default = None , description = "Aggregated episode score (1.00 - 5.00) based on MyAnimeList user voting" )
3637 filler : Optional [StrictBool ] = Field (default = None , description = "Filler episode" )
3738 recap : Optional [StrictBool ] = Field (default = None , description = "Recap episode" )
3839 forum_url : Optional [StrictStr ] = Field (default = None , description = "Episode discussion forum URL" )
39- __properties : ClassVar [List [str ]] = ["mal_id" , "url" , "title" , "title_japanese" , "title_romanji" , "duration " , "aired " , "filler" , "recap" , "forum_url" ]
40+ __properties : ClassVar [List [str ]] = ["mal_id" , "url" , "title" , "title_japanese" , "title_romanji" , "aired " , "score " , "filler" , "recap" , "forum_url" ]
4041
4142 model_config = ConfigDict (
4243 populate_by_name = True ,
@@ -92,16 +93,16 @@ def to_dict(self) -> Dict[str, Any]:
9293 if self .title_romanji is None and "title_romanji" in self .model_fields_set :
9394 _dict ['title_romanji' ] = None
9495
95- # set to None if duration (nullable) is None
96- # and model_fields_set contains the field
97- if self .duration is None and "duration" in self .model_fields_set :
98- _dict ['duration' ] = None
99-
10096 # set to None if aired (nullable) is None
10197 # and model_fields_set contains the field
10298 if self .aired is None and "aired" in self .model_fields_set :
10399 _dict ['aired' ] = None
104100
101+ # set to None if score (nullable) is None
102+ # and model_fields_set contains the field
103+ if self .score is None and "score" in self .model_fields_set :
104+ _dict ['score' ] = None
105+
105106 # set to None if forum_url (nullable) is None
106107 # and model_fields_set contains the field
107108 if self .forum_url is None and "forum_url" in self .model_fields_set :
@@ -124,8 +125,8 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
124125 "title" : obj .get ("title" ),
125126 "title_japanese" : obj .get ("title_japanese" ),
126127 "title_romanji" : obj .get ("title_romanji" ),
127- "duration" : obj .get ("duration" ),
128128 "aired" : obj .get ("aired" ),
129+ "score" : obj .get ("score" ),
129130 "filler" : obj .get ("filler" ),
130131 "recap" : obj .get ("recap" ),
131132 "forum_url" : obj .get ("forum_url" )
0 commit comments