summaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
Diffstat (limited to 'scripts')
-rwxr-xr-xscripts/vidl18
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