diff options
Diffstat (limited to 'nsxiv_utils/nsxiv-url')
-rwxr-xr-x | nsxiv_utils/nsxiv-url | 32 |
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" |