backup
This commit is contained in:
@@ -81,6 +81,7 @@ class AnimeSummary(BaseModel):
|
||||
site: Provider site URL
|
||||
folder: Filesystem folder name (metadata only)
|
||||
missing_episodes: Episode dictionary mapping seasons to episode numbers
|
||||
has_missing: Boolean flag indicating if series has missing episodes
|
||||
link: Optional link to the series page (used when adding new series)
|
||||
"""
|
||||
key: str = Field(
|
||||
@@ -103,6 +104,10 @@ class AnimeSummary(BaseModel):
|
||||
...,
|
||||
description="Episode dictionary: {season: [episode_numbers]}"
|
||||
)
|
||||
has_missing: bool = Field(
|
||||
default=False,
|
||||
description="Whether the series has any missing episodes"
|
||||
)
|
||||
link: Optional[str] = Field(
|
||||
default="",
|
||||
description="Link to the series page (for adding new series)"
|
||||
@@ -117,6 +122,7 @@ class AnimeSummary(BaseModel):
|
||||
"site": "aniworld.to",
|
||||
"folder": "beheneko the elf girls cat (2025)",
|
||||
"missing_episodes": {"1": [1, 2, 3, 4]},
|
||||
"has_missing": True,
|
||||
"link": "https://aniworld.to/anime/stream/beheneko"
|
||||
}
|
||||
}
|
||||
@@ -181,11 +187,14 @@ async def list_anime(
|
||||
_auth: dict = Depends(require_auth),
|
||||
series_app: Any = Depends(get_series_app),
|
||||
) -> List[AnimeSummary]:
|
||||
"""List library series that still have missing episodes.
|
||||
"""List all library series with their missing episodes status.
|
||||
|
||||
Returns AnimeSummary objects where `key` is the primary identifier
|
||||
used for all operations. The `folder` field is metadata only and
|
||||
should not be used for lookups.
|
||||
|
||||
All series are returned, with `has_missing` flag indicating whether
|
||||
a series has any missing episodes.
|
||||
|
||||
Args:
|
||||
page: Page number for pagination (must be positive)
|
||||
@@ -204,6 +213,7 @@ async def list_anime(
|
||||
- site: Provider site
|
||||
- folder: Filesystem folder name (metadata only)
|
||||
- missing_episodes: Dict mapping seasons to episode numbers
|
||||
- has_missing: Whether the series has any missing episodes
|
||||
|
||||
Raises:
|
||||
HTTPException: When the underlying lookup fails or params invalid.
|
||||
@@ -264,11 +274,11 @@ async def list_anime(
|
||||
)
|
||||
|
||||
try:
|
||||
# Get missing episodes from series app
|
||||
# Get all series from series app
|
||||
if not hasattr(series_app, "list"):
|
||||
return []
|
||||
|
||||
series = series_app.list.GetMissingEpisode()
|
||||
series = series_app.list.GetList()
|
||||
summaries: List[AnimeSummary] = []
|
||||
for serie in series:
|
||||
# Get all properties from the serie object
|
||||
@@ -281,6 +291,9 @@ async def list_anime(
|
||||
# Convert episode dict keys to strings for JSON serialization
|
||||
missing_episodes = {str(k): v for k, v in episode_dict.items()}
|
||||
|
||||
# Determine if series has missing episodes
|
||||
has_missing = bool(episode_dict)
|
||||
|
||||
summaries.append(
|
||||
AnimeSummary(
|
||||
key=key,
|
||||
@@ -288,6 +301,7 @@ async def list_anime(
|
||||
site=site,
|
||||
folder=folder,
|
||||
missing_episodes=missing_episodes,
|
||||
has_missing=has_missing,
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user