исправили баг когда видео из плейлиста

This commit is contained in:
vrubel 2026-01-28 17:48:52 +03:00
parent 8a21cbe18a
commit 09347b45ec
2 changed files with 76 additions and 8 deletions

View file

@ -17,7 +17,13 @@ from telegram.request import HTTPXRequest
from app.config import Config
from app.queue_manager import QueueManager, Task
from app.youtube_downloader import is_youtube_url, get_video_title, download_and_convert, sanitize_filename
from app.youtube_downloader import (
is_youtube_url,
get_video_title,
download_and_convert,
sanitize_filename,
normalize_youtube_url,
)
from app.admin_manager import AdminManager
from app.statistics import Statistics
@ -47,14 +53,16 @@ async def process_task(task: Task, config: Config, admin_manager: AdminManager,
Returns:
Путь к созданному MP3 файлу
"""
normalized_url = normalize_youtube_url(task.url)
# Получаем название видео
title = await get_video_title(task.url, config=config)
title = await get_video_title(normalized_url, config=config)
# Если название не получено, запрашиваем у пользователя
if not title:
# Сохраняем информацию о запросе
output_path = config.workdir / f"task_{task.task_id}"
pending_filename_requests[task.user_id] = (task.url, output_path)
pending_filename_requests[task.user_id] = (normalized_url, output_path)
# Отправляем запрос пользователю
status_callback = task.callback
@ -79,7 +87,7 @@ async def process_task(task: Task, config: Config, admin_manager: AdminManager,
output_path = config.workdir / f"task_{task.task_id}_{safe_title}"
# Скачиваем и конвертируем
mp3_path = await download_and_convert(task.url, output_path, custom_title=safe_title, config=config)
mp3_path = await download_and_convert(normalized_url, output_path, custom_title=safe_title, config=config)
return str(mp3_path)