AspireSync/bin/sync-and-push-fair-packages

31 lines
686 B
Bash
Executable file

#!/usr/bin/env bash
. $(dirname $0)/prelude.bash
TMPDIR=${TMPDIR:-/tmp}
function main () {
packages=$(mktemp $TMPDIR/packages.jsonl.XXXXXXXX)
trap "rm -f $packages $packages.*" EXIT
count=0
grep '^https:' etc/fair-packages.list | while read -r url; do
out=$packages.$count
curl -s $url >> $out
# sigh. we should be using guzzle.
status=$(jq .data.status < $out)
if [[ $status =~ null|200 ]]; then
jq -c < $out >> $packages
else
message=$(jq -r .message < $out)
warn "ERROR FETCHING $url: unexpected status $status: $message"
fi
count=$(( ++count ))
done
cat $packages | bin/push-packages-to-aspirecloud
}
main "$@"