From 9509388968b680736685ecd6df7058feda1eb2cd Mon Sep 17 00:00:00 2001 From: Florian Schlegel Date: Sun, 23 Aug 2020 17:17:50 +0200 Subject: [PATCH] minor rearrangement --- departure.sh | 58 ++++++++++++++++++++++++++++------------------------ 1 file changed, 31 insertions(+), 27 deletions(-) diff --git a/departure.sh b/departure.sh index 4753d5c..31695a3 100755 --- a/departure.sh +++ b/departure.sh @@ -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"