AzLearn

تمرين إعادة البناء

مخطط تنزيل فيديو آمن

تحقق من روابط فيديو واكتب أوامر yt-dlp مقترحة دون تشغيلها.

python ~15 دقيقة متوسط
أعد بناء الكود Rebuild

هذا هو الكود. اكتبه بنفسك.

الكود المرجعي
import argparse
import shlex
from urllib.parse import urlparse

ALLOWED_HOSTS = {"youtube.com", "www.youtube.com", "youtu.be", "m.youtube.com"}


def is_youtube_url(url: str) -> bool:
    parsed = urlparse(url)
    return parsed.scheme in {"http", "https"} and parsed.netloc.lower() in ALLOWED_HOSTS


def build_command(url: str, audio_only: bool) -> list[str]:
    command = ["yt-dlp"]
    if audio_only:
        command.extend(["--extract-audio", "--audio-format", "mp3"])
    command.append(url)
    return command


def main() -> None:
    parser = argparse.ArgumentParser(description="Print a safe yt-dlp command plan without running it.")
    parser.add_argument("url")
    parser.add_argument("--audio-only", action="store_true")
    args = parser.parse_args()

    if not is_youtube_url(args.url):
        raise SystemExit("Expected a YouTube URL.")
    print(shlex.join(build_command(args.url, args.audio_only)))


if __name__ == "__main__":
    main()
اكتب هنا