365 lines
13 KiB
Bash
Executable File
365 lines
13 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
if [ -z "$(which jq)" ]
|
|
then
|
|
printf "\\n\\n\\n\\tPackage \"jq\" required!"
|
|
exit 1
|
|
fi
|
|
|
|
CHCHPOSITION=0
|
|
|
|
while true; do
|
|
|
|
if ! ping -q -c1 chch.it>/dev/null;
|
|
then
|
|
echo -e "\\n\\n\\n\\tNo internet connection!"
|
|
sleep 10
|
|
clear
|
|
# exit 1
|
|
|
|
else
|
|
|
|
STATIONS[0]="18"
|
|
STATIONS[1]="202"
|
|
STANAME=()
|
|
|
|
NUMOFSTA=${#STATIONS[*]}
|
|
|
|
FOO=$(curl --connect-timeout 5 -s "http://www.cvag.de/eza/mis/stations?minLat=0&maxLat=100&minLon=0&maxLon=100")
|
|
for ((i=0; i<${#STATIONS[*]}; i++))
|
|
do
|
|
case ${STATIONS[$i]} in
|
|
''|*[!0-9]*)
|
|
STANAME[$i]=$(echo -n "$FOO" | jq -r '.stations | .[] | select(.displayName | contains("'"${STATIONS[$i]}"'")) | .number')
|
|
;;
|
|
|
|
*)
|
|
STANAME[$i]=$(echo -n "$FOO" | jq -r '.stations | .[] | select(.number | contains('"${STATIONS[$i]}"')) | .displayName')
|
|
;;
|
|
esac
|
|
done
|
|
|
|
MYOUTPUT="\\n "
|
|
CHCHLOGOB="\\n \\n"
|
|
CHCHLOGOB="$CHCHLOGOB""\\t\\t████████████████████████████████████████████████\\n"
|
|
CHCHLOGOB="$CHCHLOGOB""\\t\\t██▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██\\n"
|
|
CHCHLOGOB="$CHCHLOGOB""\\t\\t██▒▒████████████████████████████████████████▒▒██\\n"
|
|
CHCHLOGOB="$CHCHLOGOB""\\t\\t██▒▒██████████▒▒██▒▒████████████▒▒██▒▒██████▒▒██\\n"
|
|
CHCHLOGOB="$CHCHLOGOB""\\t\\t██▒▒████▒▒▒▒▒▒████▒▒██████▒▒▒▒▒▒████▒▒██████▒▒██\\n"
|
|
CHCHLOGOB="$CHCHLOGOB""\\t\\t██▒▒████▒▒████████████▒▒██▒▒████████████▒▒██▒▒██\\n"
|
|
CHCHLOGOB="$CHCHLOGOB""\\t\\t██▒▒████▒▒████████▒▒██▒▒██▒▒████████▒▒██▒▒██▒▒██\\n"
|
|
CHCHLOGOB="$CHCHLOGOB""\\t\\t██▒▒██████████▒▒██▒▒██▒▒████████▒▒██▒▒██▒▒██▒▒██\\n"
|
|
CHCHLOGOB="$CHCHLOGOB""\\t\\t██▒▒██▒▒▒▒▒▒▒▒██▒▒██▒▒██▒▒▒▒▒▒▒▒██▒▒██▒▒████▒▒██\\n"
|
|
CHCHLOGOB="$CHCHLOGOB""\\t\\t██▒▒████████████████████████████████████████▒▒██\\n"
|
|
CHCHLOGOB="$CHCHLOGOB""\\t\\t██▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██\\n"
|
|
CHCHLOGOB="$CHCHLOGOB""\\t\\t████████████████████████████████████████████████"
|
|
#CHCHLOGOB="$CHCHLOGOB""\\t\\t C H A O S C H E M N I T Z . D E\\n"
|
|
|
|
#CHCHLOGOA="\n\n"
|
|
CHCHLOGOAA="\\t\\t█▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀█ "
|
|
CHCHLOGOAB="\\t\\t█ █████▀█▀██████▀█▀███ █ "
|
|
CHCHLOGOAC="\\t\\t█ ██ ▄▄██▄█▀█ ▄▄██▄█▀█ █ "
|
|
CHCHLOGOAD="\\t\\t█ ██▄██▀█ █ █▄██▀█ █ █ █ "
|
|
CHCHLOGOAE="\\t\\t█ █▄▄▄▄█▄█▄█▄▄▄▄█▄█▄██ █ "
|
|
CHCHLOGOAF="\\t\\t█▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄█ "
|
|
|
|
#CHCHLOGO="$CHCHLOGOB"
|
|
CHCHPOSITION=$((CHCHPOSITION + 1))
|
|
MYLITTLEHELPER=$((NUMOFSTA + 1))
|
|
CHCHPOSITION=$((CHCHPOSITION % MYLITTLEHELPER))
|
|
|
|
for ((j=0; j<"$NUMOFSTA"; j++))
|
|
do
|
|
|
|
FOO=$(curl --connect-timeout 5 -s http://cvag.de/eza/mis/stops/station/CAG-${STATIONS[$j]})
|
|
BAR=$FOO
|
|
|
|
FOO=$(echo "$FOO" | jq -r ".stops | .[]")
|
|
BAR=$(echo "$BAR" | jq -r ".now")
|
|
|
|
if [ ${#BAR} -lt 1 ]
|
|
then
|
|
BAR="0"
|
|
fi
|
|
REALBARMS=$(( "$BAR" % 1000 ))
|
|
if [ ${#REALBARMS} -lt 3 ]
|
|
then
|
|
REALBARMS="0""$REALBARMS"
|
|
fi
|
|
if [ ${#REALBARMS} -lt 3 ]
|
|
then
|
|
REALBARMS="0""$REALBARMS"
|
|
fi
|
|
REALBAR=$(( "$BAR" / 1000))
|
|
THISDATE=$(date --date="@$REALBAR" +"%d.%m.%Y %T")",$REALBARMS"
|
|
|
|
# Wenn Logo gezeichnet werden soll, baue Urzeit ran und zeichne
|
|
|
|
if [ "$j" -eq "$CHCHPOSITION" ]
|
|
then
|
|
UHRZEIT=$(date --date="@$REALBAR" +"%H:%M")",$REALBARMS"
|
|
for((k=1; k<6; k++))
|
|
do
|
|
case $(echo "$UHRZEIT" | cut -b"$k") in
|
|
"0")
|
|
CHCHLOGOAA="$CHCHLOGOAA"" █████"
|
|
CHCHLOGOAB="$CHCHLOGOAB"" █ █"
|
|
CHCHLOGOAC="$CHCHLOGOAC"" █ █"
|
|
CHCHLOGOAD="$CHCHLOGOAD"" █ █"
|
|
CHCHLOGOAE="$CHCHLOGOAE"" █ █"
|
|
CHCHLOGOAF="$CHCHLOGOAF"" █████"
|
|
;;
|
|
"1")
|
|
CHCHLOGOAA="$CHCHLOGOAA"" █"
|
|
CHCHLOGOAB="$CHCHLOGOAB"" █"
|
|
CHCHLOGOAC="$CHCHLOGOAC"" █"
|
|
CHCHLOGOAD="$CHCHLOGOAD"" █"
|
|
CHCHLOGOAE="$CHCHLOGOAE"" █"
|
|
CHCHLOGOAF="$CHCHLOGOAF"" █"
|
|
;;
|
|
"2")
|
|
CHCHLOGOAA="$CHCHLOGOAA"" █████"
|
|
CHCHLOGOAB="$CHCHLOGOAB"" █"
|
|
CHCHLOGOAC="$CHCHLOGOAC"" ▄▄▄▄█"
|
|
CHCHLOGOAD="$CHCHLOGOAD"" █▀▀▀▀"
|
|
CHCHLOGOAE="$CHCHLOGOAE"" █ "
|
|
CHCHLOGOAF="$CHCHLOGOAF"" █████"
|
|
;;
|
|
"3")
|
|
CHCHLOGOAA="$CHCHLOGOAA"" █████"
|
|
CHCHLOGOAB="$CHCHLOGOAB"" █"
|
|
CHCHLOGOAC="$CHCHLOGOAC"" ▄▄▄▄█"
|
|
CHCHLOGOAD="$CHCHLOGOAD"" ▀▀▀▀█"
|
|
CHCHLOGOAE="$CHCHLOGOAE"" █"
|
|
CHCHLOGOAF="$CHCHLOGOAF"" █████"
|
|
;;
|
|
"4")
|
|
CHCHLOGOAA="$CHCHLOGOAA"" █ █"
|
|
CHCHLOGOAB="$CHCHLOGOAB"" █ █"
|
|
CHCHLOGOAC="$CHCHLOGOAC"" █▄▄▄█"
|
|
CHCHLOGOAD="$CHCHLOGOAD"" ▀▀▀▀█"
|
|
CHCHLOGOAE="$CHCHLOGOAE"" █"
|
|
CHCHLOGOAF="$CHCHLOGOAF"" █"
|
|
;;
|
|
"5")
|
|
CHCHLOGOAA="$CHCHLOGOAA"" █████"
|
|
CHCHLOGOAB="$CHCHLOGOAB"" █ "
|
|
CHCHLOGOAC="$CHCHLOGOAC"" █▄▄▄▄"
|
|
CHCHLOGOAD="$CHCHLOGOAD"" ▀▀▀▀█"
|
|
CHCHLOGOAE="$CHCHLOGOAE"" █"
|
|
CHCHLOGOAF="$CHCHLOGOAF"" █████"
|
|
;;
|
|
"6")
|
|
CHCHLOGOAA="$CHCHLOGOAA"" █████"
|
|
CHCHLOGOAB="$CHCHLOGOAB"" █ "
|
|
CHCHLOGOAC="$CHCHLOGOAC"" █▄▄▄▄"
|
|
CHCHLOGOAD="$CHCHLOGOAD"" █▀▀▀█"
|
|
CHCHLOGOAE="$CHCHLOGOAE"" █ █"
|
|
CHCHLOGOAF="$CHCHLOGOAF"" █████"
|
|
;;
|
|
"7")
|
|
CHCHLOGOAA="$CHCHLOGOAA"" █████"
|
|
CHCHLOGOAB="$CHCHLOGOAB"" █"
|
|
CHCHLOGOAC="$CHCHLOGOAC"" █"
|
|
CHCHLOGOAD="$CHCHLOGOAD"" █"
|
|
CHCHLOGOAE="$CHCHLOGOAE"" █"
|
|
CHCHLOGOAF="$CHCHLOGOAF"" █"
|
|
;;
|
|
"8")
|
|
CHCHLOGOAA="$CHCHLOGOAA"" █████"
|
|
CHCHLOGOAB="$CHCHLOGOAB"" █ █"
|
|
CHCHLOGOAC="$CHCHLOGOAC"" █▄▄▄█"
|
|
CHCHLOGOAD="$CHCHLOGOAD"" █▀▀▀█"
|
|
CHCHLOGOAE="$CHCHLOGOAE"" █ █"
|
|
CHCHLOGOAF="$CHCHLOGOAF"" █████"
|
|
;;
|
|
"9")
|
|
CHCHLOGOAA="$CHCHLOGOAA"" █████"
|
|
CHCHLOGOAB="$CHCHLOGOAB"" █ █"
|
|
CHCHLOGOAC="$CHCHLOGOAC"" █▄▄▄█"
|
|
CHCHLOGOAD="$CHCHLOGOAD"" ▀▀▀▀█"
|
|
CHCHLOGOAE="$CHCHLOGOAE"" █"
|
|
CHCHLOGOAF="$CHCHLOGOAF"" █████"
|
|
;;
|
|
":")
|
|
CHCHLOGOAA="$CHCHLOGOAA"" "
|
|
CHCHLOGOAB="$CHCHLOGOAB"" ███ "
|
|
CHCHLOGOAC="$CHCHLOGOAC"" ▀▀▀ "
|
|
CHCHLOGOAD="$CHCHLOGOAD"" ▄▄▄ "
|
|
CHCHLOGOAE="$CHCHLOGOAE"" ███ "
|
|
CHCHLOGOAF="$CHCHLOGOAF"" "
|
|
;;
|
|
*)
|
|
esac
|
|
done
|
|
CHCHLOGO="\\n\\n""$CHCHLOGOAA""\\n""$CHCHLOGOAB""\\n""$CHCHLOGOAC""\\n""$CHCHLOGOAD""\\n""$CHCHLOGOAE""\\n""$CHCHLOGOAF"
|
|
MYOUTPUT="$MYOUTPUT""$CHCHLOGO"
|
|
fi
|
|
|
|
# ohne dieses IFS trennt BASH an Space und erstellt damit zu viele Array-Felder
|
|
IFS='
|
|
'
|
|
DESTINATIONS=($(echo -n "$FOO" | jq -r '.destination'))
|
|
LINES=($(echo -n "$FOO" | jq -r '.line'))
|
|
ACDEPS=($(echo -n "$FOO" | jq -r '.actualDeparture'))
|
|
LINECOUNT=${#LINES[*]}
|
|
for((i=${#STANAME[$j]}; i<31; i++))
|
|
do
|
|
STANAME[$j]="${STANAME[$j]}"" "
|
|
done
|
|
MYOUTPUT="$MYOUTPUT"'\n\n\t\t┌────────────────────────────────┬─────────────────────────┐ \n\t\t│ '"${STANAME[$j]}"'│ '"$THISDATE"' │\n\t\t├────────────────────┬─────┬─────┴─────────────────────────┤\n'
|
|
for ((i=0; i<"$LINECOUNT"; i++))
|
|
do
|
|
for((k=${#LINES[$i]}; k<3 ; k++))
|
|
do
|
|
LINES[$i]=" ""${LINES[$i]}"
|
|
done
|
|
for((k=${#DESTINATIONS[$i]}; k<29 ; k++))
|
|
do
|
|
DESTINATIONS[$i]="${DESTINATIONS[$i]}"" "
|
|
done
|
|
MILLIS=$((${ACDEPS[$i]} - BAR))
|
|
if [ "$MILLIS" -lt 0 ]
|
|
then
|
|
MILLIS=0
|
|
fi
|
|
SEKS=$((MILLIS / 1000))
|
|
MILLIS=$((MILLIS % 1000))
|
|
MINS=$((SEKS / 60))
|
|
SEKS=$((SEKS % 60))
|
|
MINSSPACE=""
|
|
SEKSSPACE=""
|
|
MILLISSPACE=""
|
|
if [ "$MINS" -lt 100 ]
|
|
then
|
|
MINSSPACE=" "
|
|
fi
|
|
if [ "$MINS" -lt 10 ]
|
|
then
|
|
MINSSPACE=" "
|
|
fi
|
|
if [ "$SEKS" -lt 10 ]
|
|
then
|
|
SEKSSPACE=" "
|
|
fi
|
|
if [ "$MILLIS" -lt 100 ]
|
|
then
|
|
MILLISSPACE="0"
|
|
fi
|
|
if [ "$MILLIS" -lt 10 ]
|
|
then
|
|
MILLISSPACE="00"
|
|
fi
|
|
MYOUTPUT="$MYOUTPUT""\\t\\t│${MINSSPACE}${MINS} min ${SEKSSPACE}${SEKS},${MILLISSPACE}${MILLIS} s │ ${LINES[$i]} │ ${DESTINATIONS[$i]} │\\n"
|
|
done
|
|
MYOUTPUT="$MYOUTPUT"'\t\t└────────────────────┴─────┴───────────────────────────────┘'
|
|
done
|
|
if [ "$CHCHPOSITION" -eq "$NUMOFSTA" ]
|
|
then
|
|
UHRZEIT=$(date --date="@$REALBAR" +"%H:%M")",$REALBARMS"
|
|
for((k=1; k<6; k++))
|
|
do
|
|
case $(echo "$UHRZEIT" | cut -b"$k") in
|
|
"0")
|
|
CHCHLOGOAA="$CHCHLOGOAA"" █████"
|
|
CHCHLOGOAB="$CHCHLOGOAB"" █ █"
|
|
CHCHLOGOAC="$CHCHLOGOAC"" █ █"
|
|
CHCHLOGOAD="$CHCHLOGOAD"" █ █"
|
|
CHCHLOGOAE="$CHCHLOGOAE"" █ █"
|
|
CHCHLOGOAF="$CHCHLOGOAF"" █████"
|
|
;;
|
|
"1")
|
|
CHCHLOGOAA="$CHCHLOGOAA"" █"
|
|
CHCHLOGOAB="$CHCHLOGOAB"" █"
|
|
CHCHLOGOAC="$CHCHLOGOAC"" █"
|
|
CHCHLOGOAD="$CHCHLOGOAD"" █"
|
|
CHCHLOGOAE="$CHCHLOGOAE"" █"
|
|
CHCHLOGOAF="$CHCHLOGOAF"" █"
|
|
;;
|
|
"2")
|
|
CHCHLOGOAA="$CHCHLOGOAA"" █████"
|
|
CHCHLOGOAB="$CHCHLOGOAB"" █"
|
|
CHCHLOGOAC="$CHCHLOGOAC"" ▄▄▄▄█"
|
|
CHCHLOGOAD="$CHCHLOGOAD"" █▀▀▀▀"
|
|
CHCHLOGOAE="$CHCHLOGOAE"" █ "
|
|
CHCHLOGOAF="$CHCHLOGOAF"" █████"
|
|
;;
|
|
"3")
|
|
CHCHLOGOAA="$CHCHLOGOAA"" █████"
|
|
CHCHLOGOAB="$CHCHLOGOAB"" █"
|
|
CHCHLOGOAC="$CHCHLOGOAC"" ▄▄▄▄█"
|
|
CHCHLOGOAD="$CHCHLOGOAD"" ▀▀▀▀█"
|
|
CHCHLOGOAE="$CHCHLOGOAE"" █"
|
|
CHCHLOGOAF="$CHCHLOGOAF"" █████"
|
|
;;
|
|
"4")
|
|
CHCHLOGOAA="$CHCHLOGOAA"" █ █"
|
|
CHCHLOGOAB="$CHCHLOGOAB"" █ █"
|
|
CHCHLOGOAC="$CHCHLOGOAC"" █▄▄▄█"
|
|
CHCHLOGOAD="$CHCHLOGOAD"" ▀▀▀▀█"
|
|
CHCHLOGOAE="$CHCHLOGOAE"" █"
|
|
CHCHLOGOAF="$CHCHLOGOAF"" █"
|
|
;;
|
|
"5")
|
|
CHCHLOGOAA="$CHCHLOGOAA"" █████"
|
|
CHCHLOGOAB="$CHCHLOGOAB"" █ "
|
|
CHCHLOGOAC="$CHCHLOGOAC"" █▄▄▄▄"
|
|
CHCHLOGOAD="$CHCHLOGOAD"" ▀▀▀▀█"
|
|
CHCHLOGOAE="$CHCHLOGOAE"" █"
|
|
CHCHLOGOAF="$CHCHLOGOAF"" █████"
|
|
;;
|
|
"6")
|
|
CHCHLOGOAA="$CHCHLOGOAA"" █████"
|
|
CHCHLOGOAB="$CHCHLOGOAB"" █ "
|
|
CHCHLOGOAC="$CHCHLOGOAC"" █▄▄▄▄"
|
|
CHCHLOGOAD="$CHCHLOGOAD"" █▀▀▀█"
|
|
CHCHLOGOAE="$CHCHLOGOAE"" █ █"
|
|
CHCHLOGOAF="$CHCHLOGOAF"" █████"
|
|
;;
|
|
"7")
|
|
CHCHLOGOAA="$CHCHLOGOAA"" █████"
|
|
CHCHLOGOAB="$CHCHLOGOAB"" █"
|
|
CHCHLOGOAC="$CHCHLOGOAC"" █"
|
|
CHCHLOGOAD="$CHCHLOGOAD"" █"
|
|
CHCHLOGOAE="$CHCHLOGOAE"" █"
|
|
CHCHLOGOAF="$CHCHLOGOAF"" █"
|
|
;;
|
|
"8")
|
|
CHCHLOGOAA="$CHCHLOGOAA"" █████"
|
|
CHCHLOGOAB="$CHCHLOGOAB"" █ █"
|
|
CHCHLOGOAC="$CHCHLOGOAC"" █▄▄▄█"
|
|
CHCHLOGOAD="$CHCHLOGOAD"" █▀▀▀█"
|
|
CHCHLOGOAE="$CHCHLOGOAE"" █ █"
|
|
CHCHLOGOAF="$CHCHLOGOAF"" █████"
|
|
;;
|
|
"9")
|
|
CHCHLOGOAA="$CHCHLOGOAA"" █████"
|
|
CHCHLOGOAB="$CHCHLOGOAB"" █ █"
|
|
CHCHLOGOAC="$CHCHLOGOAC"" █▄▄▄█"
|
|
CHCHLOGOAD="$CHCHLOGOAD"" ▀▀▀▀█"
|
|
CHCHLOGOAE="$CHCHLOGOAE"" █"
|
|
CHCHLOGOAF="$CHCHLOGOAF"" █████"
|
|
;;
|
|
":")
|
|
CHCHLOGOAA="$CHCHLOGOAA"" "
|
|
CHCHLOGOAB="$CHCHLOGOAB"" ███ "
|
|
CHCHLOGOAC="$CHCHLOGOAC"" ▀▀▀ "
|
|
CHCHLOGOAD="$CHCHLOGOAD"" ▄▄▄ "
|
|
CHCHLOGOAE="$CHCHLOGOAE"" ███ "
|
|
CHCHLOGOAF="$CHCHLOGOAF"" "
|
|
;;
|
|
*)
|
|
esac
|
|
done
|
|
CHCHLOGO="\\n\\n""$CHCHLOGOAA""\\n""$CHCHLOGOAB""\\n""$CHCHLOGOAC""\\n""$CHCHLOGOAD""\\n""$CHCHLOGOAE""\\n""$CHCHLOGOAF"
|
|
MYOUTPUT="$MYOUTPUT""$CHCHLOGO"
|
|
fi
|
|
clear
|
|
#reset
|
|
echo -e "$MYOUTPUT"
|
|
|
|
fi
|
|
|
|
sleep 10
|
|
done
|