File size: 1,069 Bytes
f350839 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 | """
نماذج البيانات للـ API
"""
from pydantic import BaseModel, HttpUrl
from typing import Optional, List
from enum import Enum
class SubtitleFormat(str, Enum):
srt = "srt"
vtt = "vtt"
class VideoQuality(str, Enum):
best = "best"
medium = "medium"
low = "low"
class SubtitleLanguage(str, Enum):
ar = "ar"
en = "en"
class DownloadRequest(BaseModel):
"""طلب التحميل"""
url: str
subtitle_lang: SubtitleLanguage = SubtitleLanguage.ar
subtitle_format: SubtitleFormat = SubtitleFormat.srt
quality: VideoQuality = VideoQuality.best
auto_subtitle: bool = True
class VideoInfoResponse(BaseModel):
"""استجابة معلومات الفيديو"""
title: str
video_id: str
duration: int
thumbnail: str
uploader: str
available_subtitles: List[dict]
description: str = ""
class ProgressResponse(BaseModel):
"""استجابة التقدم"""
status: str
percent: float
speed: str = ""
eta: str = ""
message: str
filename: str = ""
|