fix(scheduler): add to_dict to AnimeSeries for auto-download

AnimeSeries objects returned by SerieList.GetMissingEpisode() lacked
to_dict(), causing AttributeError when _run_auto_download() called
series.get("episodeDict").
This commit is contained in:
2026-06-11 08:02:27 +02:00
parent cbc44491e7
commit ee5d719f37

View File

@@ -13,7 +13,7 @@ from __future__ import annotations
from datetime import datetime, timezone from datetime import datetime, timezone
from enum import Enum from enum import Enum
from typing import List, Optional from typing import Any, Dict, List, Optional
from sqlalchemy import Boolean, DateTime, ForeignKey, Index, Integer, String, Text, func from sqlalchemy import Boolean, DateTime, ForeignKey, Index, Integer, String, Text, func
from sqlalchemy.orm import Mapped, mapped_column, relationship, validates from sqlalchemy.orm import Mapped, mapped_column, relationship, validates
@@ -247,6 +247,21 @@ class AnimeSeries(Base, TimestampMixin):
except ValueError: except ValueError:
return sanitize_folder_name(self.key) return sanitize_folder_name(self.key)
def to_dict(self) -> Dict[str, Any]:
"""Convert to dictionary for cache serialization.
Returns:
Dictionary with series data including episodeDict for
auto-download functionality.
"""
return {
"key": self.key,
"name": self.name,
"site": self.site,
"folder": self.folder,
"episodeDict": self.episodeDict,
}
class Episode(Base, TimestampMixin): class Episode(Base, TimestampMixin):
"""SQLAlchemy model for anime episodes. """SQLAlchemy model for anime episodes.