fix: ensure all NFO properties are written on creation
- Add showtitle and namedseason to mapper output - Add multi-language fallback (en-US, ja-JP) for empty overview - Use search result overview as last resort fallback - Add tests for new NFO creation behavior
This commit is contained in:
@@ -14,6 +14,7 @@ from typing import Any, Callable, Dict, List, Optional
|
||||
from src.core.entities.nfo_models import (
|
||||
ActorInfo,
|
||||
ImageInfo,
|
||||
NamedSeason,
|
||||
RatingInfo,
|
||||
TVShowNFO,
|
||||
UniqueID,
|
||||
@@ -167,6 +168,17 @@ def tmdb_to_nfo_model(
|
||||
tmdbid=member["id"],
|
||||
))
|
||||
|
||||
# --- Named seasons ---
|
||||
named_seasons: List[NamedSeason] = []
|
||||
for season_info in tmdb_data.get("seasons", []):
|
||||
season_name = season_info.get("name")
|
||||
season_number = season_info.get("season_number")
|
||||
if season_name and season_number is not None:
|
||||
named_seasons.append(NamedSeason(
|
||||
number=season_number,
|
||||
name=season_name,
|
||||
))
|
||||
|
||||
# --- Unique IDs ---
|
||||
unique_ids: List[UniqueID] = []
|
||||
if tmdb_data.get("id"):
|
||||
@@ -194,6 +206,7 @@ def tmdb_to_nfo_model(
|
||||
return TVShowNFO(
|
||||
title=title,
|
||||
originaltitle=original_title,
|
||||
showtitle=title,
|
||||
sorttitle=title,
|
||||
year=year,
|
||||
plot=tmdb_data.get("overview") or None,
|
||||
@@ -215,6 +228,7 @@ def tmdb_to_nfo_model(
|
||||
thumb=thumb_images,
|
||||
fanart=fanart_images,
|
||||
actors=actors,
|
||||
namedseason=named_seasons,
|
||||
watched=False,
|
||||
dateadded=datetime.now().strftime("%Y-%m-%d %H:%M:%S"),
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user