rearrange and rename further variables

This commit is contained in:
Florian Schlegel 2020-08-28 23:58:45 +02:00
parent 54fe2c2865
commit 0f55a5d0c7
1 changed files with 27 additions and 28 deletions

View File

@ -2,8 +2,8 @@
###### configuration ##### ###### configuration #####
# stations to display # stations to display
STATIONS[0]="18" STATION_ID[0]="18"
STATIONS[1]="202" STATION_ID[1]="202"
LOGO_L[ 0]="\\t\\t████████████████████████████████████████████████\\n" LOGO_L[ 0]="\\t\\t████████████████████████████████████████████████\\n"
LOGO_L[ 1]="\\t\\t██▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██\\n" LOGO_L[ 1]="\\t\\t██▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒██\\n"
@ -144,18 +144,18 @@ append_five_line_symbol()
get_cvag_station_name() get_cvag_station_name()
{ {
local -n _STANAME=$1 local -n _STATION_NAME=$1
local -n _STATIONS=$2 local -n _STATION_ID=$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 for ((i=0; i<${#_STATION_ID[*]}; i++)); do
case ${_STATIONS[$i]} in case ${_STATION_ID[$i]} in
''|*[!0-9]*) ''|*[!0-9]*)
_STANAME[$i]=$(echo -n "$COMPLETE_STATION_LIST" | jq -r '.stations | .[] | select(.displayName | contains("'"${_STATIONS[$i]}"'")) | .number') _STATION_NAME[$i]=$(echo -n "$COMPLETE_STATION_LIST" | jq -r '.stations | .[] | select(.displayName | contains("'"${_STATION_ID[$i]}"'")) | .number')
;; ;;
*) *)
_STANAME[$i]=$(echo -n "$COMPLETE_STATION_LIST" | jq -r '.stations | .[] | select(.number | contains('"${_STATIONS[$i]}"')) | .displayName') _STATION_NAME[$i]=$(echo -n "$COMPLETE_STATION_LIST" | jq -r '.stations | .[] | select(.number | contains('"${_STATION_ID[$i]}"')) | .displayName')
;; ;;
esac esac
done done
@ -174,22 +174,24 @@ draw_logo_time()
} }
LOGO_LINES_POSITION=0 LOGO_LINES_POSITION=0
STANAME=() STATION_NAME=()
while true; do while true; do
if ! ping -q -c1 chch.it>/dev/null; then if ! ping -q -c1 chch.it>/dev/null; then
echo -e "\\n\\n\\n\\tNo internet connection!" echo -e "\\n\\n\\n\\tNo internet connection!"
sleep 10 sleep 10
clear clear
else else
[ ${#STANAME[@]} -eq 0 ] && get_cvag_station_name STANAME STATIONS [ ${#STATION_NAME[@]} -eq 0 ] && get_cvag_station_name STATION_NAME STATION_ID
MYOUTPUT="\\n " MYOUTPUT="\\n "
for ((j=0; j<"${#STATIONS[*]}"; j++)); do for ((j=0; j<"${#STATION_ID[*]}"; 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-${STATION_ID[$j]})"
STATION_STOPS=$(echo "$STATION_SCHEDULE" | jq -r ".stops | .[]") STATION_STOPS=$(echo "$STATION_SCHEDULE" | jq -r ".stops | .[]")
STATION_NOW=$(echo "$STATION_SCHEDULE" | jq -r ".now") STATION_NOW=$(echo "$STATION_SCHEDULE" | jq -r ".now")
STATION_DESTINATIONS=($(echo -n "$STATION_STOPS" | jq -r '.destination'))
STATION_LINES=($(echo -n "$STATION_STOPS" | jq -r '.line'))
STATION_ACTUAL_DEPARTURE=($(echo -n "$STATION_STOPS" | jq -r '.actualDeparture'))
[ ${#STATION_NOW} -lt 1 ] && STATION_NOW="0" [ ${#STATION_NOW} -lt 1 ] && STATION_NOW="0"
REALSTATION_NOWMS=$(( "$STATION_NOW" % 1000 )) REALSTATION_NOWMS=$(( "$STATION_NOW" % 1000 ))
[ ${#REALSTATION_NOWMS} -lt 3 ] && REALSTATION_NOWMS="0""$REALSTATION_NOWMS" [ ${#REALSTATION_NOWMS} -lt 3 ] && REALSTATION_NOWMS="0""$REALSTATION_NOWMS"
@ -199,22 +201,19 @@ while true; do
# Wenn Logo gezeichnet werden soll, baue Urzeit ran und zeichne # Wenn Logo gezeichnet werden soll, baue Urzeit ran und zeichne
[ "$j" -eq "$LOGO_LINES_POSITION" ] && draw_logo_time MYOUTPUT $REALSTATION_NOW [ "$j" -eq "$LOGO_LINES_POSITION" ] && draw_logo_time MYOUTPUT $REALSTATION_NOW
DESTINATIONS=($(echo -n "$STATION_STOPS" | jq -r '.destination')) for((i=${#STATION_NAME[$j]}; i<31; i++)); do
LINES=($(echo -n "$STATION_STOPS" | jq -r '.line')) STATION_NAME[$j]="${STATION_NAME[$j]}"" "
ACDEPS=($(echo -n "$STATION_STOPS" | jq -r '.actualDeparture'))
LINECOUNT=${#LINES[*]}
for((i=${#STANAME[$j]}; i<31; i++)); do
STANAME[$j]="${STANAME[$j]}"" "
done done
MYOUTPUT="$MYOUTPUT"'\n\n\t\t┌────────────────────────────────┬─────────────────────────┐ \n\t\t│ '"${STANAME[$j]}"'│ '"$THISDATE"' │\n\t\t├────────────────────┬─────┬─────┴─────────────────────────┤\n' MYOUTPUT="$MYOUTPUT"'\n\n\t\t┌────────────────────────────────┬─────────────────────────┐ \n\t\t│ '"${STATION_NAME[$j]}"'│ '"$THISDATE"' │\n\t\t├────────────────────┬─────┬─────┴─────────────────────────┤\n'
LINECOUNT=${#STATION_LINES[*]}
for ((i=0; i<"$LINECOUNT"; i++)); do for ((i=0; i<"$LINECOUNT"; i++)); do
for((k=${#LINES[$i]}; k<3 ; k++)); do for((k=${#STATION_LINES[$i]}; k<3 ; k++)); do
LINES[$i]=" ""${LINES[$i]}" STATION_LINES[$i]=" ""${STATION_LINES[$i]}"
done done
for((k=${#DESTINATIONS[$i]}; k<29 ; k++)); do for((k=${#STATION_DESTINATIONS[$i]}; k<29 ; k++)); do
DESTINATIONS[$i]="${DESTINATIONS[$i]}"" " STATION_DESTINATIONS[$i]="${STATION_DESTINATIONS[$i]}"" "
done done
MILLIS=$((${ACDEPS[$i]} - STATION_NOW)) MILLIS=$((${STATION_ACTUAL_DEPARTURE[$i]} - STATION_NOW))
[ "$MILLIS" -lt 0 ] && MILLIS=0 [ "$MILLIS" -lt 0 ] && MILLIS=0
SEKS=$((MILLIS / 1000)); MILLIS=$((MILLIS % 1000)); MINS=$((SEKS / 60)); SEKS=$((SEKS % 60)) SEKS=$((MILLIS / 1000)); MILLIS=$((MILLIS % 1000)); MINS=$((SEKS / 60)); SEKS=$((SEKS % 60))
MINSSPACE=""; SEKSSPACE=""; MILLISSPACE="" MINSSPACE=""; SEKSSPACE=""; MILLISSPACE=""
@ -223,12 +222,12 @@ while true; do
[ "$SEKS" -lt 10 ] && SEKSSPACE=" " [ "$SEKS" -lt 10 ] && SEKSSPACE=" "
[ "$MILLIS" -lt 100 ] && MILLISSPACE="0" [ "$MILLIS" -lt 100 ] && MILLISSPACE="0"
[ "$MILLIS" -lt 10 ] && MILLISSPACE="00" [ "$MILLIS" -lt 10 ] && MILLISSPACE="00"
MYOUTPUT="$MYOUTPUT""\\t\\t│${MINSSPACE}${MINS} min ${SEKSSPACE}${SEKS},${MILLISSPACE}${MILLIS} s │ ${LINES[$i]}${DESTINATIONS[$i]} │\\n" MYOUTPUT="$MYOUTPUT""\\t\\t│${MINSSPACE}${MINS} min ${SEKSSPACE}${SEKS},${MILLISSPACE}${MILLIS} s │ ${STATION_LINES[$i]}${STATION_DESTINATIONS[$i]} │\\n"
done done
MYOUTPUT="$MYOUTPUT"'\t\t└────────────────────┴─────┴───────────────────────────────┘' MYOUTPUT="$MYOUTPUT"'\t\t└────────────────────┴─────┴───────────────────────────────┘'
done done
[ "$LOGO_LINES_POSITION" -eq "${#STATIONS[*]}" ] && draw_logo_time MYOUTPUT $REALSTATION_NOW [ "$LOGO_LINES_POSITION" -eq "${#STATION_ID[*]}" ] && draw_logo_time MYOUTPUT $REALSTATION_NOW
LOGO_LINES_POSITION=$(((LOGO_LINES_POSITION + 1) % (${#STATIONS[*]} + 1))) LOGO_LINES_POSITION=$(((LOGO_LINES_POSITION + 1) % (${#STATION_ID[*]} + 1)))
clear clear
#reset #reset
echo -e "$MYOUTPUT" echo -e "$MYOUTPUT"