fetch-calendar: Make script also work on (most) Linux systems
Do this by adding an OS type check and also adding the relevant date commands for Linux. Also check for OS type FreeBSD, since the script should work on there, if it works on Darwin.
This commit is contained in:
parent
db0000244a
commit
eab3b281c0
|
@ -2,8 +2,23 @@
|
||||||
set -eu
|
set -eu
|
||||||
|
|
||||||
ICAL_URL=https://cloud.hamburg.ccc.de/remote.php/dav/public-calendars/6CJcM7XDfoYire5d
|
ICAL_URL=https://cloud.hamburg.ccc.de/remote.php/dav/public-calendars/6CJcM7XDfoYire5d
|
||||||
START_TIME=$(date -v-1d +%s) # yesterday
|
|
||||||
END_TIME=$(date -v+1m +%s) # now + 1 month
|
|
||||||
OUTFILE=data/calendar.json
|
OUTFILE=data/calendar.json
|
||||||
|
|
||||||
|
# See here for uname -s outputs: https://en.wikipedia.org/wiki/Uname#Examples
|
||||||
|
OS_TYPE=$(uname -s)
|
||||||
|
if [ "$OS_TYPE" = "Linux" ]; then
|
||||||
|
START_TIME=$(date --date="-1 day" +%s) # yesterday
|
||||||
|
END_TIME=$(date --date="+1 month" +%s) # now + 1 month
|
||||||
|
elif [ "$OS_TYPE" = "Darwin" ] || [ "$OS_TYPE" = "FreeBSD" ]; then
|
||||||
|
START_TIME=$(date -v-1d +%s) # yesterday
|
||||||
|
END_TIME=$(date -v+1m +%s) # now + 1 month
|
||||||
|
else
|
||||||
|
echo "ERROR: Unsupported OS type"
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
mkdir -p $(dirname $OUTFILE)
|
||||||
|
|
||||||
|
echo "loading calendar file..."
|
||||||
curl -s $ICAL_URL\?export\&accept=jcal\&expand\=1\&start\=$START_TIME\&end\=$END_TIME | jq '.[2]|map({_type:.[0]}+(.[1]|map({key:.[0],value:.[3]})|from_entries))' > $OUTFILE
|
curl -s $ICAL_URL\?export\&accept=jcal\&expand\=1\&start\=$START_TIME\&end\=$END_TIME | jq '.[2]|map({_type:.[0]}+(.[1]|map({key:.[0],value:.[3]})|from_entries))' > $OUTFILE
|
||||||
|
echo "...done"
|
||||||
|
|
Loading…
Reference in a new issue