23 lines
715 B
Python
23 lines
715 B
Python
from fastapi import APIRouter
|
|
from app.schemas import TaskCreateResponse
|
|
from app.schemas import DownloadRequest
|
|
from app.tasks import download_youtube
|
|
from app.services import YouTubeService
|
|
|
|
router = APIRouter()
|
|
|
|
|
|
@router.post("/download", response_model=TaskCreateResponse)
|
|
async def download_video(data: DownloadRequest):
|
|
task = download_youtube.delay(url=str(data.url), quality=data.quality)
|
|
return TaskCreateResponse(task_id=task.id, status=task.status)
|
|
|
|
|
|
@router.get("/resolutions")
|
|
async def video_resolutions(url: str):
|
|
return {"resolutions": YouTubeService.resolutions(url)}
|
|
|
|
@router.get("/size")
|
|
async def video_size(data: DownloadRequest):
|
|
return {"size": YouTubeService.filesize(data)}
|