mirror of
https://github.com/Arrowar/StreamingCommunity.git
synced 2025-06-07 12:05:35 +00:00
start implementing download endpoint (only movie for now)
This commit is contained in:
parent
28237fa50f
commit
12e225ee53
@ -1,9 +1,10 @@
|
|||||||
from rest_framework import routers
|
from rest_framework import routers
|
||||||
|
|
||||||
from .views import SearchView
|
from .views import SearchView, DownloadView
|
||||||
|
|
||||||
router = routers.DefaultRouter()
|
router = routers.DefaultRouter()
|
||||||
|
|
||||||
router.register(r"search", SearchView, basename="search")
|
router.register(r"search", SearchView, basename="search")
|
||||||
|
router.register(r"download", DownloadView, basename="download")
|
||||||
|
|
||||||
urlpatterns = router.urls
|
urlpatterns = router.urls
|
||||||
|
@ -3,11 +3,12 @@ import json
|
|||||||
from rest_framework import viewsets
|
from rest_framework import viewsets
|
||||||
from rest_framework.response import Response
|
from rest_framework.response import Response
|
||||||
|
|
||||||
from Src.Api import search, get_version_and_domain
|
from Src.Api import search, get_version_and_domain, download_film, anime_download_film
|
||||||
from Src.Api.site import media_search_manager, anime_search
|
from Src.Api.site import media_search_manager, anime_search
|
||||||
|
|
||||||
|
|
||||||
class SearchView(viewsets.ViewSet):
|
class SearchView(viewsets.ViewSet):
|
||||||
|
|
||||||
def get_queryset(self):
|
def get_queryset(self):
|
||||||
# Questa funzione viene chiamata prima di list e retrieve
|
# Questa funzione viene chiamata prima di list e retrieve
|
||||||
self.search_query = self.request.query_params.get("search_terms")
|
self.search_query = self.request.query_params.get("search_terms")
|
||||||
@ -30,8 +31,38 @@ class SearchView(viewsets.ViewSet):
|
|||||||
if self.len_database != 0:
|
if self.len_database != 0:
|
||||||
data_to_return = []
|
data_to_return = []
|
||||||
for _, media in enumerate(media_list):
|
for _, media in enumerate(media_list):
|
||||||
|
if self.type_search == "anime" and media.type == "TV":
|
||||||
|
media.type = "TV_ANIME"
|
||||||
data_to_return.append(media.to_dict)
|
data_to_return.append(media.to_dict)
|
||||||
|
|
||||||
return Response({"media": data_to_return})
|
return Response({"media": data_to_return})
|
||||||
|
|
||||||
return Response({"error": "No media found with that search query"})
|
return Response({"error": "No media found with that search query"})
|
||||||
|
|
||||||
|
|
||||||
|
class DownloadView(viewsets.ViewSet):
|
||||||
|
|
||||||
|
def create(self, request):
|
||||||
|
self.media_id = request.data.get("media_id")
|
||||||
|
self.media_slug = request.data.get("media_slug")
|
||||||
|
self.type_media = request.data.get("type_media").upper()
|
||||||
|
|
||||||
|
self.site_version, self.domain = get_version_and_domain()
|
||||||
|
|
||||||
|
response_dict = {"error": "No media found with that search query"}
|
||||||
|
|
||||||
|
if self.type_media == "FILM":
|
||||||
|
download_film(self.media_id, self.media_slug, self.domain)
|
||||||
|
response_dict = {"message": "Download done, it is saved in Video folder inside project root"}
|
||||||
|
elif self.type_media == "TV":
|
||||||
|
pass
|
||||||
|
elif self.type_media == "TV_ANIME":
|
||||||
|
pass
|
||||||
|
elif self.type_media == "OVA":
|
||||||
|
anime_download_film(
|
||||||
|
id_film=self.media_id,
|
||||||
|
title_name=self.media_slug
|
||||||
|
)
|
||||||
|
response_dict = {"message": "Download done, it is saved in Video folder inside project root"}
|
||||||
|
|
||||||
|
return Response(response_dict)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user