#!/bin/bash

######################################################################
# Der Netzwerkstatus wird nach dem Booten überprüft
# Wenn Letzterer i.O., dann HTTP-Status abfragen
#
# wenn 304, dann 304.sh triggern
# wenn 200 und JSON valide, parse.sh triggern
# in jedem andern Fall Netzwerk mittels nwck.sh prüfen 
######################################################################


DOMAIN="$(sudo -u snowtv /home/snowtv/bin/getdomain.sh | tr -d "[']")"
NWSTATE="$(</home/snowtv/bin/nwstate)"
NINC="$(( NWSTATE + 1 ))"
TOK="$(</home/snowtv/bin/token)"
ID="$(sudo -u snowtv /home/snowtv/bin/getid.sh)"
echo "$ID"

httpstat () {
curl -k --connect-timeout 5 --max-time 5 -z /home/snowtv/Downloads/tmp.json -o /home/snowtv/Downloads/tmp.json -s -w "%{http_code}\\n" ''"$DOMAIN"'/?type=mc-ping2&ref='"$TOK"'&device='"$ID"'' --user-agent "mc$ID"
}
echo $(httpstat) | tee /home/snowtv/bin/httpstat.txt
HTTPSTAT="$(</home/snowtv/bin/httpstat.txt)"

CK="$(sudo -u snowtv /home/snowtv/bin/validate.sh)"


# Netzwerkstatus prüfen
# Wenn kein Netzwerk dann nwcheck.sh ausführen
# und err.sh aufrufen
# und Skript mit Status Code 1 beenden
if [ -s "$NWSTATE" ]; then
	sudo -u snowtv echo "0" | tee /home/snowtv/bin/nwstate

elif [ "$NWSTATE" -ge "4" ]; then
	sudo -u snowtv /home/snowtv/bin/err.sh
	sudo -u snowtv /home/snowtv/bin/nwck.sh

# Normalbetrieb, Playout regeln mit 304.sh
elif [ "$HTTPSTAT" == "304" ]; then
	sudo -u snowtv /home/snowtv/bin/304.sh
	sudo -u snowtv echo "0" | tee /home/snowtv/bin/nwstate

# Mediaplayer muss neu konfiguriert werden
# wenn heruntergeladenes JSON alle Prüfungen bestanden hat
elif [ "$HTTPSTAT" == "200" ] && [ "$CK" == "0" ]; then
	sudo -u snowtv /home/snowtv/bin/parse.sh
	sudo -u snowtv echo "0" | tee /home/snowtv/bin/nwstate

# In jedem andern Fall wird der nwstate um 1 erhöht
#else 	sudo -u snowtv /home/snowtv/bin/nwck.sh
else  sudo -u snowtv echo "$NINC" > /home/snowtv/bin/nwstate

fi

exit 0
