commits
tags
from __future__ import annotations
import argparse
from pathlib import Path
from .app import DEFAULT_OUTPUT_DIR, YtmdlApp
def main() -> None:
parser = argparse.ArgumentParser(
prog="ytmdl",
description="TUI for downloading audio from YouTube / YouTube Music URLs and playlists.",
)
parser.add_argument(
"-o",
"--output-dir",
type=Path,
default=DEFAULT_OUTPUT_DIR,
help=f"Directory to save downloaded audio files (default: {DEFAULT_OUTPUT_DIR})",
)
parser.add_argument(
"-f",
"--format",
dest="audio_format",
default="mp3",
choices=["mp3", "m4a", "flac", "opus", "wav", "vorbis"],
help="Audio format to convert downloads to (default: mp3)",
)
args = parser.parse_args()
app = YtmdlApp(output_dir=args.output_dir, audio_format=args.audio_format)
app.run()
if __name__ == "__main__":
main()