diff options
| author | ryukamish <[email protected]> | 2026-05-15 22:03:24 +0530 |
|---|---|---|
| committer | ryukamish <[email protected]> | 2026-05-15 22:03:24 +0530 |
| commit | 7d760f3faf8e7ce83dcf58d6adafc677c55a2320 (patch) | |
| tree | f70854cc9cd2e728d6c7a95d26637dd796216ae8 /scripts | |
| parent | 3724466a3fc4099828795b91771add42ad3f48a0 (diff) | |
add: check dependencies and wait for user input before quitting
Diffstat (limited to 'scripts')
| -rwxr-xr-x | scripts/vidl | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/scripts/vidl b/scripts/vidl index 207746d..7fd7e8a 100755 --- 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 |
