diff --git a/media_manager/main.py b/media_manager/main.py index 459bf42..8a1f985 100644 --- a/media_manager/main.py +++ b/media_manager/main.py @@ -56,10 +56,10 @@ from media_manager.tv.service import ( # noqa: E402 import_all_show_torrents, update_all_non_ended_shows_metadata, ) -from media_manager.movies.service import ( +from media_manager.movies.service import ( # noqa: E402 import_all_movie_torrents, update_all_movies_metadata, -) # noqa: E402 +) import uvicorn # noqa: E402 from fastapi.staticfiles import StaticFiles # noqa: E402 from media_manager.auth.users import openid_client # noqa: E402 diff --git a/media_manager/metadataProvider/abstractMetaDataProvider.py b/media_manager/metadataProvider/abstractMetaDataProvider.py index 7f8a8bd..060a167 100644 --- a/media_manager/metadataProvider/abstractMetaDataProvider.py +++ b/media_manager/metadataProvider/abstractMetaDataProvider.py @@ -54,6 +54,3 @@ class AbstractMetadataProvider(ABC): :return: True if the image was downloaded successfully, False otherwise. """ raise NotImplementedError() - - - diff --git a/media_manager/metadataProvider/dependencies.py b/media_manager/metadataProvider/dependencies.py index 9635ab9..bf4cd7b 100644 --- a/media_manager/metadataProvider/dependencies.py +++ b/media_manager/metadataProvider/dependencies.py @@ -2,7 +2,6 @@ from typing import Annotated, Literal from fastapi import Depends -from media_manager.exceptions import InvalidConfigError from fastapi.exceptions import HTTPException from media_manager.metadataProvider.tmdb import TmdbMetadataProvider from media_manager.metadataProvider.abstractMetaDataProvider import ( @@ -24,6 +23,7 @@ def get_metadata_provider( detail=f"Invalid metadata provider: {metadata_provider}. Supported providers are 'tmdb' and 'tvdb'.", ) + metadata_provider_dep = Annotated[ AbstractMetadataProvider, Depends(get_metadata_provider) ] diff --git a/media_manager/metadataProvider/tvdb.py b/media_manager/metadataProvider/tvdb.py index 5a2e7bc..9a327aa 100644 --- a/media_manager/metadataProvider/tvdb.py +++ b/media_manager/metadataProvider/tvdb.py @@ -1,11 +1,9 @@ import requests -import tvdb_v4_official import logging from pydantic_settings import BaseSettings import media_manager.metadataProvider.utils -from media_manager.exceptions import InvalidConfigError from media_manager.metadataProvider.abstractMetaDataProvider import ( AbstractMetadataProvider, ) diff --git a/media_manager/movies/router.py b/media_manager/movies/router.py index ed11f2c..ecb0268 100644 --- a/media_manager/movies/router.py +++ b/media_manager/movies/router.py @@ -171,9 +171,7 @@ def update_movie_request( return movie_service.update_movie_request(movie_request=movie_request) -@router.patch( - "/requests/{movie_request_id}", status_code=status.HTTP_204_NO_CONTENT -) +@router.patch("/requests/{movie_request_id}", status_code=status.HTTP_204_NO_CONTENT) def authorize_request( movie_service: movie_service_dep, movie_request_id: MovieRequestId, @@ -225,9 +223,13 @@ def get_movie_by_id(movie_service: movie_service_dep, movie_id: MovieId): response_model=list[PublicIndexerQueryResult], ) def get_all_available_torrents_for_a_movie( - movie_service: movie_service_dep, movie_id: MovieId, search_query_override: str | None = None + movie_service: movie_service_dep, + movie_id: MovieId, + search_query_override: str | None = None, ): - return movie_service.get_all_available_torrents_for_a_movie(movie_id=movie_id, search_query_override=search_query_override) + return movie_service.get_all_available_torrents_for_a_movie( + movie_id=movie_id, search_query_override=search_query_override + ) @router.post( diff --git a/media_manager/movies/schemas.py b/media_manager/movies/schemas.py index 51878cb..2c8c59e 100644 --- a/media_manager/movies/schemas.py +++ b/media_manager/movies/schemas.py @@ -6,7 +6,7 @@ from pydantic import BaseModel, Field, ConfigDict, model_validator from media_manager.auth.schemas import UserRead from media_manager.torrent.models import Quality -from media_manager.torrent.schemas import TorrentId, Torrent, TorrentStatus +from media_manager.torrent.schemas import TorrentId, TorrentStatus MovieId = typing.NewType("MovieId", UUID) MovieRequestId = typing.NewType("MovieRequestId", UUID) @@ -84,6 +84,7 @@ class MovieTorrent(BaseModel): imported: bool file_path_suffix: str + class RichMovieTorrent(BaseModel): movie_id: MovieId name: str diff --git a/metadata_relay/app/cache.py b/metadata_relay/app/cache.py index 1d9011d..2fbce3e 100644 --- a/metadata_relay/app/cache.py +++ b/metadata_relay/app/cache.py @@ -5,8 +5,6 @@ from typing import Any, Optional import valkey.asyncio as valkey import os from functools import wraps -import asyncio -import inspect log = logging.getLogger(__name__) @@ -61,5 +59,7 @@ def cache_response(prefix: str, ttl: int = 3600): await set_cached_response(cache_key, response, ttl) return response + return wrapper + return decorator diff --git a/metadata_relay/app/tmdb.py b/metadata_relay/app/tmdb.py index d4f3c9c..de9c2b4 100644 --- a/metadata_relay/app/tmdb.py +++ b/metadata_relay/app/tmdb.py @@ -50,6 +50,3 @@ else: @cache_response("tmdb_movie", ttl=28800) async def get_tmdb_movie(movie_id: int): return Movies(movie_id).info() - - - diff --git a/metadata_relay/app/tvdb.py b/metadata_relay/app/tvdb.py index a719e2f..a3532ca 100644 --- a/metadata_relay/app/tvdb.py +++ b/metadata_relay/app/tvdb.py @@ -21,38 +21,32 @@ else: async def get_tvdb_trending_tv(): return tvdb_client.get_all_series() - @router.get("/tv/search") @cache_response("tvdb_tv_search", ttl=14400) async def search_tvdb_tv(query: str): return tvdb_client.search(query) - @router.get("/tv/shows/{show_id}") @cache_response("tvdb_tv_show", ttl=28800) async def get_tvdb_show(show_id: int): return tvdb_client.get_series_extended(show_id) - @router.get("/tv/seasons/{season_id}") @cache_response("tvdb_tv_season", ttl=28800) async def get_tvdb_season(season_id: int): return tvdb_client.get_season_extended(season_id) - @router.get("/movies/trending") @cache_response("tvdb_movies_trending", ttl=7200) async def get_tvdb_trending_movies(): return tvdb_client.get_all_movies() - @router.get("/movies/search") @cache_response("tvdb_movies_search", ttl=14400) async def search_tvdb_movies(query: str): return tvdb_client.search(query) - @router.get("/movies/{movie_id}") @cache_response("tvdb_movie", ttl=28800) async def get_tvdb_movie(movie_id: int): - return tvdb_client.get_movie_extended(movie_id) \ No newline at end of file + return tvdb_client.get_movie_extended(movie_id) diff --git a/metadata_relay/main.py b/metadata_relay/main.py index ee14d33..6d42ae1 100644 --- a/metadata_relay/main.py +++ b/metadata_relay/main.py @@ -17,4 +17,4 @@ app.include_router(tvdb_router) @app.get("/") async def root(): - return {"message": "Hello World"} \ No newline at end of file + return {"message": "Hello World"}