-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathyearly.sh
More file actions
executable file
·51 lines (51 loc) · 1.89 KB
/
yearly.sh
File metadata and controls
executable file
·51 lines (51 loc) · 1.89 KB
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#!/bin/bash
SECONDS=0
# ---------------------------------------------------
YEAR=`date '+%Y'`
MONTH=`date '+%m'`
DAY=`date '+%d'`
HOUR=`date '+%H'`
# ---------------------------------------------------
# source the configuration file
# it must be edited and copied as ".BirdNET-BarChart" to you home directory
CONFIG_FILE=${HOME}/.BirdNET-BarChart
if [ -f "${CONFIG_FILE}" ]; then
source ${CONFIG_FILE}
else
echo " "
echo "${CONFIG_FILE} does not exist."
echo "Run the config.sh script to create."
echo " "
exit 1
fi
# ---------------------------------------------------
{
# ===================================================
# record celestial data
MAXTRYS=5
for i in $(seq 1 $MAXTRYS)
do
curl --max-time 30 -H "Cache-Control: no-cache, no-store" "https://aa.usno.navy.mil/api/seasons?year=${YEAR}&tz=-8&dst=true" > ${BARCHART_HOME}/sky/season.js
EXITCODE=$?
if [[ $EXITCODE -eq 0 ]]
then
echo "<season>" > ${BARCHART_HOME}/sky/season.xml
jq -rf ${BARCHART_HOME}/util/json2xml.jq ${BARCHART_HOME}/sky/season.js >> ${BARCHART_HOME}/sky/season.xml
echo "</season>" >> ${BARCHART_HOME}/sky/season.xml
java -classpath ${XSLT_JAR} net.sf.saxon.Transform -s:${BARCHART_HOME}/sky/season.xml -xsl:${BARCHART_HOME}/sky/season.xsl > ${BARCHART_HOME}/sky/season.sql
sqlite3 ${BARCHART_HOME}/birds.db < ${BARCHART_HOME}/sky/season.sql
echo "celestial success on attempt ${i}"
break
else
echo "curl: ${EXITCODE}"
cat ${BARCHART_HOME}/sky/season.js
echo "===== celestial FAILURE ====="
sleep 5
fi
done
# ===================================================
# how long did it take
DURATION=$SECONDS
echo "$(($DURATION / 60)) minutes and $(($DURATION % 60)) seconds elapsed."
echo "---------------------------------------------------------------------------------"
} >> ${BARCHART_HOME}/logs/${YEAR}-${MONTH}-${DAY}-${HOUR}-yearly.out 2>> ${BARCHART_HOME}/logs/${YEAR}-${MONTH}-${DAY}-${HOUR}-yearly.err