commit early, commit often

This commit is contained in:
pi@abfahrt 2020-03-15 00:28:00 +01:00
parent a5919a902c
commit 295df2996f
1 changed files with 300 additions and 19 deletions

319
departure.sh Normal file → Executable file
View File

@ -1,10 +1,23 @@
#!/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 "no connection to the internet"
exit 1
fi
echo -e "\\n\\n\\n\\tNo internet connection!"
sleep 10
clear
# exit 1
else
STATIONS[0]="18"
STATIONS[1]="202"
@ -26,31 +39,194 @@ do
esac
done
MYOUTPUT=""
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'));
DESTINATIONS=($(echo -n "$FOO" | jq -r '.destination'))
LINES=($(echo -n "$FOO" | jq -r '.line'))
ACDEPS=($(echo -n "$FOO" | jq -r '.actualDeparture'))
LINECOUNT=${#LINES[*]}
MYOUTPUT="$MYOUTPUT"'\t+--------------------+\n\t| '"${STANAME[$j]}"'|\n\t+--------------------+-----+-------------------------------+\n'
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
MILLIS=$(expr "${ACDEPS[$i]}" - "$BAR")
SEKS=$(expr "$MILLIS" / 1000)
MILLIS=$(expr "$MILLIS" % 1000)
MINS=$(expr "$SEKS" / 60)
SEKS=$(expr "$SEKS" % 60)
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=""
@ -68,16 +244,121 @@ IFS='
fi
if [ "$MILLIS" -lt 100 ]
then
MILLISSPACE=" "
MILLISSPACE="0"
fi
if [ "$MILLIS" -lt 10 ]
then
MILLISSPACE=" "
MILLISSPACE="00"
fi
MYOUTPUT="$MYOUTPUT""\t|${MINSSPACE}${MINS} min ${SEKSSPACE}${SEKS} s ${MILLISSPACE}${MILLIS} ms | ${LINES[$i]} | ${DESTINATIONS[$i]} |\n"
MYOUTPUT="$MYOUTPUT""\\t\\t│${MINSSPACE}${MINS} min ${SEKSSPACE}${SEKS},${MILLISSPACE}${MILLIS} s │ ${LINES[$i]}${DESTINATIONS[$i]} │\\n"
done
MYOUTPUT="$MYOUTPUT"'\t+--------------------+-----+-------------------------------+\n'
MYOUTPUT="$MYOUTPUT"' \n'
MYOUTPUT="$MYOUTPUT"' \n'
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
echo -e "$MYOUTPUT"