summaryrefslogtreecommitdiff
path: root/nsxiv_utils/nsxiv-url
diff options
context:
space:
mode:
Diffstat (limited to 'nsxiv_utils/nsxiv-url')
-rwxr-xr-xnsxiv_utils/nsxiv-url32
1 files changed, 32 insertions, 0 deletions
diff --git a/nsxiv_utils/nsxiv-url b/nsxiv_utils/nsxiv-url
new file mode 100755
index 0000000..575902a
--- /dev/null
+++ b/nsxiv_utils/nsxiv-url
@@ -0,0 +1,32 @@
+#!/usr/bin/env sh
+
+cache_dir="${TMPDIR:-/tmp}/nsxiv"
+
+die() {
+ [ -n "$1" ] && printf '%s\n' "$*" >&2;
+ exit 1
+}
+
+cleanup() {
+ rm -f -- "$cache_dir"/*
+}
+
+get_image() (
+ cd "$cache_dir" && curl -sSLO "$1"
+)
+
+### main ###
+
+[ -z "$1" ] && die "No arguments given"
+trap cleanup EXIT
+[ -d "$cache_dir" ] || mkdir -p -- "$cache_dir" || die
+while [ -n "$1" ]; do
+ case "$1" in
+ *://*.*) get_image "$1" ;;
+ *) echo "Invalid url: $1" >&2 ;;
+ esac
+ shift
+done
+
+[ "$(find "$cache_dir" -type f -print | wc -l)" -ne 0 ] &&
+ nsxiv -p "$cache_dir"