aboutsummaryrefslogtreecommitdiffstats
path: root/skate/testdata/fetch.sh
blob: f91484de125bc4a64cbe5cc6492a11d2ee7286a9 (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
#!/bin/bash
#
# Fetch release entity mentioned in verify.csv and cache them locally.

set -e -u
set -o pipefail

API="https://api.fatcat.wiki/v0"
CSV="verify.csv"
RELEASE_DIR="release"

for prog in curl jq; do
	command -v $prog >/dev/null 2>&1 || {
		echo >&2 "$prog required"
		exit 1
	}
done

# Just release ATM, but could extend to other types.
mkdir -p "$RELEASE_DIR"

for ident in $(awk -F, '{print $1"\n"$2}' "$CSV"); do
	dst="$RELEASE_DIR/$ident"
	if [ -f "$dst" ]; then
		echo >&2 "[cached] $dst"
		continue
	fi
	tempfile=$(mktemp)
	curl -sL --fail "$API/release/$ident" | jq --sort-keys . >"$tempfile" && mv "$tempfile" "$dst"
	echo >&2 "[fetched] $dst"
done