insert logo and time after stations are prepared

This commit is contained in:
Florian Schlegel 2020-08-29 13:53:14 +02:00
parent b4df98ba32
commit f32622b8d4
1 changed files with 22 additions and 20 deletions

View File

@ -194,7 +194,7 @@ draw_logo_time()
for((k=1; k<6; k++)); do for((k=1; k<6; k++)); do
append_five_line_symbol LOGO_TIME "$(date --date="@$TIME" +"%H:%M" | cut -b"$k")" append_five_line_symbol LOGO_TIME "$(date --date="@$TIME" +"%H:%M" | cut -b"$k")"
done done
_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]}" _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 LOGO_LINES_POSITION=0
@ -206,34 +206,36 @@ while true; do
clear clear
else else
[ ${#STATION_NAME[@]} -eq 0 ] && get_cvag_station_name STATION_NAME STATION_ID [ ${#STATION_NAME[@]} -eq 0 ] && get_cvag_station_name STATION_NAME STATION_ID
MYOUTPUT="\\n " MYOUTPUT=()
MYOUTPUT[0]="\\n "
for ((j=0; j<"${#STATION_ID[*]}"; j++)); do for ((j=0; j<="${#STATION_ID[*]}"; j++)); do
if [ ! "$j" -eq "$LOGO_LINES_POSITION" ]; then
[ "$j" -gt "$LOGO_LINES_POSITION" ] && THIS_STATION_ID=$(($j-1)) || THIS_STATION_ID=$j
get_cvag_station_info $THIS_STATION_ID STATION_STOPS STATION_NOW STATION_DESTINATIONS STATION_LINES STATION_ACTUAL_DEPARTURE REALSTATION_NOW THISDATE
get_cvag_station_info $j STATION_STOPS STATION_NOW STATION_DESTINATIONS STATION_LINES STATION_ACTUAL_DEPARTURE REALSTATION_NOW THISDATE MYOUTPUT[$j]="${MYOUTPUT[$j]}\n\n\
# Wenn Logo gezeichnet werden soll, baue Urzeit ran und zeichne
[ "$j" -eq "$LOGO_LINES_POSITION" ] && draw_logo_time MYOUTPUT $REALSTATION_NOW # FIXME (should only be called once)
MYOUTPUT="$MYOUTPUT\n\n\
\t\t┌────────────────────────────────┬─────────────────────────┐ \n\ \t\t┌────────────────────────────────┬─────────────────────────┐ \n\
\t\t${STATION_NAME[$j]}$(printf "%-$((31-${#STATION_NAME[$j]}))s" "")$THISDATE\n\ \t\t${STATION_NAME[$THIS_STATION_ID]}$(printf "%-$((31-${#STATION_NAME[$THIS_STATION_ID]}))s" "")$THISDATE\n\
\t\t├────────────────────┬─────┬─────┴─────────────────────────┤\n" \t\t├────────────────────┬─────┬─────┴─────────────────────────┤\n"
for ((i=0; i<"${#STATION_LINES[*]}"; i++)); do for ((i=0; i<"${#STATION_LINES[*]}"; i++)); do
MILLIS=$((${STATION_ACTUAL_DEPARTURE[$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)) MYOUTPUT[$j]="${MYOUTPUT[$j]}\
MYOUTPUT="$MYOUTPUT\
\t\t$(printf "%-$((3-${#MINS}))s" "")$MINS min $(printf "%-$((2-${#SEKS}))s" "")$SEKS,$(printf "%03d" $MILLIS) s │ $(printf "%-$((3-${#STATION_LINES[$i]}))s" "")${STATION_LINES[$i]}${STATION_DESTINATIONS[$i]}$(printf "%-$((29-${#STATION_DESTINATIONS[$i]}))s" "")\\n" \t\t$(printf "%-$((3-${#MINS}))s" "")$MINS min $(printf "%-$((2-${#SEKS}))s" "")$SEKS,$(printf "%03d" $MILLIS) s │ $(printf "%-$((3-${#STATION_LINES[$i]}))s" "")${STATION_LINES[$i]}${STATION_DESTINATIONS[$i]}$(printf "%-$((29-${#STATION_DESTINATIONS[$i]}))s" "")\\n"
done done
MYOUTPUT="$MYOUTPUT\ MYOUTPUT[$j]="${MYOUTPUT[$j]}\
\t\t└────────────────────┴─────┴───────────────────────────────┘" \t\t└────────────────────┴─────┴───────────────────────────────┘"
fi
done done
[ "$LOGO_LINES_POSITION" -eq "${#STATION_ID[*]}" ] && draw_logo_time MYOUTPUT $REALSTATION_NOW # FIXME (should only be called once) draw_logo_time LOGO_AND_TIME $REALSTATION_NOW
MYOUTPUT[$LOGO_LINES_POSITION]="$LOGO_AND_TIME"
LOGO_LINES_POSITION=$(((LOGO_LINES_POSITION + 1) % (${#STATION_ID[*]} + 1))) LOGO_LINES_POSITION=$(((LOGO_LINES_POSITION + 1) % (${#STATION_ID[*]} + 1)))
clear clear
#reset for ((j=0; j<="${#STATION_ID[*]}"; j++)); do
echo -e "$MYOUTPUT" echo -e "${MYOUTPUT[$j]}"
done
fi fi
sleep 10 sleep 10
done done