mirror of
https://github.com/Arrowar/StreamingCommunity.git
synced 2025-06-08 04:25:24 +00:00
refactor methods
This commit is contained in:
parent
49effa8ca5
commit
a05ce87708
@ -47,39 +47,39 @@ class SearchView(viewsets.ViewSet):
|
|||||||
self.type_media = request.query_params.get("type_media")
|
self.type_media = request.query_params.get("type_media")
|
||||||
self.page = self.request.query_params.get("page")
|
self.page = self.request.query_params.get("page")
|
||||||
|
|
||||||
match self.type_media:
|
try:
|
||||||
case "TV":
|
match self.type_media:
|
||||||
self.site_version, self.domain = get_version_and_domain()
|
case "TV":
|
||||||
|
self.site_version, self.domain = get_version_and_domain()
|
||||||
|
|
||||||
video_source = VideoSource()
|
video_source = VideoSource()
|
||||||
video_source.set_url_base_name(STREAM_SITE_NAME)
|
video_source.set_url_base_name(STREAM_SITE_NAME)
|
||||||
video_source.set_version(self.site_version)
|
video_source.set_version(self.site_version)
|
||||||
video_source.set_domain(self.domain)
|
video_source.set_domain(self.domain)
|
||||||
video_source.set_series_name(self.media_slug)
|
video_source.set_series_name(self.media_slug)
|
||||||
video_source.set_media_id(self.media_id)
|
video_source.set_media_id(self.media_id)
|
||||||
|
|
||||||
video_source.collect_info_seasons()
|
video_source.collect_info_seasons()
|
||||||
seasons_count = video_source.obj_title_manager.get_length()
|
seasons_count = video_source.obj_title_manager.get_length()
|
||||||
|
|
||||||
episodes = {}
|
episodes = {}
|
||||||
for i_season in range(1, seasons_count + 1):
|
for i_season in range(1, seasons_count + 1):
|
||||||
video_source.obj_episode_manager.clear()
|
video_source.obj_episode_manager.clear()
|
||||||
video_source.collect_title_season(i_season)
|
video_source.collect_title_season(i_season)
|
||||||
episodes_count = video_source.obj_episode_manager.get_length()
|
episodes_count = video_source.obj_episode_manager.get_length()
|
||||||
episodes[i_season] = {}
|
episodes[i_season] = {}
|
||||||
for i_episode in range(1, episodes_count + 1):
|
for i_episode in range(1, episodes_count + 1):
|
||||||
episode = video_source.obj_episode_manager.episodes[
|
episode = video_source.obj_episode_manager.episodes[
|
||||||
i_episode - 1
|
i_episode - 1
|
||||||
]
|
]
|
||||||
episodes[i_season][i_episode] = episode.__dict__
|
episodes[i_season][i_episode] = episode.__dict__
|
||||||
|
|
||||||
return Response({"episodes": episodes})
|
return Response({"episodes": episodes})
|
||||||
case "TV_ANIME":
|
case "TV_ANIME":
|
||||||
episodes = []
|
episodes = []
|
||||||
episodes_downloader = EpisodeDownloader(self.media_id, self.media_slug)
|
episodes_downloader = EpisodeDownloader(self.media_id, self.media_slug)
|
||||||
episoded_count = episodes_downloader.get_count_episodes()
|
episoded_count = episodes_downloader.get_count_episodes()
|
||||||
items_per_page = 5
|
items_per_page = 5
|
||||||
try:
|
|
||||||
paginator = Paginator(range(episoded_count), items_per_page)
|
paginator = Paginator(range(episoded_count), items_per_page)
|
||||||
|
|
||||||
page_number = self.page if self.page else 1
|
page_number = self.page if self.page else 1
|
||||||
@ -90,13 +90,13 @@ class SearchView(viewsets.ViewSet):
|
|||||||
episode_info["episode_id"] = i
|
episode_info["episode_id"] = i
|
||||||
episodes.append(episode_info)
|
episodes.append(episode_info)
|
||||||
return Response({"episodes": episodes})
|
return Response({"episodes": episodes})
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
return Response(
|
return Response(
|
||||||
{
|
{
|
||||||
"error": "Error while getting episodes info",
|
"error": "Error while getting episodes info",
|
||||||
"message": str(e),
|
"message": str(e),
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
return Response({"error": "No media found with that search query"})
|
return Response({"error": "No media found with that search query"})
|
||||||
|
|
||||||
@ -113,38 +113,42 @@ class DownloadView(viewsets.ViewSet):
|
|||||||
|
|
||||||
response_dict = {"error": "No media found with that search query"}
|
response_dict = {"error": "No media found with that search query"}
|
||||||
|
|
||||||
if self.type_media == "MOVIE":
|
try:
|
||||||
download_film(self.media_id, self.media_slug, self.domain)
|
match self.type_media:
|
||||||
response_dict = {
|
case "MOVIE":
|
||||||
"message": "Download done, it is saved in Video folder inside project root"
|
download_film(self.media_id, self.media_slug, self.domain)
|
||||||
}
|
case "TV":
|
||||||
elif self.type_media == "TV":
|
video_source = VideoSource()
|
||||||
video_source = VideoSource()
|
video_source.set_url_base_name(STREAM_SITE_NAME)
|
||||||
video_source.set_url_base_name(STREAM_SITE_NAME)
|
video_source.set_version(self.site_version)
|
||||||
video_source.set_version(self.site_version)
|
video_source.set_domain(self.domain)
|
||||||
video_source.set_domain(self.domain)
|
video_source.set_series_name(self.media_slug)
|
||||||
video_source.set_series_name(self.media_slug)
|
video_source.set_media_id(self.media_id)
|
||||||
video_source.set_media_id(self.media_id)
|
|
||||||
|
|
||||||
video_source.collect_info_seasons()
|
video_source.collect_info_seasons()
|
||||||
video_source.obj_episode_manager.clear()
|
video_source.obj_episode_manager.clear()
|
||||||
|
|
||||||
video_source.collect_title_season(self.download_id)
|
video_source.collect_title_season(self.download_id)
|
||||||
episodes_count = video_source.obj_episode_manager.get_length()
|
episodes_count = video_source.obj_episode_manager.get_length()
|
||||||
for i_episode in range(1, episodes_count + 1):
|
for i_episode in range(1, episodes_count + 1):
|
||||||
donwload_video(self.media_slug, self.download_id, i_episode)
|
donwload_video(self.media_slug, self.download_id, i_episode)
|
||||||
# FIXME - This is not working properly
|
# FIXME - This is not working properly
|
||||||
|
|
||||||
|
case "TV_ANIME":
|
||||||
|
episodes_downloader = EpisodeDownloader(self.media_id, self.media_slug)
|
||||||
|
episodes_downloader.download_episode(self.download_id)
|
||||||
|
case "OVA":
|
||||||
|
anime_download_film(id_film=self.media_id, title_name=self.media_slug)
|
||||||
|
case _:
|
||||||
|
raise Exception("Type media not supported")
|
||||||
|
|
||||||
elif self.type_media == "TV_ANIME":
|
|
||||||
episodes_downloader = EpisodeDownloader(self.media_id, self.media_slug)
|
|
||||||
episodes_downloader.download_episode(self.download_id)
|
|
||||||
response_dict = {
|
response_dict = {
|
||||||
"message": "Download done, it is saved in Video folder inside project root"
|
"message": "Download done, it is saved in Video folder inside project root"
|
||||||
}
|
}
|
||||||
elif self.type_media == "OVA":
|
except Exception as e:
|
||||||
anime_download_film(id_film=self.media_id, title_name=self.media_slug)
|
|
||||||
response_dict = {
|
response_dict = {
|
||||||
"message": "Download done, it is saved in Video folder inside project root"
|
"error": "Error while downloading the media, please try again later",
|
||||||
}
|
"message": str(e),
|
||||||
|
}
|
||||||
|
|
||||||
return Response(response_dict)
|
return Response(response_dict)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user