blob: c2882e123a57b9d4235cf5ab77ec9278f6f3731d (
plain) (
tree)
|
|
#!/usr/bin/env bash
export DEFAULT_PLAYLIST_END=15
export DEFAULT_INC_STEP=10
export YT_TEMPLATE="$HOME/Downloads/yt-dl/%(uploader)s/%(upload_date)s %(title)s.%(ext)s"
# Always downloads video, doesn't look at the download-archive
yt_dl() {
youtube-dl "$1" -o "$YT_TEMPLATE" --write-description
}
export -f yt_dl
download() {
youtube-dl "$1" \
--download-archive ~/Nextcloud/cache/youtube-dl-seen.conf \
--prefer-free-formats \
--playlist-end "$2" \
--write-description \
--output "$YT_TEMPLATE"
}
export -f download
download_user() {
download "https://www.youtube.com/user/$1" "${2-$DEFAULT_PLAYLIST_END}"
}
export -f download_user
download_channel() {
download "https://www.youtube.com/channel/$1" "${2-$DEFAULT_PLAYLIST_END}"
}
export -f download_channel
download_playlist() {
download "https://www.youtube.com/playlist?list=$1" "${2-$DEFAULT_PLAYLIST_END}"
}
export -f download_playlist
inc_download() {
local fn="$1"
local id="$2"
local step="${3-$DEFAULT_INC_STEP}"
local file="$HOME/.yt-db/$id"
mkdir -p "$HOME/.yt-db"
cat "$file" 2> /dev/null
local n_count
n_count="$(cat "$file" 2> /dev/null || printf 10)"
local n_count_new="$((n_count + step))"
echo "$n_count_new" > "$file"
"$fn" "$id" "$n_count"
}
export -f inc_download
|