scripts

scripts
git clone git://git.wimdupont.com/scripts.git
Log | Files | Refs | README | LICENSE

ytd (744B)


      1 #!/bin/bash
      2 
      3 is_playlist=0
      4 is_audio=0
      5 is_search=0
      6 
      7 while getopts ":pas" arg; do
      8   case $arg in
      9     p) is_playlist=1;;
     10     a) is_audio=1;;
     11     s) is_search=1;;
     12     *) echo "Unknown option -${OPTARG}";;
     13   esac
     14 done
     15 
     16 shift $((OPTIND-1))
     17 
     18 url=$*
     19 
     20 get_url() {
     21 	if [[ -z "${url}" ]]; then
     22 		echo "Give the search criteria to download." >&2
     23 		read -r url
     24 		url="${url}"
     25 	fi
     26 	
     27 	if [ "${is_search}" -eq 1 ]; then
     28 		url="ytsearch:${url}"
     29 	fi
     30 	echo "${url}"
     31 }
     32 
     33 get_args() {
     34 	if [ "${is_audio}" -eq 1 ]; then
     35 		echo "-x -f bestaudio"
     36 	fi
     37 }
     38 
     39 url="$(get_url)"
     40 args="$(get_args)"
     41 
     42 if [ "${is_playlist}" -eq 1 ]; then
     43 	yt-dlp ${args} -i -o "%(playlist_index)s - %(title)s.%(ext)s" "${url}"
     44 else
     45 	yt-dlp --no-playlist ${args} -o "%(title)s.%(ext)s" "${url}"
     46 fi