import logging import os import tvdb_v4_official from fastapi import APIRouter log = logging.getLogger(__name__) tvdb_api_key = os.getenv("TVDB_API_KEY") router = APIRouter(prefix="/tvdb", tags=["TVDB"]) if tvdb_api_key is None: log.warning("TVDB_API_KEY environment variable is not set.") else: tvdb_client = tvdb_v4_official.TVDB(tvdb_api_key) @router.get("/tv/trending") async def get_tvdb_trending_tv() -> list: return tvdb_client.get_all_series() @router.get("/tv/search") async def search_tvdb_tv(query: str) -> list: return tvdb_client.search(query) @router.get("/tv/shows/{show_id}") async def get_tvdb_show(show_id: int) -> dict: return tvdb_client.get_series_extended(show_id) @router.get("/tv/seasons/{season_id}") async def get_tvdb_season(season_id: int) -> dict: return tvdb_client.get_season_extended(season_id) @router.get("/movies/trending") async def get_tvdb_trending_movies() -> list: return tvdb_client.get_all_movies() @router.get("/movies/search") async def search_tvdb_movies(query: str) -> list: return tvdb_client.search(query) @router.get("/movies/{movie_id}") async def get_tvdb_movie(movie_id: int) -> dict: return tvdb_client.get_movie_extended(movie_id)