mirror of
https://github.com/eclipse-sailing-analytics/sailing-analytics.git
synced 2026-09-21 21:25:38 +00:00
60 lines
2.3 KiB
Bash
60 lines
2.3 KiB
Bash
#!/usr/bin/env bash
|
|
|
|
# set up some constants
|
|
## Manage2Sail
|
|
M2SURL="http://manage2sail.com"
|
|
M2SEVENTID="???xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx???"
|
|
M2SACCESSTOKEN="???xyz???"
|
|
M2SSTRING=${M2SURL}"/api/public/links/event/"${M2SEVENTID}"?accesstoken="${M2SACCESSTOKEN}"&mediaType=json"
|
|
## Local JSON
|
|
LOCALJSON="/tmp/???EVENT???results.json"
|
|
LOCALJSON_OLD=$LOCALJSON.old
|
|
## Mails (each email in new line)
|
|
MAILINGLIST="/home/trac/mailinglists/???EVENT???updatemailinglist"
|
|
## Eventname
|
|
EVENTNAME="???Eventname Jahr???"
|
|
## Misc
|
|
DOSENDMAIL=false
|
|
|
|
### ROUTINE ###
|
|
# get current json from manage2sail
|
|
wget -O "$LOCALJSON" "$M2SSTRING" >/dev/null 2>&1
|
|
if [ -f "$LOCALJSON_OLD" ]; then
|
|
# results previously downloaded; now compare
|
|
# sort by manage2sail Regattas.Id
|
|
LOCALJSON_SORTED="${LOCALJSON}.sorted"
|
|
LOCALJSON_OLD_SORTED="${LOCALJSON_OLD}.sorted"
|
|
cat "$LOCALJSON" | jq -r '.Regattas|sort_by(.Name)' >"$LOCALJSON_SORTED"
|
|
cat "$LOCALJSON_OLD" | jq -r '.Regattas|sort_by(.Name)' >"$LOCALJSON_OLD_SORTED"
|
|
# filter only necessary values
|
|
LOCALJSON_FORMATTED="${LOCALJSON}.formatted"
|
|
LOCALJSON_OLD_FORMATTED="${LOCALJSON_OLD}.formatted"
|
|
cat "$LOCALJSON_SORTED" | jq -r '.[]|{Final, LastPublishedRoundName, Published, Name, ClassName, Id}|select(.Published != null)' >"$LOCALJSON_FORMATTED"
|
|
cat "$LOCALJSON_OLD_SORTED" | jq -r '.[]|{Final, LastPublishedRoundName, Published, Name, ClassName, Id}|select(.Published != null)' >"$LOCALJSON_OLD_FORMATTED"
|
|
# diff sorted+formatted json
|
|
diff -q "$LOCALJSON_OLD_FORMATTED" "$LOCALJSON_FORMATTED"
|
|
if [ "$?" != "0" ]; then
|
|
echo "Found diff between $LOCALJSON_OLD_FORMATTED and $LOCALJSON_FORMATTED
|
|
|
|
`diff -q "$LOCALJSON_OLD_FORMATTED" "$LOCALJSON_FORMATTED"`
|
|
|
|
Sending mail."
|
|
DOSENDMAIL=true
|
|
fi
|
|
fi
|
|
if [ "$DOSENDMAIL" = "true" ]; then
|
|
echo "`date` Sending mail to `cat "$MAILINGLIST"`"
|
|
echo "$LOCALJSON has changed. Consider re-importing results for $EVENTNAME. Differences:
|
|
|
|
------------------
|
|
`diff -U 6 "$LOCALJSON_OLD_FORMATTED" "$LOCALJSON_FORMATTED"`
|
|
------------------
|
|
|
|
To unsubscribe, change $MAILINGLIST on `hostname`." | mail -s "SAP result import update: $EVENTNAME" `cat "$MAILINGLIST" | grep -v "^#"`
|
|
fi
|
|
|
|
# move to old
|
|
mv "$LOCALJSON" "$LOCALJSON_OLD"
|
|
# clean up temporary files
|
|
rm -rf "$LOCALJSON_SORTED" "$LOCALJSON_OLD_SORTED" "$LOCALJSON_FORMATTED" "$LOCALJSON_OLD_FORMATTED"
|