mirror of
https://github.com/maxdorninger/MediaManager.git
synced 2026-02-19 23:49:11 -05:00
This PR enables the ruff rule for return type annotations (ANN), and adds the ty package for type checking.
45 lines
1.3 KiB
Python
45 lines
1.3 KiB
Python
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)
|