mirror of
https://gh.wpcy.net/https://github.com/aspirepress/AspireSync.git
synced 2026-07-18 09:59:34 +08:00
31 lines
686 B
Bash
Executable file
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 "$@"
|