cineclub-site/server/myapi/views/tmdb_views.py

30 lines
831 B
Python
Raw Normal View History

2022-05-30 00:18:09 +02:00
from rest_framework import viewsets
from rest_framework.decorators import action
from rest_framework.response import Response
2022-06-10 00:18:56 +02:00
from tmdbv3api import TMDb, Search, Movie
from ulm_cine_club_api.settings.base import TMDB_API_KEY
2022-05-30 00:18:09 +02:00
tmdb = TMDb()
2022-06-10 00:18:56 +02:00
tmdb.api_key = TMDB_API_KEY
2022-05-30 00:18:09 +02:00
tmdb.language = "fr"
class TmdbViewSet(viewsets.ViewSet):
2022-06-10 00:21:06 +02:00
@action(methods=["GET"], detail=False)
2022-05-30 00:18:09 +02:00
def search(self, request):
2022-06-10 00:21:06 +02:00
query = request.query_params["query"]
2022-05-30 00:18:09 +02:00
search = Search()
2022-06-10 00:21:06 +02:00
tmdb_results = search.movies({"query": query})
res = [
{
2022-05-30 00:18:09 +02:00
"id": film["id"],
"release_date": film["release_date"],
"title": film["title"],
2022-06-10 00:21:06 +02:00
"poster_path": film["poster_path"],
}
for film in tmdb_results
]
2022-05-30 00:18:09 +02:00
return Response(res)