minor rearrangement

This commit is contained in:
Florian Schlegel 2020-08-23 17:17:50 +02:00
parent 3160b97b20
commit 9509388968
1 changed files with 31 additions and 27 deletions

View File

@ -1,4 +1,13 @@
#!/bin/bash
###### configuration #####
# stations to display
STATIONS[0]="18"
STATIONS[1]="202"
##########################
if [ -z "$(which jq)" ]; then
printf "\\n\\n\\n\\tPackage \"jq\" required!"
@ -13,22 +22,20 @@ do_exit() {
}
tput civis # hide cursor
CHCHPOSITION=0
# CHCHLOGO_L="\\n \\n"
# CHCHLOGO_L="$CHCHLOGO_L""\\t\\t████████████████████████████████████████████████\\n"
# CHCHLOGO_L="$CHCHLOGO_L""\\t\\t██▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██\\n"
# CHCHLOGO_L="$CHCHLOGO_L""\\t\\t██▒▒████████████████████████████████████████▒▒██\\n"
# CHCHLOGO_L="$CHCHLOGO_L""\\t\\t██▒▒██████████▒▒██▒▒████████████▒▒██▒▒██████▒▒██\\n"
# CHCHLOGO_L="$CHCHLOGO_L""\\t\\t██▒▒████▒▒▒▒▒▒████▒▒██████▒▒▒▒▒▒████▒▒██████▒▒██\\n"
# CHCHLOGO_L="$CHCHLOGO_L""\\t\\t██▒▒████▒▒████████████▒▒██▒▒████████████▒▒██▒▒██\\n"
# CHCHLOGO_L="$CHCHLOGO_L""\\t\\t██▒▒████▒▒████████▒▒██▒▒██▒▒████████▒▒██▒▒██▒▒██\\n"
# CHCHLOGO_L="$CHCHLOGO_L""\\t\\t██▒▒██████████▒▒██▒▒██▒▒████████▒▒██▒▒██▒▒██▒▒██\\n"
# CHCHLOGO_L="$CHCHLOGO_L""\\t\\t██▒▒██▒▒▒▒▒▒▒▒██▒▒██▒▒██▒▒▒▒▒▒▒▒██▒▒██▒▒████▒▒██\\n"
# CHCHLOGO_L="$CHCHLOGO_L""\\t\\t██▒▒████████████████████████████████████████▒▒██\\n"
# CHCHLOGO_L="$CHCHLOGO_L""\\t\\t██▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██\\n"
# CHCHLOGO_L="$CHCHLOGO_L""\\t\\t████████████████████████████████████████████████"
# #CHCHLOGO_L="$CHCHLOGO_L""\\t\\t C H A O S C H E M N I T Z . D E\\n"
CHCHLOGO_L[ 0]="\\t\\t████████████████████████████████████████████████\\n"
CHCHLOGO_L[ 1]="\\t\\t██▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██\\n"
CHCHLOGO_L[ 2]="\\t\\t██▒▒████████████████████████████████████████▒▒██\\n"
CHCHLOGO_L[ 3]="\\t\\t██▒▒██████████▒▒██▒▒████████████▒▒██▒▒██████▒▒██\\n"
CHCHLOGO_L[ 4]="\\t\\t██▒▒████▒▒▒▒▒▒████▒▒██████▒▒▒▒▒▒████▒▒██████▒▒██\\n"
CHCHLOGO_L[ 5]="\\t\\t██▒▒████▒▒████████████▒▒██▒▒████████████▒▒██▒▒██\\n"
CHCHLOGO_L[ 6]="\\t\\t██▒▒████▒▒████████▒▒██▒▒██▒▒████████▒▒██▒▒██▒▒██\\n"
CHCHLOGO_L[ 7]="\\t\\t██▒▒██████████▒▒██▒▒██▒▒████████▒▒██▒▒██▒▒██▒▒██\\n"
CHCHLOGO_L[ 8]="\\t\\t██▒▒██▒▒▒▒▒▒▒▒██▒▒██▒▒██▒▒▒▒▒▒▒▒██▒▒██▒▒████▒▒██\\n"
CHCHLOGO_L[ 9]="\\t\\t██▒▒████████████████████████████████████████▒▒██\\n"
CHCHLOGO_L[10]="\\t\\t██▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██\\n"
CHCHLOGO_L[11]="\\t\\t████████████████████████████████████████████████\\n"
CHCHLOGO_L[12]="\\t\\t C H A O S C H E M N I T Z . D E \\n"
CHCHLOGO_S[0]="\\t\\t█▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀█ "
CHCHLOGO_S[1]="\\t\\t█ █████▀█▀██████▀█▀███ █ "
@ -138,7 +145,7 @@ get_cvag_station_name()
local -n _STANAME=$1
local -n _STATIONS=$2
COMPLETE_STATION_LIST=$(curl --connect-timeout 5 -s "http://www.cvag.de/eza/mis/stations?minLat=0&maxLat=100&minLon=0&maxLon=100")
COMPLETE_STATION_LIST="$(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]*)
@ -164,24 +171,21 @@ draw_logo_time()
_MYOUTPUT="$_MYOUTPUT""\\n\\n""${LOGO_TIME[0]}""\\n""${LOGO_TIME[1]}""\\n""${LOGO_TIME[2]}""\\n""${LOGO_TIME[3]}""\\n""${LOGO_TIME[4]}""\\n""${LOGO_TIME[5]}"
}
LOGO_LINES_POSITION=0
STANAME=()
NUMOFSTA=${#STATIONS[*]}
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[*]}
[ ${#STANAME[@]} -eq 0 ] && get_cvag_station_name STANAME STATIONS
MYOUTPUT="\\n "
CHCHPOSITION=$(((CHCHPOSITION + 1) % (NUMOFSTA + 1)))
[ ${#STANAME[@]} -eq 0 ] && get_cvag_station_name STANAME STATIONS
LOGO_LINES_POSITION=$(((LOGO_LINES_POSITION + 1) % (NUMOFSTA + 1)))
for ((j=0; j<"$NUMOFSTA"; j++)); do
STATION_SCHEDULE=$(curl --connect-timeout 5 -s http://cvag.de/eza/mis/stops/station/CAG-${STATIONS[$j]})
STATION_SCHEDULE="$(curl --connect-timeout 5 -s http://cvag.de/eza/mis/stops/station/CAG-${STATIONS[$j]})"
STATION_STOPS=$(echo "$STATION_SCHEDULE" | jq -r ".stops | .[]")
STATION_NOW=$(echo "$STATION_SCHEDULE" | jq -r ".now")
@ -193,7 +197,7 @@ while true; do
THISDATE=$(date --date="@$REALSTATION_NOW" +"%d.%m.%Y %T")",$REALSTATION_NOWMS"
# Wenn Logo gezeichnet werden soll, baue Urzeit ran und zeichne
[ "$j" -eq "$CHCHPOSITION" ] && draw_logo_time MYOUTPUT $REALSTATION_NOW
[ "$j" -eq "$LOGO_LINES_POSITION" ] && draw_logo_time MYOUTPUT $REALSTATION_NOW
# ohne dieses IFS trennt BASH an Space und erstellt damit zu viele Array-Felder
IFS='
@ -231,7 +235,7 @@ while true; do
done
MYOUTPUT="$MYOUTPUT"'\t\t└────────────────────┴─────┴───────────────────────────────┘'
done
[ "$CHCHPOSITION" -eq "$NUMOFSTA" ] && draw_logo_time MYOUTPUT $REALSTATION_NOW
[ "$LOGO_LINES_POSITION" -eq "$NUMOFSTA" ] && draw_logo_time MYOUTPUT $REALSTATION_NOW
clear
#reset
echo -e "$MYOUTPUT"