summaryrefslogtreecommitdiff
path: root/nsxiv_utils/nsxiv-url
blob: 575902ab72f48d34fafeaf359663b463d29186ac (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
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"