minor fixes
This commit is contained in:
		| @@ -1,6 +1,5 @@ | ||||
| import asyncio | ||||
| import json | ||||
| import re | ||||
|  | ||||
| from playwright.async_api import async_playwright | ||||
| from playwright.async_api import Playwright | ||||
|   | ||||
| @@ -1,7 +1,6 @@ | ||||
| from __future__ import unicode_literals | ||||
|  | ||||
| import os | ||||
| from urllib.parse import urlparse | ||||
|  | ||||
| from yt_dlp import YoutubeDL | ||||
|  | ||||
| @@ -26,7 +25,6 @@ class VideoDownloader: | ||||
|             self.info = ydl.extract_info(self.link, download=False) | ||||
|  | ||||
|     def download(self): | ||||
|         # TODO: удалить все файлы связанные с текущим видео, которые сейчас остались | ||||
|         base = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) | ||||
|         base_download_dir = os.path.join(base, os.pardir, "downloads", self.info['extractor_key']) | ||||
|         for root, dirs, files in os.walk(base_download_dir): | ||||
|   | ||||
| @@ -1,4 +1,3 @@ | ||||
| import datetime | ||||
| import errno | ||||
| import os | ||||
|  | ||||
|   | ||||
| @@ -46,7 +46,6 @@ TypeError: string indices must be integers | ||||
| ''' | ||||
|  | ||||
| async def is_task_already_done_or_exist(redis: RedisClient, link: str): | ||||
|     # TODO: добавить real_link? пример - https://yandex.ru/video/preview/398425296752711999 будет грузить https://youtu.be/EjhRS4HUSJc | ||||
|     messages = await redis.get_task_done_queue() | ||||
|  | ||||
|     tasks = [ | ||||
| @@ -80,21 +79,6 @@ async def index(request: Request): | ||||
|  | ||||
| @app.post('/submit/') | ||||
| async def get_url_for_download_video(request: Request, data: SubmitIn = Depends()): | ||||
|     """ | ||||
|     TODO: | ||||
|     Сабмит должен проверить что задача может быть уже выполненой (отдать ссылку в ответе) | ||||
|         или ещё в работе (сообщить об этом в ответе, можно вывести на форму, что такая ссылка уже скачивается, ожидайте) | ||||
|     Если условия выше провалены, то мы делаем новую задачу в очередь с переданными параметрами и сообщаем об этом клиенту с кодом (200 или 201) | ||||
|  | ||||
|     Дополнительно, нужен отдельный метод (ури), который позволит получать статус задачи. Опрашиваться примерно раз в 5с, | ||||
|     возможны увелечения тайминга в зависимости от ответа апи (на будущее) | ||||
|     Варианты ответа | ||||
|     1) такой задачи нет (404) | ||||
|     2) такая задача есть и выполняется (200 ли?) | ||||
|     3) такая задача есть и завершена (200 и выдать ссылку на загрузку) | ||||
|     4) такая задача есть и завершена, но с ошибкой (500 и сообщение о том, что можно попробовать выполнить задачу заново, | ||||
|                                                     попутно удалив задачу из выполненных, с очисткой мусора за ней) | ||||
|     """ | ||||
|     red = RedisClient() | ||||
|     task_done = await is_task_already_done_or_exist(red, data.link) | ||||
|     task_in_process = await is_task_in_process(red, data.link) | ||||
|   | ||||
| @@ -39,9 +39,8 @@ class MergeOutputFormatEnum(Enum): | ||||
|  | ||||
| @dataclass | ||||
| class SubmitIn: | ||||
|     #TODO: дефолтный значения | ||||
|     link: str = Form(...) | ||||
|     video_format: VideoFormatEnum = Form(...) | ||||
|     audio_format: AudioFormatEnum = Form(...) | ||||
|     merge_output_format: MergeOutputFormatEnum = Form(...) | ||||
|     video_format: VideoFormatEnum = Form(default=MergeOutputFormatEnum.format_mp4) | ||||
|     audio_format: AudioFormatEnum = Form(default=AudioFormatEnum.format_m4a) | ||||
|     merge_output_format: MergeOutputFormatEnum = Form(default=MergeOutputFormatEnum.format_mp4) | ||||
|  | ||||
|   | ||||
| @@ -93,7 +93,7 @@ | ||||
|         const link = document.getElementById("link").value | ||||
|         const xhr2 = new XMLHttpRequest(); | ||||
|         // TODO: скорректировать ссылку, она должна быть относительной | ||||
|         xhr2.open('GET', 'http://0.0.0.0:8000/check/?link=' + link); | ||||
|         xhr2.open('GET', 'http://'+document.location.host+'/check/?link=' + link); | ||||
|         xhr2.responseType = 'json'; | ||||
|         xhr2.onload = function() { | ||||
|             // TODO: добавить обработку исключений и всех возможных кодов в ответе | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 nikili0n
						nikili0n