about summary refs log tree commit diff stats
path: root/modules/home.legacy/conf/lf/commands/scripts/dl_file.sh
diff options
context:
space:
mode:
Diffstat (limited to 'modules/home.legacy/conf/lf/commands/scripts/dl_file.sh')
-rwxr-xr-xmodules/home.legacy/conf/lf/commands/scripts/dl_file.sh43
1 files changed, 43 insertions, 0 deletions
diff --git a/modules/home.legacy/conf/lf/commands/scripts/dl_file.sh b/modules/home.legacy/conf/lf/commands/scripts/dl_file.sh
new file mode 100755
index 00000000..c7e3d8b2
--- /dev/null
+++ b/modules/home.legacy/conf/lf/commands/scripts/dl_file.sh
@@ -0,0 +1,43 @@
+#! /usr/bin/env dash
+
+# shellcheck source=/dev/null
+SHELL_LIBRARY_VERSION="2.1.2" . %SHELL_LIBRARY_PATH
+
+# shellcheck disable=SC2269
+f="$f"
+# shellcheck disable=SC2269
+fx="$fx"
+# shellcheck disable=SC2269
+fs="$fs"
+# shellcheck disable=SC2269
+id="$id"
+
+# Provides the ability to download a file by dropping it into a window
+
+url="$(dragon -t -x)"
+
+if [ -n "$url" ]; then
+    prompt "File Name: "
+    name=""
+    while [ -z "$name" ] || [ -e "$name" ]; do
+        read -r name
+        if [ -e "$name" ]; then
+            prompt "File already exists, overwrite [y|N]: "
+            read -r ans
+
+            if [ "$ans" = "y" ]; then
+                break
+            else
+                prompt "File Name: "
+            fi
+        fi
+    done
+
+    # Download the file with curl
+    if [ -n "$name" ]; then
+        curl -o "$name" "$url" || die "curl failed"
+    fi
+else
+    die "URL is null!"
+fi
+# vim: ft=sh