index: release v1.18 with only altgr index linked
[sheet.git] / tools / wget-ifmodified
1 #!/usr/bin/env sh
2
3 set -u
4
5 if [ -z "$1" ]
6 then
7         echo 'Usage: $0 [-v] <url> [<target>]' >&2
8         # download url to target location if modified
9         exit 64 # EX_USAGE
10 fi
11
12 verbose=
13
14 case "$1" in
15 -v)
16         verbose=1
17         shift
18         ;;
19 esac
20
21 source=$1
22 target=${2:-${source##*/}}
23
24 if [ -e "$target" ]
25 then
26         modified=$(stat -c%y -L "$target") &&
27         modified=$(date -R -d "$modified")
28         [ $verbose ] && echo "download since: $modified"
29 fi
30
31 headers=${modified:+If-Modified-Since: $modified}
32 wget -nv --header="$headers" -O "$target.new" "$source" &&
33 mv "$target.new" "$target" ||
34 rm "$target.new" # clean up failed download (usually empty 304 response)
35