commit 7d760f3faf8e7ce83dcf58d6adafc677c55a2320
parent 3724466a3fc4099828795b91771add42ad3f48a0
Author: ryukamish <[email protected]>
Date: Fri, 15 May 2026 22:03:24 +0530
add: check dependencies and wait for user input before quitting
Diffstat:
1 file changed, 18 insertions(+), 0 deletions(-)
diff --git a/scripts/vidl b/scripts/vidl
@@ -2,6 +2,19 @@
set -eou pipefail
+check_deps(){
+ app_list=(yt-dlp gum)
+ for app in "${app_list[@]}"; do
+ _have=$(command -v "$app" &>/dev/null)
+ if [ -z "$_have" ]; then
+ printf "%b\n" "$app is not installed."
+ exit 1
+ else
+ true
+ fi
+ done
+}
+
msg() {
case "$1" in
"error") gum log --structured --level error "$2"; exit 1 ;;
@@ -11,6 +24,9 @@ msg() {
esac
}
+# Check for dependencies
+check_deps
+
Url=$(gum input --header.bold --header.foreground="#FCB8EF" --header="URL of video:" --placeholder="Enter URL..." || msg error "Please enter a url.")
VideoDownloadMode=$(gum choose --header="How many files to download:" --header.bold --header.foreground="#FCB8EF" "Single" "Batch" || msg error "Please choose a video download mode.")
DownloadDirectory=$(find "$HOME/Videos" -type d | fzf --layout=reverse --height=50% --border || msg error "Did not select a download directory.")
@@ -76,3 +92,5 @@ if [ -n "$Url" ]; then
Batch) ;;
esac
fi
+
+msg complete