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
|
|
|
|
|
|
|
|
from tmdbv3api import TMDb, Search
|
|
|
|
tmdb = TMDb()
|
|
|
|
tmdb.api_key = "" # TODO configure key in settings
|
|
|
|
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)
|