Add max number of limit to all dl alias

This commit is contained in:
Yan Lin 2025-10-04 22:23:27 +02:00
parent 592bc8cb45
commit 8dfaabfef0
2 changed files with 108 additions and 42 deletions

View file

@ -22,17 +22,17 @@
interval = "*-*-* 08:00:00";
randomDelay = "1h";
commands = [
"dl-yt -n 3 https://www.youtube.com/@KitbogaShow"
"dl-yt -n 3 https://www.youtube.com/@JCS"
"dl-yt -n 3 https://www.youtube.com/@Shane_McGillicuddy"
"dl-yt -n 3 https://www.youtube.com/@Coffeezilla"
"dl-yt -n 3 https://www.youtube.com/@Danny-Gonzalez"
"dl-yt -n 3 https://www.youtube.com/@rejectconvenience"
"dl-yt -n 3 https://www.youtube.com/@StuffMadeHere"
"dl-yt -n 3 https://www.youtube.com/@AdamSomething"
"dl-yt -n 3 https://www.youtube.com/@_gerg"
"dl-yt -n 3 https://www.youtube.com/@Yeah_Jaron"
"dl-yt -n 3 https://www.youtube.com/@WolfgangsChannel"
"dl-yt -n 3 'https://www.youtube.com/@KitbogaShow/videos'"
"dl-yt -n 3 'https://www.youtube.com/@JCS/videos'"
"dl-yt -n 3 'https://www.youtube.com/@Shane_McGillicuddy/videos'"
"dl-yt -n 3 'https://www.youtube.com/@Coffeezilla/videos'"
"dl-yt -n 3 'https://www.youtube.com/@Danny-Gonzalez/videos'"
"dl-yt -n 3 'https://www.youtube.com/@rejectconvenience/videos'"
"dl-yt -n 3 'https://www.youtube.com/@StuffMadeHere/videos'"
"dl-yt -n 3 'https://www.youtube.com/@AdamSomething/videos'"
"dl-yt -n 3 'https://www.youtube.com/@_gerg/videos'"
"dl-yt -n 3 'https://www.youtube.com/@Yeah_Jaron/videos'"
"dl-yt -n 3 'https://www.youtube.com/@WolfgangsChannel/videos'"
];
};

View file

@ -199,9 +199,28 @@ in
# YouTube playlist download
download-youtube-playlist() {
local url="$*"
local max_downloads=""
local url=""
# Parse arguments
while [[ $# -gt 0 ]]; do
case "$1" in
-n|--max)
max_downloads="$2"
shift 2
;;
*)
url="$url $1"
shift
;;
esac
done
url="''${url## }" # Trim leading space
if [[ -z "$url" ]]; then
echo "Usage: dl-yt-p <playlist-url>"
echo "Usage: dl-yt-p [-n|--max <number>] <playlist-url>"
echo " -n, --max <number> Limit number of videos to download"
return 1
fi
@ -212,9 +231,11 @@ in
mkdir -p "$DOWNLOAD_DIR"
echo "Downloading YouTube playlist..."
[[ -n "$max_downloads" ]] && echo "Limiting to $max_downloads videos"
echo "Output directory: $DOWNLOAD_DIR/YouTube"
local cmd="yt-dlp --yes-playlist"
[[ -n "$max_downloads" ]] && cmd="$cmd --playlist-end '$max_downloads'"
[[ -n "$temp_cookies" ]] && cmd="$cmd --cookies '$temp_cookies'" || cmd="$cmd --no-cookies"
cmd="$cmd --download-archive '$archive_file' -o '$output_template' '$url'"
@ -234,9 +255,28 @@ in
# Bilibili single video download
download-bilibili() {
local url="$*"
local max_downloads=""
local url=""
# Parse arguments
while [[ $# -gt 0 ]]; do
case "$1" in
-n|--max)
max_downloads="$2"
shift 2
;;
*)
url="$url $1"
shift
;;
esac
done
url="''${url## }" # Trim leading space
if [[ -z "$url" ]]; then
echo "Usage: dl-bili <url>"
echo "Usage: dl-bili [-n|--max <number>] <url>"
echo " -n, --max <number> Limit number of videos to process (useful for channels/playlists)"
return 1
fi
@ -247,9 +287,11 @@ in
mkdir -p "$DOWNLOAD_DIR"
echo "Downloading Bilibili video..."
[[ -n "$max_downloads" ]] && echo "Processing max $max_downloads videos"
echo "Output directory: $DOWNLOAD_DIR/Bilibili"
local cmd="yt-dlp --referer https://www.bilibili.com/"
[[ -n "$max_downloads" ]] && cmd="$cmd --playlist-end '$max_downloads'"
[[ -n "$temp_cookies" ]] && cmd="$cmd --cookies '$temp_cookies'" || cmd="$cmd --no-cookies"
cmd="$cmd --download-archive '$archive_file' -o '$output_template' '$url'"
@ -269,9 +311,28 @@ in
# Bilibili playlist/collection download
download-bilibili-playlist() {
local url="$*"
local max_downloads=""
local url=""
# Parse arguments
while [[ $# -gt 0 ]]; do
case "$1" in
-n|--max)
max_downloads="$2"
shift 2
;;
*)
url="$url $1"
shift
;;
esac
done
url="''${url## }" # Trim leading space
if [[ -z "$url" ]]; then
echo "Usage: dl-bili-p <playlist-url>"
echo "Usage: dl-bili-p [-n|--max <number>] <playlist-url>"
echo " -n, --max <number> Limit number of videos to download"
return 1
fi
@ -282,9 +343,11 @@ in
mkdir -p "$DOWNLOAD_DIR"
echo "Downloading Bilibili playlist..."
[[ -n "$max_downloads" ]] && echo "Limiting to $max_downloads videos"
echo "Output directory: $DOWNLOAD_DIR/Bilibili"
local cmd="yt-dlp --yes-playlist --referer https://www.bilibili.com/"
[[ -n "$max_downloads" ]] && cmd="$cmd --playlist-end '$max_downloads'"
[[ -n "$temp_cookies" ]] && cmd="$cmd --cookies '$temp_cookies'" || cmd="$cmd --no-cookies"
cmd="$cmd --download-archive '$archive_file' -o '$output_template' '$url'"
@ -308,12 +371,15 @@ in
Video Download Commands:
YouTube:
dl-yt <url> - Download single YouTube video
dl-yt-p <url> - Download YouTube playlist
dl-yt [-n <N>] <url> - Download single YouTube video
dl-yt-p [-n <N>] <url> - Download YouTube playlist
Bilibili:
dl-bili <url> - Download single Bilibili video
dl-bili-p <url> - Download Bilibili playlist/collection
dl-bili [-n <N>] <url> - Download single Bilibili video
dl-bili-p [-n <N>] <url> - Download Bilibili playlist/collection
Options:
-n, --max <number> Limit number of videos to process/download
Other commands:
dl-clear-archive - Clear download history (allows re-downloading)