diff --git a/.linux/bash/module/vdl.sh b/.linux/bash/module/vdl.sh index 46cb891..cc30475 100644 --- a/.linux/bash/module/vdl.sh +++ b/.linux/bash/module/vdl.sh @@ -1,30 +1,25 @@ -# download video from URL in background. +# Download video from URL in background. When no [LINK] specified, it tries to update previously downloaded link. +# Usage: vdl [LINK] vdl() { - echo "$@" > src.txt - yt-dlp -f 'bestvideo[height<=?1081]+bestaudio/best' --download-archive index.txt --embed-thumbnail --embed-subs --write-auto-subs --embed-metadata --merge-output-format mkv -cio '%(playlist_index)000006d_%(id)s.%(ext)s' "$@" + local target="${@}" # What to download/update. + + # If no [LINK] provided, try to read from `src.txt`. + [[ "${target}" = "" ]] && target="$(cat src.txt)" + + # If could not get [LINK] eventually, show an error and exit. + if [[ "${target}" = "" ]]; then + echo -e "${color_red}Could not determine [LINK] to download.${color_default}" + echo "Usage: vdl [LINK]" + return 1 + fi + + # Save [LINK] for later use. + echo "${target}" > src.txt + + # Download [LINK] content. + yt-dlp -f 'bestvideo[height<=?1081]+bestaudio/best' --download-archive index.txt --embed-thumbnail --embed-subs --write-auto-subs --embed-metadata --merge-output-format mkv -cio '%(playlist_index)000006d_%(id)s.%(ext)s' "${target}" } # download all videos from file. alias vdl_file="vdl -a" - -# update playlist. -vdl_update() -{ - local src="$(cat src.txt)" - vdl "$src" -} - -# update all playlists recursively. -vdl_update_all() -{ - local root="$PWD" - local dir - for file in **/src.txt; do - dir="${file%/*}" - cd "$dir" - echo "$PWD" - vdl_update - cd "$root" - done -}