Coverage for src\utility\models.py: 100%

43 statements  

« prev     ^ index     » next       coverage.py v7.10.1, created at 2025-10-19 21:13 +0800

1from datetime import datetime 

2from typing import Any, Dict 

3from msgspec import Struct 

4from pydantic import BaseModel, Field 

5 

6 

7class AnimeDataClip(Struct): 

8 anime_series_id: int 

9 anime_season_id: int 

10 count: int 

11 

12 

13class AnimeDataMark(Struct): 

14 anime_series_id: int 

15 anime_season_id: int 

16 count: int 

17 

18 

19class DramaDataClip(Struct): 

20 drama_series_id: int 

21 drama_season_id: int 

22 count: int 

23 

24 

25class DramaDataMark(Struct): 

26 drama_series_id: int 

27 drama_season_id: int 

28 count: int 

29 

30 

31class MovieDataClip(Struct): 

32 movie_id: int 

33 count: int 

34 

35 

36class MovieDataMark(Struct): 

37 movie_id: int 

38 count: int 

39 

40 

41class SearchParams(BaseModel): 

42 q: str = "" 

43 limit: int = Field(10, gt=0, le=100) 

44 page: int = Field(1, gt=0, le=10000) 

45 

46 

47class ReviewParams(BaseModel): 

48 page: int = Field(1, gt=0, le=10000) 

49 

50 

51class ListParams(BaseModel): 

52 limit: int = Field(10, gt=0, le=100) 

53 page: int = Field(1, gt=0, le=10000) 

54 

55 

56class SearchResponse(BaseModel): 

57 query: str 

58 heading: str 

59 results: Dict[str, Any] 

60 scrape_date: datetime 

61 

62 

63class InfoResponse(BaseModel): 

64 data: Dict[str, Any] 

65 scrape_date: datetime