Fix NFO database query errors

- Fixed async context manager issue in anime.py (use get_sync_session)
- Fixed async methods in anime_service.py to use async with
- Fixed folder_name attribute error (should be folder)
- All three methods now properly handle database sessions
This commit is contained in:
2026-01-18 11:56:22 +01:00
parent 4408874d37
commit db1e7fa54b
4 changed files with 173 additions and 177 deletions

View File

@@ -318,27 +318,30 @@ async def list_anime(
nfo_map = {}
try:
# Get all series from database to fetch NFO metadata
from src.server.database.connection import get_db_session
session = get_db_session()
from src.server.database.connection import get_sync_session
from src.server.database.models import AnimeSeries as DBAnimeSeries
db_series_list = session.query(DBAnimeSeries).all()
for db_series in db_series_list:
nfo_created = (
db_series.nfo_created_at.isoformat()
if db_series.nfo_created_at else None
)
nfo_updated = (
db_series.nfo_updated_at.isoformat()
if db_series.nfo_updated_at else None
)
nfo_map[db_series.folder_name] = {
"has_nfo": db_series.has_nfo or False,
"nfo_created_at": nfo_created,
"nfo_updated_at": nfo_updated,
"tmdb_id": db_series.tmdb_id,
"tvdb_id": db_series.tvdb_id,
}
session = get_sync_session()
try:
db_series_list = session.query(DBAnimeSeries).all()
for db_series in db_series_list:
nfo_created = (
db_series.nfo_created_at.isoformat()
if db_series.nfo_created_at else None
)
nfo_updated = (
db_series.nfo_updated_at.isoformat()
if db_series.nfo_updated_at else None
)
nfo_map[db_series.folder] = {
"has_nfo": db_series.has_nfo or False,
"nfo_created_at": nfo_created,
"nfo_updated_at": nfo_updated,
"tmdb_id": db_series.tmdb_id,
"tvdb_id": db_series.tvdb_id,
}
finally:
session.close()
except Exception as e:
logger.warning(f"Could not fetch NFO data from database: {e}")
# Continue without NFO data if database query fails